1package servicefabric
2
3// Copyright (c) Microsoft and contributors.  All rights reserved.
4//
5// Licensed under the Apache License, Version 2.0 (the "License");
6// you may not use this file except in compliance with the License.
7// You may obtain a copy of the License at
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13//
14// See the License for the specific language governing permissions and
15// limitations under the License.
16//
17// Code generated by Microsoft (R) AutoRest Code Generator.
18// Changes may cause incorrect behavior and will be lost if the code is regenerated.
19
20import (
21	"encoding/json"
22	"github.com/Azure/go-autorest/autorest"
23	"github.com/Azure/go-autorest/autorest/date"
24	"github.com/satori/go.uuid"
25)
26
27// ApplicationDefinitionKind enumerates the values for application definition kind.
28type ApplicationDefinitionKind string
29
30const (
31	// Compose Indicates the application is defined by compose file(s). The value is 1.
32	Compose ApplicationDefinitionKind = "Compose"
33	// Invalid Indicates the application definition kind is invalid. All Service Fabric enumerations have the
34	// invalid type. The value is 65535.
35	Invalid ApplicationDefinitionKind = "Invalid"
36	// ServiceFabricApplicationDescription Indicates the application is defined by a Service Fabric application
37	// description. The value is 0.
38	ServiceFabricApplicationDescription ApplicationDefinitionKind = "ServiceFabricApplicationDescription"
39)
40
41// PossibleApplicationDefinitionKindValues returns an array of possible values for the ApplicationDefinitionKind const type.
42func PossibleApplicationDefinitionKindValues() []ApplicationDefinitionKind {
43	return []ApplicationDefinitionKind{Compose, Invalid, ServiceFabricApplicationDescription}
44}
45
46// ApplicationPackageCleanupPolicy enumerates the values for application package cleanup policy.
47type ApplicationPackageCleanupPolicy string
48
49const (
50	// ApplicationPackageCleanupPolicyAutomatic Indicates that the service fabric runtime determines when to do
51	// the application package cleanup. By default, cleanup is done on successful provision. The value is 2.
52	ApplicationPackageCleanupPolicyAutomatic ApplicationPackageCleanupPolicy = "Automatic"
53	// ApplicationPackageCleanupPolicyDefault Indicates that the cleanup policy of application packages is
54	// based on the cluster setting "CleanupApplicationPackageOnProvisionSuccess." The value is 1.
55	ApplicationPackageCleanupPolicyDefault ApplicationPackageCleanupPolicy = "Default"
56	// ApplicationPackageCleanupPolicyInvalid Indicates that the application package cleanup policy is invalid.
57	// This value is default. The value is zero.
58	ApplicationPackageCleanupPolicyInvalid ApplicationPackageCleanupPolicy = "Invalid"
59	// ApplicationPackageCleanupPolicyManual Indicates that the user has to explicitly clean up the application
60	// package. The value is 3.
61	ApplicationPackageCleanupPolicyManual ApplicationPackageCleanupPolicy = "Manual"
62)
63
64// PossibleApplicationPackageCleanupPolicyValues returns an array of possible values for the ApplicationPackageCleanupPolicy const type.
65func PossibleApplicationPackageCleanupPolicyValues() []ApplicationPackageCleanupPolicy {
66	return []ApplicationPackageCleanupPolicy{ApplicationPackageCleanupPolicyAutomatic, ApplicationPackageCleanupPolicyDefault, ApplicationPackageCleanupPolicyInvalid, ApplicationPackageCleanupPolicyManual}
67}
68
69// ApplicationStatus enumerates the values for application status.
70type ApplicationStatus string
71
72const (
73	// ApplicationStatusCreating Indicates the application status is creating. The value is 3.
74	ApplicationStatusCreating ApplicationStatus = "Creating"
75	// ApplicationStatusDeleting Indicates the application status is deleting. The value is 4.
76	ApplicationStatusDeleting ApplicationStatus = "Deleting"
77	// ApplicationStatusFailed Indicates the creation or deletion of application was terminated due to
78	// persistent failures. Another create/delete request can be accepted to resume a failed application. The
79	// value is 5.
80	ApplicationStatusFailed ApplicationStatus = "Failed"
81	// ApplicationStatusInvalid Indicates the application status is invalid. All Service Fabric enumerations
82	// have the invalid type. The value is zero.
83	ApplicationStatusInvalid ApplicationStatus = "Invalid"
84	// ApplicationStatusReady Indicates the application status is ready. The value is 1.
85	ApplicationStatusReady ApplicationStatus = "Ready"
86	// ApplicationStatusUpgrading Indicates the application status is upgrading. The value is 2.
87	ApplicationStatusUpgrading ApplicationStatus = "Upgrading"
88)
89
90// PossibleApplicationStatusValues returns an array of possible values for the ApplicationStatus const type.
91func PossibleApplicationStatusValues() []ApplicationStatus {
92	return []ApplicationStatus{ApplicationStatusCreating, ApplicationStatusDeleting, ApplicationStatusFailed, ApplicationStatusInvalid, ApplicationStatusReady, ApplicationStatusUpgrading}
93}
94
95// ApplicationTypeDefinitionKind enumerates the values for application type definition kind.
96type ApplicationTypeDefinitionKind string
97
98const (
99	// ApplicationTypeDefinitionKindCompose Indicates the application type is defined and created implicitly as
100	// part of a compose deployment. The value is 2.
101	ApplicationTypeDefinitionKindCompose ApplicationTypeDefinitionKind = "Compose"
102	// ApplicationTypeDefinitionKindInvalid Indicates the application type definition kind is invalid. All
103	// Service Fabric enumerations have the invalid type. The value is 0.
104	ApplicationTypeDefinitionKindInvalid ApplicationTypeDefinitionKind = "Invalid"
105	// ApplicationTypeDefinitionKindServiceFabricApplicationPackage Indicates the application type is defined
106	// and created by a Service Fabric application package provided by the user. The value is 1.
107	ApplicationTypeDefinitionKindServiceFabricApplicationPackage ApplicationTypeDefinitionKind = "ServiceFabricApplicationPackage"
108)
109
110// PossibleApplicationTypeDefinitionKindValues returns an array of possible values for the ApplicationTypeDefinitionKind const type.
111func PossibleApplicationTypeDefinitionKindValues() []ApplicationTypeDefinitionKind {
112	return []ApplicationTypeDefinitionKind{ApplicationTypeDefinitionKindCompose, ApplicationTypeDefinitionKindInvalid, ApplicationTypeDefinitionKindServiceFabricApplicationPackage}
113}
114
115// ApplicationTypeStatus enumerates the values for application type status.
116type ApplicationTypeStatus string
117
118const (
119	// ApplicationTypeStatusAvailable Indicates that the application type is fully provisioned and is available
120	// for use. An application of this type and version can be created. The value is 2.
121	ApplicationTypeStatusAvailable ApplicationTypeStatus = "Available"
122	// ApplicationTypeStatusFailed Indicates that the application type provisioning failed and it is
123	// unavailable for use. The failure details can be obtained from the application type information query.
124	// The failed application type information remains in the cluster until it is unprovisioned or
125	// reprovisioned successfully. The value is 4.
126	ApplicationTypeStatusFailed ApplicationTypeStatus = "Failed"
127	// ApplicationTypeStatusInvalid Indicates the application type status is invalid. All Service Fabric
128	// enumerations have the invalid type. The value is zero.
129	ApplicationTypeStatusInvalid ApplicationTypeStatus = "Invalid"
130	// ApplicationTypeStatusProvisioning Indicates that the application type is being provisioned in the
131	// cluster. The value is 1.
132	ApplicationTypeStatusProvisioning ApplicationTypeStatus = "Provisioning"
133	// ApplicationTypeStatusUnprovisioning Indicates that the application type is in process of being
134	// unprovisioned from the cluster. The value is 3.
135	ApplicationTypeStatusUnprovisioning ApplicationTypeStatus = "Unprovisioning"
136)
137
138// PossibleApplicationTypeStatusValues returns an array of possible values for the ApplicationTypeStatus const type.
139func PossibleApplicationTypeStatusValues() []ApplicationTypeStatus {
140	return []ApplicationTypeStatus{ApplicationTypeStatusAvailable, ApplicationTypeStatusFailed, ApplicationTypeStatusInvalid, ApplicationTypeStatusProvisioning, ApplicationTypeStatusUnprovisioning}
141}
142
143// BackupEntityKind enumerates the values for backup entity kind.
144type BackupEntityKind string
145
146const (
147	// BackupEntityKindApplication Indicates the entity is a Service Fabric application.
148	BackupEntityKindApplication BackupEntityKind = "Application"
149	// BackupEntityKindInvalid Indicates an invalid entity kind. All Service Fabric enumerations have the
150	// invalid type.
151	BackupEntityKindInvalid BackupEntityKind = "Invalid"
152	// BackupEntityKindPartition Indicates the entity is a Service Fabric partition.
153	BackupEntityKindPartition BackupEntityKind = "Partition"
154	// BackupEntityKindService Indicates the entity is a Service Fabric service.
155	BackupEntityKindService BackupEntityKind = "Service"
156)
157
158// PossibleBackupEntityKindValues returns an array of possible values for the BackupEntityKind const type.
159func PossibleBackupEntityKindValues() []BackupEntityKind {
160	return []BackupEntityKind{BackupEntityKindApplication, BackupEntityKindInvalid, BackupEntityKindPartition, BackupEntityKindService}
161}
162
163// BackupPolicyScope enumerates the values for backup policy scope.
164type BackupPolicyScope string
165
166const (
167	// BackupPolicyScopeApplication Indicates the backup policy is applied at application level. All services
168	// and partitions of the application inherit this policy unless explicitly overridden at service or
169	// partition level.
170	BackupPolicyScopeApplication BackupPolicyScope = "Application"
171	// BackupPolicyScopeInvalid Indicates an invalid backup policy scope type. All Service Fabric enumerations
172	// have the invalid type.
173	BackupPolicyScopeInvalid BackupPolicyScope = "Invalid"
174	// BackupPolicyScopePartition Indicates the backup policy is applied at partition level. Hence overriding
175	// any policy which may have applied at partition's service or application level.
176	BackupPolicyScopePartition BackupPolicyScope = "Partition"
177	// BackupPolicyScopeService Indicates the backup policy is applied at service level. All partitions of the
178	// service inherit this policy unless explicitly overridden at partition level.
179	BackupPolicyScopeService BackupPolicyScope = "Service"
180)
181
182// PossibleBackupPolicyScopeValues returns an array of possible values for the BackupPolicyScope const type.
183func PossibleBackupPolicyScopeValues() []BackupPolicyScope {
184	return []BackupPolicyScope{BackupPolicyScopeApplication, BackupPolicyScopeInvalid, BackupPolicyScopePartition, BackupPolicyScopeService}
185}
186
187// BackupScheduleFrequencyType enumerates the values for backup schedule frequency type.
188type BackupScheduleFrequencyType string
189
190const (
191	// BackupScheduleFrequencyTypeDaily Indicates that the time based backup schedule is repeated at a daily
192	// frequency.
193	BackupScheduleFrequencyTypeDaily BackupScheduleFrequencyType = "Daily"
194	// BackupScheduleFrequencyTypeInvalid Indicates an invalid backup schedule frequency type. All Service
195	// Fabric enumerations have the invalid type.
196	BackupScheduleFrequencyTypeInvalid BackupScheduleFrequencyType = "Invalid"
197	// BackupScheduleFrequencyTypeWeekly Indicates that the time based backup schedule is repeated at a weekly
198	// frequency.
199	BackupScheduleFrequencyTypeWeekly BackupScheduleFrequencyType = "Weekly"
200)
201
202// PossibleBackupScheduleFrequencyTypeValues returns an array of possible values for the BackupScheduleFrequencyType const type.
203func PossibleBackupScheduleFrequencyTypeValues() []BackupScheduleFrequencyType {
204	return []BackupScheduleFrequencyType{BackupScheduleFrequencyTypeDaily, BackupScheduleFrequencyTypeInvalid, BackupScheduleFrequencyTypeWeekly}
205}
206
207// BackupScheduleKind enumerates the values for backup schedule kind.
208type BackupScheduleKind string
209
210const (
211	// BackupScheduleKindFrequencyBased Indicates a frequency-based backup schedule.
212	BackupScheduleKindFrequencyBased BackupScheduleKind = "FrequencyBased"
213	// BackupScheduleKindInvalid Indicates an invalid backup schedule kind. All Service Fabric enumerations
214	// have the invalid type.
215	BackupScheduleKindInvalid BackupScheduleKind = "Invalid"
216	// BackupScheduleKindTimeBased Indicates a time-based backup schedule.
217	BackupScheduleKindTimeBased BackupScheduleKind = "TimeBased"
218)
219
220// PossibleBackupScheduleKindValues returns an array of possible values for the BackupScheduleKind const type.
221func PossibleBackupScheduleKindValues() []BackupScheduleKind {
222	return []BackupScheduleKind{BackupScheduleKindFrequencyBased, BackupScheduleKindInvalid, BackupScheduleKindTimeBased}
223}
224
225// BackupState enumerates the values for backup state.
226type BackupState string
227
228const (
229	// BackupStateAccepted Operation has been validated and accepted. Backup is yet to be triggered.
230	BackupStateAccepted BackupState = "Accepted"
231	// BackupStateBackupInProgress Backup operation has been triggered and is under process.
232	BackupStateBackupInProgress BackupState = "BackupInProgress"
233	// BackupStateFailure Operation completed with failure.
234	BackupStateFailure BackupState = "Failure"
235	// BackupStateInvalid Indicates an invalid backup state. All Service Fabric enumerations have the invalid
236	// type.
237	BackupStateInvalid BackupState = "Invalid"
238	// BackupStateSuccess Operation completed with success.
239	BackupStateSuccess BackupState = "Success"
240	// BackupStateTimeout Operation timed out.
241	BackupStateTimeout BackupState = "Timeout"
242)
243
244// PossibleBackupStateValues returns an array of possible values for the BackupState const type.
245func PossibleBackupStateValues() []BackupState {
246	return []BackupState{BackupStateAccepted, BackupStateBackupInProgress, BackupStateFailure, BackupStateInvalid, BackupStateSuccess, BackupStateTimeout}
247}
248
249// BackupStorageKind enumerates the values for backup storage kind.
250type BackupStorageKind string
251
252const (
253	// BackupStorageKindAzureBlobStore Indicates Azure blob store to be used as backup storage.
254	BackupStorageKindAzureBlobStore BackupStorageKind = "AzureBlobStore"
255	// BackupStorageKindFileShare Indicates file/ SMB share to be used as backup storage.
256	BackupStorageKindFileShare BackupStorageKind = "FileShare"
257	// BackupStorageKindInvalid Indicates an invalid backup storage kind. All Service Fabric enumerations have
258	// the invalid type.
259	BackupStorageKindInvalid BackupStorageKind = "Invalid"
260)
261
262// PossibleBackupStorageKindValues returns an array of possible values for the BackupStorageKind const type.
263func PossibleBackupStorageKindValues() []BackupStorageKind {
264	return []BackupStorageKind{BackupStorageKindAzureBlobStore, BackupStorageKindFileShare, BackupStorageKindInvalid}
265}
266
267// BackupSuspensionScope enumerates the values for backup suspension scope.
268type BackupSuspensionScope string
269
270const (
271	// BackupSuspensionScopeApplication Indicates the backup suspension is applied at application level. All
272	// services and partitions of the application are hence suspended for backup.
273	BackupSuspensionScopeApplication BackupSuspensionScope = "Application"
274	// BackupSuspensionScopeInvalid Indicates an invalid backup suspension scope type also indicating entity is
275	// not suspended. All Service Fabric enumerations have the invalid type.
276	BackupSuspensionScopeInvalid BackupSuspensionScope = "Invalid"
277	// BackupSuspensionScopePartition Indicates the backup suspension is applied at partition level.
278	BackupSuspensionScopePartition BackupSuspensionScope = "Partition"
279	// BackupSuspensionScopeService Indicates the backup suspension is applied at service level. All partitions
280	// of the service are hence suspended for backup.
281	BackupSuspensionScopeService BackupSuspensionScope = "Service"
282)
283
284// PossibleBackupSuspensionScopeValues returns an array of possible values for the BackupSuspensionScope const type.
285func PossibleBackupSuspensionScopeValues() []BackupSuspensionScope {
286	return []BackupSuspensionScope{BackupSuspensionScopeApplication, BackupSuspensionScopeInvalid, BackupSuspensionScopePartition, BackupSuspensionScopeService}
287}
288
289// BackupType enumerates the values for backup type.
290type BackupType string
291
292const (
293	// BackupTypeFull Indicates a full backup.
294	BackupTypeFull BackupType = "Full"
295	// BackupTypeIncremental Indicates an incremental backup. A backup chain is comprised of a full backup
296	// followed by 0 or more incremental backups.
297	BackupTypeIncremental BackupType = "Incremental"
298	// BackupTypeInvalid Indicates an invalid backup type. All Service Fabric enumerations have the invalid
299	// type.
300	BackupTypeInvalid BackupType = "Invalid"
301)
302
303// PossibleBackupTypeValues returns an array of possible values for the BackupType const type.
304func PossibleBackupTypeValues() []BackupType {
305	return []BackupType{BackupTypeFull, BackupTypeIncremental, BackupTypeInvalid}
306}
307
308// ChaosEventKind enumerates the values for chaos event kind.
309type ChaosEventKind string
310
311const (
312	// ChaosEventKindExecutingFaults Indicates a Chaos event that gets generated when Chaos has decided on the
313	// faults for an iteration. This Chaos event contains the details of the faults as a list of strings.
314	ChaosEventKindExecutingFaults ChaosEventKind = "ExecutingFaults"
315	// ChaosEventKindInvalid Indicates an invalid Chaos event kind. All Service Fabric enumerations have the
316	// invalid type.
317	ChaosEventKindInvalid ChaosEventKind = "Invalid"
318	// ChaosEventKindStarted Indicates a Chaos event that gets generated when Chaos is started.
319	ChaosEventKindStarted ChaosEventKind = "Started"
320	// ChaosEventKindStopped Indicates a Chaos event that gets generated when Chaos stops because either the
321	// user issued a stop or the time to run was up.
322	ChaosEventKindStopped ChaosEventKind = "Stopped"
323	// ChaosEventKindTestError Indicates a Chaos event that gets generated when an unexpected event has
324	// occurred in the Chaos engine, for example, due to the cluster snapshot being inconsistent, while
325	// faulting a faultable entity Chaos found that the entity was already faulted.
326	ChaosEventKindTestError ChaosEventKind = "TestError"
327	// ChaosEventKindValidationFailed Indicates a Chaos event that gets generated when the cluster entities do
328	// not become stable and healthy within ChaosParameters.MaxClusterStabilizationTimeoutInSeconds.
329	ChaosEventKindValidationFailed ChaosEventKind = "ValidationFailed"
330	// ChaosEventKindWaiting Indicates a Chaos event that gets generated when Chaos is waiting for the cluster
331	// to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.
332	ChaosEventKindWaiting ChaosEventKind = "Waiting"
333)
334
335// PossibleChaosEventKindValues returns an array of possible values for the ChaosEventKind const type.
336func PossibleChaosEventKindValues() []ChaosEventKind {
337	return []ChaosEventKind{ChaosEventKindExecutingFaults, ChaosEventKindInvalid, ChaosEventKindStarted, ChaosEventKindStopped, ChaosEventKindTestError, ChaosEventKindValidationFailed, ChaosEventKindWaiting}
338}
339
340// ChaosScheduleStatus enumerates the values for chaos schedule status.
341type ChaosScheduleStatus string
342
343const (
344	// ChaosScheduleStatusActive Indicates that the schedule is active and is being used to schedule runs of
345	// Chaos. The value is two.
346	ChaosScheduleStatusActive ChaosScheduleStatus = "Active"
347	// ChaosScheduleStatusExpired Indicates that the schedule is expired and will no longer be used to schedule
348	// runs of Chaos. The value is three.
349	ChaosScheduleStatusExpired ChaosScheduleStatus = "Expired"
350	// ChaosScheduleStatusInvalid Indicates an invalid Chaos Schedule status. All Service Fabric enumerations
351	// have the invalid type. The valus is zero.
352	ChaosScheduleStatusInvalid ChaosScheduleStatus = "Invalid"
353	// ChaosScheduleStatusPending Indicates that the schedule is pending and is not yet being used to schedule
354	// runs of Chaos but will be used when the start time is passed. The value is four.
355	ChaosScheduleStatusPending ChaosScheduleStatus = "Pending"
356	// ChaosScheduleStatusStopped Indicates that the schedule is stopped and not being used to schedule runs of
357	// chaos. The value is one.
358	ChaosScheduleStatusStopped ChaosScheduleStatus = "Stopped"
359)
360
361// PossibleChaosScheduleStatusValues returns an array of possible values for the ChaosScheduleStatus const type.
362func PossibleChaosScheduleStatusValues() []ChaosScheduleStatus {
363	return []ChaosScheduleStatus{ChaosScheduleStatusActive, ChaosScheduleStatusExpired, ChaosScheduleStatusInvalid, ChaosScheduleStatusPending, ChaosScheduleStatusStopped}
364}
365
366// ChaosStatus enumerates the values for chaos status.
367type ChaosStatus string
368
369const (
370	// ChaosStatusInvalid Indicates an invalid Chaos status. All Service Fabric enumerations have the invalid
371	// type. The valus is zero.
372	ChaosStatusInvalid ChaosStatus = "Invalid"
373	// ChaosStatusRunning Indicates that Chaos is not stopped. The value is one.
374	ChaosStatusRunning ChaosStatus = "Running"
375	// ChaosStatusStopped Indicates that Chaos is not scheduling further faults. The value is two.
376	ChaosStatusStopped ChaosStatus = "Stopped"
377)
378
379// PossibleChaosStatusValues returns an array of possible values for the ChaosStatus const type.
380func PossibleChaosStatusValues() []ChaosStatus {
381	return []ChaosStatus{ChaosStatusInvalid, ChaosStatusRunning, ChaosStatusStopped}
382}
383
384// ComposeDeploymentStatus enumerates the values for compose deployment status.
385type ComposeDeploymentStatus string
386
387const (
388	// ComposeDeploymentStatusCreating Indicates that the compose deployment is being created in background.
389	// The value is 2.
390	ComposeDeploymentStatusCreating ComposeDeploymentStatus = "Creating"
391	// ComposeDeploymentStatusDeleting Indicates that the compose deployment is being deleted in background.
392	// The value is 5.
393	ComposeDeploymentStatusDeleting ComposeDeploymentStatus = "Deleting"
394	// ComposeDeploymentStatusFailed Indicates that the compose deployment was terminated due to persistent
395	// failures. The value is 6.
396	ComposeDeploymentStatusFailed ComposeDeploymentStatus = "Failed"
397	// ComposeDeploymentStatusInvalid Indicates that the compose deployment status is invalid. The value is
398	// zero.
399	ComposeDeploymentStatusInvalid ComposeDeploymentStatus = "Invalid"
400	// ComposeDeploymentStatusProvisioning Indicates that the compose deployment is being provisioned in
401	// background. The value is 1.
402	ComposeDeploymentStatusProvisioning ComposeDeploymentStatus = "Provisioning"
403	// ComposeDeploymentStatusReady Indicates that the compose deployment has been successfully created or
404	// upgraded. The value is 3.
405	ComposeDeploymentStatusReady ComposeDeploymentStatus = "Ready"
406	// ComposeDeploymentStatusUnprovisioning Indicates that the compose deployment is being unprovisioned in
407	// background. The value is 4.
408	ComposeDeploymentStatusUnprovisioning ComposeDeploymentStatus = "Unprovisioning"
409	// ComposeDeploymentStatusUpgrading Indicates that the compose deployment is being upgraded in the
410	// background. The value is 7.
411	ComposeDeploymentStatusUpgrading ComposeDeploymentStatus = "Upgrading"
412)
413
414// PossibleComposeDeploymentStatusValues returns an array of possible values for the ComposeDeploymentStatus const type.
415func PossibleComposeDeploymentStatusValues() []ComposeDeploymentStatus {
416	return []ComposeDeploymentStatus{ComposeDeploymentStatusCreating, ComposeDeploymentStatusDeleting, ComposeDeploymentStatusFailed, ComposeDeploymentStatusInvalid, ComposeDeploymentStatusProvisioning, ComposeDeploymentStatusReady, ComposeDeploymentStatusUnprovisioning, ComposeDeploymentStatusUpgrading}
417}
418
419// ComposeDeploymentUpgradeState enumerates the values for compose deployment upgrade state.
420type ComposeDeploymentUpgradeState string
421
422const (
423	// ComposeDeploymentUpgradeStateFailed The upgrade has failed and is unable to execute FailureAction. The
424	// value is 9.
425	ComposeDeploymentUpgradeStateFailed ComposeDeploymentUpgradeState = "Failed"
426	// ComposeDeploymentUpgradeStateInvalid Indicates the upgrade state is invalid. All Service Fabric
427	// enumerations have the invalid type. The value is zero.
428	ComposeDeploymentUpgradeStateInvalid ComposeDeploymentUpgradeState = "Invalid"
429	// ComposeDeploymentUpgradeStateProvisioningTarget The upgrade is in the progress of provisioning target
430	// application type version. The value is 1.
431	ComposeDeploymentUpgradeStateProvisioningTarget ComposeDeploymentUpgradeState = "ProvisioningTarget"
432	// ComposeDeploymentUpgradeStateRollingBackCompleted The upgrade has finished rolling back. The value is 8.
433	ComposeDeploymentUpgradeStateRollingBackCompleted ComposeDeploymentUpgradeState = "RollingBackCompleted"
434	// ComposeDeploymentUpgradeStateRollingBackInProgress The upgrade is rolling back to the previous version
435	// but is not complete yet. The value is 6.
436	ComposeDeploymentUpgradeStateRollingBackInProgress ComposeDeploymentUpgradeState = "RollingBackInProgress"
437	// ComposeDeploymentUpgradeStateRollingForwardCompleted The upgrade has finished rolling forward. The value
438	// is 5.
439	ComposeDeploymentUpgradeStateRollingForwardCompleted ComposeDeploymentUpgradeState = "RollingForwardCompleted"
440	// ComposeDeploymentUpgradeStateRollingForwardInProgress The upgrade is rolling forward to the target
441	// version but is not complete yet. The value is 2.
442	ComposeDeploymentUpgradeStateRollingForwardInProgress ComposeDeploymentUpgradeState = "RollingForwardInProgress"
443	// ComposeDeploymentUpgradeStateRollingForwardPending The current upgrade domain has finished upgrading.
444	// The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing
445	// health checks in Monitored mode. The value is 3
446	ComposeDeploymentUpgradeStateRollingForwardPending ComposeDeploymentUpgradeState = "RollingForwardPending"
447	// ComposeDeploymentUpgradeStateUnprovisioningCurrent The upgrade is in the progress of unprovisioning
448	// current application type version and rolling forward to the target version is completed. The value is 4.
449	ComposeDeploymentUpgradeStateUnprovisioningCurrent ComposeDeploymentUpgradeState = "UnprovisioningCurrent"
450	// ComposeDeploymentUpgradeStateUnprovisioningTarget The upgrade is in the progress of unprovisioning
451	// target application type version and rolling back to the current version is completed. The value is 7.
452	ComposeDeploymentUpgradeStateUnprovisioningTarget ComposeDeploymentUpgradeState = "UnprovisioningTarget"
453)
454
455// PossibleComposeDeploymentUpgradeStateValues returns an array of possible values for the ComposeDeploymentUpgradeState const type.
456func PossibleComposeDeploymentUpgradeStateValues() []ComposeDeploymentUpgradeState {
457	return []ComposeDeploymentUpgradeState{ComposeDeploymentUpgradeStateFailed, ComposeDeploymentUpgradeStateInvalid, ComposeDeploymentUpgradeStateProvisioningTarget, ComposeDeploymentUpgradeStateRollingBackCompleted, ComposeDeploymentUpgradeStateRollingBackInProgress, ComposeDeploymentUpgradeStateRollingForwardCompleted, ComposeDeploymentUpgradeStateRollingForwardInProgress, ComposeDeploymentUpgradeStateRollingForwardPending, ComposeDeploymentUpgradeStateUnprovisioningCurrent, ComposeDeploymentUpgradeStateUnprovisioningTarget}
458}
459
460// CreateFabricDump enumerates the values for create fabric dump.
461type CreateFabricDump string
462
463const (
464	// False ...
465	False CreateFabricDump = "False"
466	// True ...
467	True CreateFabricDump = "True"
468)
469
470// PossibleCreateFabricDumpValues returns an array of possible values for the CreateFabricDump const type.
471func PossibleCreateFabricDumpValues() []CreateFabricDump {
472	return []CreateFabricDump{False, True}
473}
474
475// DataLossMode enumerates the values for data loss mode.
476type DataLossMode string
477
478const (
479	// DataLossModeFullDataLoss FullDataLoss option will drop all the replicas which means that all the data
480	// will be lost.
481	DataLossModeFullDataLoss DataLossMode = "FullDataLoss"
482	// DataLossModeInvalid Reserved.  Do not pass into API.
483	DataLossModeInvalid DataLossMode = "Invalid"
484	// DataLossModePartialDataLoss PartialDataLoss option will cause a quorum of replicas to go down,
485	// triggering an OnDataLoss event in the system for the given partition.
486	DataLossModePartialDataLoss DataLossMode = "PartialDataLoss"
487)
488
489// PossibleDataLossModeValues returns an array of possible values for the DataLossMode const type.
490func PossibleDataLossModeValues() []DataLossMode {
491	return []DataLossMode{DataLossModeFullDataLoss, DataLossModeInvalid, DataLossModePartialDataLoss}
492}
493
494// DayOfWeek enumerates the values for day of week.
495type DayOfWeek string
496
497const (
498	// Friday Indicates the Day referred is Friday.
499	Friday DayOfWeek = "Friday"
500	// Monday Indicates the Day referred is Monday.
501	Monday DayOfWeek = "Monday"
502	// Saturday Indicates the Day referred is Saturday.
503	Saturday DayOfWeek = "Saturday"
504	// Sunday Indicates the Day referred is Sunday.
505	Sunday DayOfWeek = "Sunday"
506	// Thursday Indicates the Day referred is Thursday.
507	Thursday DayOfWeek = "Thursday"
508	// Tuesday Indicates the Day referred is Tuesday.
509	Tuesday DayOfWeek = "Tuesday"
510	// Wednesday Indicates the Day referred is Wednesday.
511	Wednesday DayOfWeek = "Wednesday"
512)
513
514// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type.
515func PossibleDayOfWeekValues() []DayOfWeek {
516	return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday}
517}
518
519// DeactivationIntent enumerates the values for deactivation intent.
520type DeactivationIntent string
521
522const (
523	// Pause Indicates that the node should be paused. The value is 1.
524	Pause DeactivationIntent = "Pause"
525	// RemoveData Indicates the intent is for the node to remove data. The value is 3.
526	RemoveData DeactivationIntent = "RemoveData"
527	// Restart Indicates that the intent is for the node to be restarted after a short period of time. The
528	// value is 2.
529	Restart DeactivationIntent = "Restart"
530)
531
532// PossibleDeactivationIntentValues returns an array of possible values for the DeactivationIntent const type.
533func PossibleDeactivationIntentValues() []DeactivationIntent {
534	return []DeactivationIntent{Pause, RemoveData, Restart}
535}
536
537// DeployedApplicationStatus enumerates the values for deployed application status.
538type DeployedApplicationStatus string
539
540const (
541	// DeployedApplicationStatusActivating Indicates that the package is activating. The value is 2.
542	DeployedApplicationStatusActivating DeployedApplicationStatus = "Activating"
543	// DeployedApplicationStatusActive Indicates that the package is active. The value is 3.
544	DeployedApplicationStatusActive DeployedApplicationStatus = "Active"
545	// DeployedApplicationStatusDeactivating Indicates that the package is deactivating. The value is 5.
546	DeployedApplicationStatusDeactivating DeployedApplicationStatus = "Deactivating"
547	// DeployedApplicationStatusDownloading Indicates that the package is downloading from the ImageStore. The
548	// value is 1.
549	DeployedApplicationStatusDownloading DeployedApplicationStatus = "Downloading"
550	// DeployedApplicationStatusInvalid Indicates that deployment status is not valid. All Service Fabric
551	// enumerations have the invalid type. The value is zero.
552	DeployedApplicationStatusInvalid DeployedApplicationStatus = "Invalid"
553	// DeployedApplicationStatusUpgrading Indicates that the package is upgrading. The value is 4.
554	DeployedApplicationStatusUpgrading DeployedApplicationStatus = "Upgrading"
555)
556
557// PossibleDeployedApplicationStatusValues returns an array of possible values for the DeployedApplicationStatus const type.
558func PossibleDeployedApplicationStatusValues() []DeployedApplicationStatus {
559	return []DeployedApplicationStatus{DeployedApplicationStatusActivating, DeployedApplicationStatusActive, DeployedApplicationStatusDeactivating, DeployedApplicationStatusDownloading, DeployedApplicationStatusInvalid, DeployedApplicationStatusUpgrading}
560}
561
562// DeploymentStatus enumerates the values for deployment status.
563type DeploymentStatus string
564
565const (
566	// DeploymentStatusActivating Indicates the application or service package is being activated. The value is
567	// 2.
568	DeploymentStatusActivating DeploymentStatus = "Activating"
569	// DeploymentStatusActive Indicates the application or service package is active the node. The value is 3.
570	DeploymentStatusActive DeploymentStatus = "Active"
571	// DeploymentStatusDeactivating Indicates the application or service package is being deactivated. The
572	// value is 5.
573	DeploymentStatusDeactivating DeploymentStatus = "Deactivating"
574	// DeploymentStatusDownloading Indicates the application or service package is being downloaded to the node
575	// from the ImageStore. The value is 1.
576	DeploymentStatusDownloading DeploymentStatus = "Downloading"
577	// DeploymentStatusInvalid Indicates status of the application or service package is not known or invalid.
578	// The value is 0.
579	DeploymentStatusInvalid DeploymentStatus = "Invalid"
580	// DeploymentStatusUpgrading Indicates the application or service package is being upgraded. The value is
581	// 4.
582	DeploymentStatusUpgrading DeploymentStatus = "Upgrading"
583)
584
585// PossibleDeploymentStatusValues returns an array of possible values for the DeploymentStatus const type.
586func PossibleDeploymentStatusValues() []DeploymentStatus {
587	return []DeploymentStatus{DeploymentStatusActivating, DeploymentStatusActive, DeploymentStatusDeactivating, DeploymentStatusDownloading, DeploymentStatusInvalid, DeploymentStatusUpgrading}
588}
589
590// EntityKind enumerates the values for entity kind.
591type EntityKind string
592
593const (
594	// EntityKindApplication Indicates the entity is a Service Fabric application. The value is 4.
595	EntityKindApplication EntityKind = "Application"
596	// EntityKindCluster Indicates the entity is a Service Fabric cluster. The value is 8.
597	EntityKindCluster EntityKind = "Cluster"
598	// EntityKindDeployedApplication Indicates the entity is a Service Fabric deployed application. The value
599	// is 6.
600	EntityKindDeployedApplication EntityKind = "DeployedApplication"
601	// EntityKindDeployedServicePackage Indicates the entity is a Service Fabric deployed service package. The
602	// value is 7.
603	EntityKindDeployedServicePackage EntityKind = "DeployedServicePackage"
604	// EntityKindInvalid Indicates an invalid entity kind. All Service Fabric enumerations have the invalid
605	// type. The value is zero.
606	EntityKindInvalid EntityKind = "Invalid"
607	// EntityKindNode Indicates the entity is a Service Fabric node. The value is 1.
608	EntityKindNode EntityKind = "Node"
609	// EntityKindPartition Indicates the entity is a Service Fabric partition. The value is 2.
610	EntityKindPartition EntityKind = "Partition"
611	// EntityKindReplica Indicates the entity is a Service Fabric replica. The value is 5.
612	EntityKindReplica EntityKind = "Replica"
613	// EntityKindService Indicates the entity is a Service Fabric service. The value is 3.
614	EntityKindService EntityKind = "Service"
615)
616
617// PossibleEntityKindValues returns an array of possible values for the EntityKind const type.
618func PossibleEntityKindValues() []EntityKind {
619	return []EntityKind{EntityKindApplication, EntityKindCluster, EntityKindDeployedApplication, EntityKindDeployedServicePackage, EntityKindInvalid, EntityKindNode, EntityKindPartition, EntityKindReplica, EntityKindService}
620}
621
622// EntityKindBasicBackupEntity enumerates the values for entity kind basic backup entity.
623type EntityKindBasicBackupEntity string
624
625const (
626	// EntityKindApplication1 ...
627	EntityKindApplication1 EntityKindBasicBackupEntity = "Application"
628	// EntityKindBackupEntity ...
629	EntityKindBackupEntity EntityKindBasicBackupEntity = "BackupEntity"
630	// EntityKindPartition1 ...
631	EntityKindPartition1 EntityKindBasicBackupEntity = "Partition"
632	// EntityKindService1 ...
633	EntityKindService1 EntityKindBasicBackupEntity = "Service"
634)
635
636// PossibleEntityKindBasicBackupEntityValues returns an array of possible values for the EntityKindBasicBackupEntity const type.
637func PossibleEntityKindBasicBackupEntityValues() []EntityKindBasicBackupEntity {
638	return []EntityKindBasicBackupEntity{EntityKindApplication1, EntityKindBackupEntity, EntityKindPartition1, EntityKindService1}
639}
640
641// EntryPointStatus enumerates the values for entry point status.
642type EntryPointStatus string
643
644const (
645	// EntryPointStatusInvalid Indicates status of entry point is not known or invalid. The value is 0.
646	EntryPointStatusInvalid EntryPointStatus = "Invalid"
647	// EntryPointStatusPending Indicates the entry point is scheduled to be started. The value is 1.
648	EntryPointStatusPending EntryPointStatus = "Pending"
649	// EntryPointStatusStarted Indicates the entry point was started successfully and is running. The value is
650	// 3.
651	EntryPointStatusStarted EntryPointStatus = "Started"
652	// EntryPointStatusStarting Indicates the entry point is being started. The value is 2.
653	EntryPointStatusStarting EntryPointStatus = "Starting"
654	// EntryPointStatusStopped Indicates the entry point is not running. The value is 5.
655	EntryPointStatusStopped EntryPointStatus = "Stopped"
656	// EntryPointStatusStopping Indicates the entry point is being stopped. The value is 4.
657	EntryPointStatusStopping EntryPointStatus = "Stopping"
658)
659
660// PossibleEntryPointStatusValues returns an array of possible values for the EntryPointStatus const type.
661func PossibleEntryPointStatusValues() []EntryPointStatus {
662	return []EntryPointStatus{EntryPointStatusInvalid, EntryPointStatusPending, EntryPointStatusStarted, EntryPointStatusStarting, EntryPointStatusStopped, EntryPointStatusStopping}
663}
664
665// FabricErrorCodes enumerates the values for fabric error codes.
666type FabricErrorCodes string
667
668const (
669	// EABORT ...
670	EABORT FabricErrorCodes = "E_ABORT"
671	// EFAIL ...
672	EFAIL FabricErrorCodes = "E_FAIL"
673	// EINVALIDARG ...
674	EINVALIDARG FabricErrorCodes = "E_INVALIDARG"
675	// FABRICEAPPLICATIONALREADYEXISTS ...
676	FABRICEAPPLICATIONALREADYEXISTS FabricErrorCodes = "FABRIC_E_APPLICATION_ALREADY_EXISTS"
677	// FABRICEAPPLICATIONALREADYINTARGETVERSION ...
678	FABRICEAPPLICATIONALREADYINTARGETVERSION FabricErrorCodes = "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
679	// FABRICEAPPLICATIONNOTFOUND ...
680	FABRICEAPPLICATIONNOTFOUND FabricErrorCodes = "FABRIC_E_APPLICATION_NOT_FOUND"
681	// FABRICEAPPLICATIONNOTUPGRADING ...
682	FABRICEAPPLICATIONNOTUPGRADING FabricErrorCodes = "FABRIC_E_APPLICATION_NOT_UPGRADING"
683	// FABRICEAPPLICATIONTYPEALREADYEXISTS ...
684	FABRICEAPPLICATIONTYPEALREADYEXISTS FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
685	// FABRICEAPPLICATIONTYPEINUSE ...
686	FABRICEAPPLICATIONTYPEINUSE FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_IN_USE"
687	// FABRICEAPPLICATIONTYPENOTFOUND ...
688	FABRICEAPPLICATIONTYPENOTFOUND FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
689	// FABRICEAPPLICATIONTYPEPROVISIONINPROGRESS ...
690	FABRICEAPPLICATIONTYPEPROVISIONINPROGRESS FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
691	// FABRICEAPPLICATIONUPGRADEINPROGRESS ...
692	FABRICEAPPLICATIONUPGRADEINPROGRESS FabricErrorCodes = "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
693	// FABRICEAPPLICATIONUPGRADEVALIDATIONERROR ...
694	FABRICEAPPLICATIONUPGRADEVALIDATIONERROR FabricErrorCodes = "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
695	// FABRICEBACKUPINPROGRESS ...
696	FABRICEBACKUPINPROGRESS FabricErrorCodes = "FABRIC_E_BACKUP_IN_PROGRESS"
697	// FABRICEBACKUPISENABLED ...
698	FABRICEBACKUPISENABLED FabricErrorCodes = "FABRIC_E_BACKUP_IS_ENABLED"
699	// FABRICEBACKUPNOTENABLED ...
700	FABRICEBACKUPNOTENABLED FabricErrorCodes = "FABRIC_E_BACKUP_NOT_ENABLED"
701	// FABRICEBACKUPPOLICYALREADYEXISTING ...
702	FABRICEBACKUPPOLICYALREADYEXISTING FabricErrorCodes = "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
703	// FABRICEBACKUPPOLICYNOTEXISTING ...
704	FABRICEBACKUPPOLICYNOTEXISTING FabricErrorCodes = "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
705	// FABRICECOMMUNICATIONERROR ...
706	FABRICECOMMUNICATIONERROR FabricErrorCodes = "FABRIC_E_COMMUNICATION_ERROR"
707	// FABRICECONFIGURATIONPARAMETERNOTFOUND ...
708	FABRICECONFIGURATIONPARAMETERNOTFOUND FabricErrorCodes = "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
709	// FABRICECONFIGURATIONSECTIONNOTFOUND ...
710	FABRICECONFIGURATIONSECTIONNOTFOUND FabricErrorCodes = "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
711	// FABRICEDIRECTORYNOTFOUND ...
712	FABRICEDIRECTORYNOTFOUND FabricErrorCodes = "FABRIC_E_DIRECTORY_NOT_FOUND"
713	// FABRICEENUMERATIONCOMPLETED ...
714	FABRICEENUMERATIONCOMPLETED FabricErrorCodes = "FABRIC_E_ENUMERATION_COMPLETED"
715	// FABRICEFABRICALREADYINTARGETVERSION ...
716	FABRICEFABRICALREADYINTARGETVERSION FabricErrorCodes = "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
717	// FABRICEFABRICNOTUPGRADING ...
718	FABRICEFABRICNOTUPGRADING FabricErrorCodes = "FABRIC_E_FABRIC_NOT_UPGRADING"
719	// FABRICEFABRICUPGRADEINPROGRESS ...
720	FABRICEFABRICUPGRADEINPROGRESS FabricErrorCodes = "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
721	// FABRICEFABRICUPGRADEVALIDATIONERROR ...
722	FABRICEFABRICUPGRADEVALIDATIONERROR FabricErrorCodes = "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
723	// FABRICEFABRICVERSIONALREADYEXISTS ...
724	FABRICEFABRICVERSIONALREADYEXISTS FabricErrorCodes = "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
725	// FABRICEFABRICVERSIONINUSE ...
726	FABRICEFABRICVERSIONINUSE FabricErrorCodes = "FABRIC_E_FABRIC_VERSION_IN_USE"
727	// FABRICEFABRICVERSIONNOTFOUND ...
728	FABRICEFABRICVERSIONNOTFOUND FabricErrorCodes = "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
729	// FABRICEFAULTANALYSISSERVICENOTEXISTING ...
730	FABRICEFAULTANALYSISSERVICENOTEXISTING FabricErrorCodes = "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
731	// FABRICEFILENOTFOUND ...
732	FABRICEFILENOTFOUND FabricErrorCodes = "FABRIC_E_FILE_NOT_FOUND"
733	// FABRICEHEALTHENTITYNOTFOUND ...
734	FABRICEHEALTHENTITYNOTFOUND FabricErrorCodes = "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
735	// FABRICEHEALTHSTALEREPORT ...
736	FABRICEHEALTHSTALEREPORT FabricErrorCodes = "FABRIC_E_HEALTH_STALE_REPORT"
737	// FABRICEIMAGEBUILDERVALIDATIONERROR ...
738	FABRICEIMAGEBUILDERVALIDATIONERROR FabricErrorCodes = "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
739	// FABRICEINSTANCEIDMISMATCH ...
740	FABRICEINSTANCEIDMISMATCH FabricErrorCodes = "FABRIC_E_INSTANCE_ID_MISMATCH"
741	// FABRICEINVALIDADDRESS ...
742	FABRICEINVALIDADDRESS FabricErrorCodes = "FABRIC_E_INVALID_ADDRESS"
743	// FABRICEINVALIDATOMICGROUP ...
744	FABRICEINVALIDATOMICGROUP FabricErrorCodes = "FABRIC_E_INVALID_ATOMIC_GROUP"
745	// FABRICEINVALIDCONFIGURATION ...
746	FABRICEINVALIDCONFIGURATION FabricErrorCodes = "FABRIC_E_INVALID_CONFIGURATION"
747	// FABRICEINVALIDFORSTATELESSSERVICES ...
748	FABRICEINVALIDFORSTATELESSSERVICES FabricErrorCodes = "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
749	// FABRICEINVALIDNAMEURI ...
750	FABRICEINVALIDNAMEURI FabricErrorCodes = "FABRIC_E_INVALID_NAME_URI"
751	// FABRICEINVALIDPARTITIONKEY ...
752	FABRICEINVALIDPARTITIONKEY FabricErrorCodes = "FABRIC_E_INVALID_PARTITION_KEY"
753	// FABRICEINVALIDSERVICESCALINGPOLICY ...
754	FABRICEINVALIDSERVICESCALINGPOLICY FabricErrorCodes = "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
755	// FABRICEKEYNOTFOUND ...
756	FABRICEKEYNOTFOUND FabricErrorCodes = "FABRIC_E_KEY_NOT_FOUND"
757	// FABRICEKEYTOOLARGE ...
758	FABRICEKEYTOOLARGE FabricErrorCodes = "FABRIC_E_KEY_TOO_LARGE"
759	// FABRICENAMEALREADYEXISTS ...
760	FABRICENAMEALREADYEXISTS FabricErrorCodes = "FABRIC_E_NAME_ALREADY_EXISTS"
761	// FABRICENAMEDOESNOTEXIST ...
762	FABRICENAMEDOESNOTEXIST FabricErrorCodes = "FABRIC_E_NAME_DOES_NOT_EXIST"
763	// FABRICENAMENOTEMPTY ...
764	FABRICENAMENOTEMPTY FabricErrorCodes = "FABRIC_E_NAME_NOT_EMPTY"
765	// FABRICENODEHASNOTSTOPPEDYET ...
766	FABRICENODEHASNOTSTOPPEDYET FabricErrorCodes = "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
767	// FABRICENODEISUP ...
768	FABRICENODEISUP FabricErrorCodes = "FABRIC_E_NODE_IS_UP"
769	// FABRICENODENOTFOUND ...
770	FABRICENODENOTFOUND FabricErrorCodes = "FABRIC_E_NODE_NOT_FOUND"
771	// FABRICENOTPRIMARY ...
772	FABRICENOTPRIMARY FabricErrorCodes = "FABRIC_E_NOT_PRIMARY"
773	// FABRICENOTREADY ...
774	FABRICENOTREADY FabricErrorCodes = "FABRIC_E_NOT_READY"
775	// FABRICENOWRITEQUORUM ...
776	FABRICENOWRITEQUORUM FabricErrorCodes = "FABRIC_E_NO_WRITE_QUORUM"
777	// FABRICEOPERATIONNOTCOMPLETE ...
778	FABRICEOPERATIONNOTCOMPLETE FabricErrorCodes = "FABRIC_E_OPERATION_NOT_COMPLETE"
779	// FABRICEPARTITIONNOTFOUND ...
780	FABRICEPARTITIONNOTFOUND FabricErrorCodes = "FABRIC_E_PARTITION_NOT_FOUND"
781	// FABRICEPATHTOOLONG ...
782	FABRICEPATHTOOLONG FabricErrorCodes = "FABRIC_E_PATH_TOO_LONG"
783	// FABRICEPROPERTYCHECKFAILED ...
784	FABRICEPROPERTYCHECKFAILED FabricErrorCodes = "FABRIC_E_PROPERTY_CHECK_FAILED"
785	// FABRICEPROPERTYDOESNOTEXIST ...
786	FABRICEPROPERTYDOESNOTEXIST FabricErrorCodes = "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
787	// FABRICERECONFIGURATIONPENDING ...
788	FABRICERECONFIGURATIONPENDING FabricErrorCodes = "FABRIC_E_RECONFIGURATION_PENDING"
789	// FABRICEREPLICADOESNOTEXIST ...
790	FABRICEREPLICADOESNOTEXIST FabricErrorCodes = "FABRIC_E_REPLICA_DOES_NOT_EXIST"
791	// FABRICERESTOREINPROGRESS ...
792	FABRICERESTOREINPROGRESS FabricErrorCodes = "FABRIC_E_RESTORE_IN_PROGRESS"
793	// FABRICERESTORESOURCETARGETPARTITIONMISMATCH ...
794	FABRICERESTORESOURCETARGETPARTITIONMISMATCH FabricErrorCodes = "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
795	// FABRICESEQUENCENUMBERCHECKFAILED ...
796	FABRICESEQUENCENUMBERCHECKFAILED FabricErrorCodes = "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
797	// FABRICESERVICEAFFINITYCHAINNOTSUPPORTED ...
798	FABRICESERVICEAFFINITYCHAINNOTSUPPORTED FabricErrorCodes = "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
799	// FABRICESERVICEALREADYEXISTS ...
800	FABRICESERVICEALREADYEXISTS FabricErrorCodes = "FABRIC_E_SERVICE_ALREADY_EXISTS"
801	// FABRICESERVICEDOESNOTEXIST ...
802	FABRICESERVICEDOESNOTEXIST FabricErrorCodes = "FABRIC_E_SERVICE_DOES_NOT_EXIST"
803	// FABRICESERVICEGROUPALREADYEXISTS ...
804	FABRICESERVICEGROUPALREADYEXISTS FabricErrorCodes = "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
805	// FABRICESERVICEGROUPDOESNOTEXIST ...
806	FABRICESERVICEGROUPDOESNOTEXIST FabricErrorCodes = "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
807	// FABRICESERVICEMANIFESTNOTFOUND ...
808	FABRICESERVICEMANIFESTNOTFOUND FabricErrorCodes = "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
809	// FABRICESERVICEMETADATAMISMATCH ...
810	FABRICESERVICEMETADATAMISMATCH FabricErrorCodes = "FABRIC_E_SERVICE_METADATA_MISMATCH"
811	// FABRICESERVICEOFFLINE ...
812	FABRICESERVICEOFFLINE FabricErrorCodes = "FABRIC_E_SERVICE_OFFLINE"
813	// FABRICESERVICETYPEMISMATCH ...
814	FABRICESERVICETYPEMISMATCH FabricErrorCodes = "FABRIC_E_SERVICE_TYPE_MISMATCH"
815	// FABRICESERVICETYPENOTFOUND ...
816	FABRICESERVICETYPENOTFOUND FabricErrorCodes = "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
817	// FABRICESERVICETYPETEMPLATENOTFOUND ...
818	FABRICESERVICETYPETEMPLATENOTFOUND FabricErrorCodes = "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
819	// FABRICETIMEOUT ...
820	FABRICETIMEOUT FabricErrorCodes = "FABRIC_E_TIMEOUT"
821	// FABRICEVALUEEMPTY ...
822	FABRICEVALUEEMPTY FabricErrorCodes = "FABRIC_E_VALUE_EMPTY"
823	// FABRICEVALUETOOLARGE ...
824	FABRICEVALUETOOLARGE FabricErrorCodes = "FABRIC_E_VALUE_TOO_LARGE"
825)
826
827// PossibleFabricErrorCodesValues returns an array of possible values for the FabricErrorCodes const type.
828func PossibleFabricErrorCodesValues() []FabricErrorCodes {
829	return []FabricErrorCodes{EABORT, EFAIL, EINVALIDARG, FABRICEAPPLICATIONALREADYEXISTS, FABRICEAPPLICATIONALREADYINTARGETVERSION, FABRICEAPPLICATIONNOTFOUND, FABRICEAPPLICATIONNOTUPGRADING, FABRICEAPPLICATIONTYPEALREADYEXISTS, FABRICEAPPLICATIONTYPEINUSE, FABRICEAPPLICATIONTYPENOTFOUND, FABRICEAPPLICATIONTYPEPROVISIONINPROGRESS, FABRICEAPPLICATIONUPGRADEINPROGRESS, FABRICEAPPLICATIONUPGRADEVALIDATIONERROR, FABRICEBACKUPINPROGRESS, FABRICEBACKUPISENABLED, FABRICEBACKUPNOTENABLED, FABRICEBACKUPPOLICYALREADYEXISTING, FABRICEBACKUPPOLICYNOTEXISTING, FABRICECOMMUNICATIONERROR, FABRICECONFIGURATIONPARAMETERNOTFOUND, FABRICECONFIGURATIONSECTIONNOTFOUND, FABRICEDIRECTORYNOTFOUND, FABRICEENUMERATIONCOMPLETED, FABRICEFABRICALREADYINTARGETVERSION, FABRICEFABRICNOTUPGRADING, FABRICEFABRICUPGRADEINPROGRESS, FABRICEFABRICUPGRADEVALIDATIONERROR, FABRICEFABRICVERSIONALREADYEXISTS, FABRICEFABRICVERSIONINUSE, FABRICEFABRICVERSIONNOTFOUND, FABRICEFAULTANALYSISSERVICENOTEXISTING, FABRICEFILENOTFOUND, FABRICEHEALTHENTITYNOTFOUND, FABRICEHEALTHSTALEREPORT, FABRICEIMAGEBUILDERVALIDATIONERROR, FABRICEINSTANCEIDMISMATCH, FABRICEINVALIDADDRESS, FABRICEINVALIDATOMICGROUP, FABRICEINVALIDCONFIGURATION, FABRICEINVALIDFORSTATELESSSERVICES, FABRICEINVALIDNAMEURI, FABRICEINVALIDPARTITIONKEY, FABRICEINVALIDSERVICESCALINGPOLICY, FABRICEKEYNOTFOUND, FABRICEKEYTOOLARGE, FABRICENAMEALREADYEXISTS, FABRICENAMEDOESNOTEXIST, FABRICENAMENOTEMPTY, FABRICENODEHASNOTSTOPPEDYET, FABRICENODEISUP, FABRICENODENOTFOUND, FABRICENOTPRIMARY, FABRICENOTREADY, FABRICENOWRITEQUORUM, FABRICEOPERATIONNOTCOMPLETE, FABRICEPARTITIONNOTFOUND, FABRICEPATHTOOLONG, FABRICEPROPERTYCHECKFAILED, FABRICEPROPERTYDOESNOTEXIST, FABRICERECONFIGURATIONPENDING, FABRICEREPLICADOESNOTEXIST, FABRICERESTOREINPROGRESS, FABRICERESTORESOURCETARGETPARTITIONMISMATCH, FABRICESEQUENCENUMBERCHECKFAILED, FABRICESERVICEAFFINITYCHAINNOTSUPPORTED, FABRICESERVICEALREADYEXISTS, FABRICESERVICEDOESNOTEXIST, FABRICESERVICEGROUPALREADYEXISTS, FABRICESERVICEGROUPDOESNOTEXIST, FABRICESERVICEMANIFESTNOTFOUND, FABRICESERVICEMETADATAMISMATCH, FABRICESERVICEOFFLINE, FABRICESERVICETYPEMISMATCH, FABRICESERVICETYPENOTFOUND, FABRICESERVICETYPETEMPLATENOTFOUND, FABRICETIMEOUT, FABRICEVALUEEMPTY, FABRICEVALUETOOLARGE}
830}
831
832// FabricEventKind enumerates the values for fabric event kind.
833type FabricEventKind string
834
835const (
836	// FabricEventKindApplicationCreated ...
837	FabricEventKindApplicationCreated FabricEventKind = "ApplicationCreated"
838	// FabricEventKindApplicationDeleted ...
839	FabricEventKindApplicationDeleted FabricEventKind = "ApplicationDeleted"
840	// FabricEventKindApplicationEvent ...
841	FabricEventKindApplicationEvent FabricEventKind = "ApplicationEvent"
842	// FabricEventKindApplicationHealthReportCreated ...
843	FabricEventKindApplicationHealthReportCreated FabricEventKind = "ApplicationHealthReportCreated"
844	// FabricEventKindApplicationHealthReportExpired ...
845	FabricEventKindApplicationHealthReportExpired FabricEventKind = "ApplicationHealthReportExpired"
846	// FabricEventKindApplicationUpgradeComplete ...
847	FabricEventKindApplicationUpgradeComplete FabricEventKind = "ApplicationUpgradeComplete"
848	// FabricEventKindApplicationUpgradeDomainComplete ...
849	FabricEventKindApplicationUpgradeDomainComplete FabricEventKind = "ApplicationUpgradeDomainComplete"
850	// FabricEventKindApplicationUpgradeRollbackComplete ...
851	FabricEventKindApplicationUpgradeRollbackComplete FabricEventKind = "ApplicationUpgradeRollbackComplete"
852	// FabricEventKindApplicationUpgradeRollbackStart ...
853	FabricEventKindApplicationUpgradeRollbackStart FabricEventKind = "ApplicationUpgradeRollbackStart"
854	// FabricEventKindApplicationUpgradeStart ...
855	FabricEventKindApplicationUpgradeStart FabricEventKind = "ApplicationUpgradeStart"
856	// FabricEventKindChaosMovePrimaryFaultScheduled ...
857	FabricEventKindChaosMovePrimaryFaultScheduled FabricEventKind = "ChaosMovePrimaryFaultScheduled"
858	// FabricEventKindChaosMoveSecondaryFaultScheduled ...
859	FabricEventKindChaosMoveSecondaryFaultScheduled FabricEventKind = "ChaosMoveSecondaryFaultScheduled"
860	// FabricEventKindChaosRemoveReplicaFaultCompleted ...
861	FabricEventKindChaosRemoveReplicaFaultCompleted FabricEventKind = "ChaosRemoveReplicaFaultCompleted"
862	// FabricEventKindChaosRemoveReplicaFaultScheduled ...
863	FabricEventKindChaosRemoveReplicaFaultScheduled FabricEventKind = "ChaosRemoveReplicaFaultScheduled"
864	// FabricEventKindChaosRestartCodePackageFaultCompleted ...
865	FabricEventKindChaosRestartCodePackageFaultCompleted FabricEventKind = "ChaosRestartCodePackageFaultCompleted"
866	// FabricEventKindChaosRestartCodePackageFaultScheduled ...
867	FabricEventKindChaosRestartCodePackageFaultScheduled FabricEventKind = "ChaosRestartCodePackageFaultScheduled"
868	// FabricEventKindChaosRestartNodeFaultCompleted ...
869	FabricEventKindChaosRestartNodeFaultCompleted FabricEventKind = "ChaosRestartNodeFaultCompleted"
870	// FabricEventKindChaosRestartNodeFaultScheduled ...
871	FabricEventKindChaosRestartNodeFaultScheduled FabricEventKind = "ChaosRestartNodeFaultScheduled"
872	// FabricEventKindChaosRestartReplicaFaultScheduled ...
873	FabricEventKindChaosRestartReplicaFaultScheduled FabricEventKind = "ChaosRestartReplicaFaultScheduled"
874	// FabricEventKindChaosStarted ...
875	FabricEventKindChaosStarted FabricEventKind = "ChaosStarted"
876	// FabricEventKindChaosStopped ...
877	FabricEventKindChaosStopped FabricEventKind = "ChaosStopped"
878	// FabricEventKindClusterEvent ...
879	FabricEventKindClusterEvent FabricEventKind = "ClusterEvent"
880	// FabricEventKindClusterHealthReportCreated ...
881	FabricEventKindClusterHealthReportCreated FabricEventKind = "ClusterHealthReportCreated"
882	// FabricEventKindClusterHealthReportExpired ...
883	FabricEventKindClusterHealthReportExpired FabricEventKind = "ClusterHealthReportExpired"
884	// FabricEventKindClusterUpgradeComplete ...
885	FabricEventKindClusterUpgradeComplete FabricEventKind = "ClusterUpgradeComplete"
886	// FabricEventKindClusterUpgradeDomainComplete ...
887	FabricEventKindClusterUpgradeDomainComplete FabricEventKind = "ClusterUpgradeDomainComplete"
888	// FabricEventKindClusterUpgradeRollbackComplete ...
889	FabricEventKindClusterUpgradeRollbackComplete FabricEventKind = "ClusterUpgradeRollbackComplete"
890	// FabricEventKindClusterUpgradeRollbackStart ...
891	FabricEventKindClusterUpgradeRollbackStart FabricEventKind = "ClusterUpgradeRollbackStart"
892	// FabricEventKindClusterUpgradeStart ...
893	FabricEventKindClusterUpgradeStart FabricEventKind = "ClusterUpgradeStart"
894	// FabricEventKindContainerDeactivated ...
895	FabricEventKindContainerDeactivated FabricEventKind = "ContainerDeactivated"
896	// FabricEventKindContainerInstanceEvent ...
897	FabricEventKindContainerInstanceEvent FabricEventKind = "ContainerInstanceEvent"
898	// FabricEventKindDeployedApplicationHealthReportCreated ...
899	FabricEventKindDeployedApplicationHealthReportCreated FabricEventKind = "DeployedApplicationHealthReportCreated"
900	// FabricEventKindDeployedApplicationHealthReportExpired ...
901	FabricEventKindDeployedApplicationHealthReportExpired FabricEventKind = "DeployedApplicationHealthReportExpired"
902	// FabricEventKindDeployedServiceHealthReportCreated ...
903	FabricEventKindDeployedServiceHealthReportCreated FabricEventKind = "DeployedServiceHealthReportCreated"
904	// FabricEventKindDeployedServiceHealthReportExpired ...
905	FabricEventKindDeployedServiceHealthReportExpired FabricEventKind = "DeployedServiceHealthReportExpired"
906	// FabricEventKindNodeAborted ...
907	FabricEventKindNodeAborted FabricEventKind = "NodeAborted"
908	// FabricEventKindNodeAborting ...
909	FabricEventKindNodeAborting FabricEventKind = "NodeAborting"
910	// FabricEventKindNodeAdded ...
911	FabricEventKindNodeAdded FabricEventKind = "NodeAdded"
912	// FabricEventKindNodeClose ...
913	FabricEventKindNodeClose FabricEventKind = "NodeClose"
914	// FabricEventKindNodeClosing ...
915	FabricEventKindNodeClosing FabricEventKind = "NodeClosing"
916	// FabricEventKindNodeDeactivateComplete ...
917	FabricEventKindNodeDeactivateComplete FabricEventKind = "NodeDeactivateComplete"
918	// FabricEventKindNodeDeactivateStart ...
919	FabricEventKindNodeDeactivateStart FabricEventKind = "NodeDeactivateStart"
920	// FabricEventKindNodeDown ...
921	FabricEventKindNodeDown FabricEventKind = "NodeDown"
922	// FabricEventKindNodeEvent ...
923	FabricEventKindNodeEvent FabricEventKind = "NodeEvent"
924	// FabricEventKindNodeHealthReportCreated ...
925	FabricEventKindNodeHealthReportCreated FabricEventKind = "NodeHealthReportCreated"
926	// FabricEventKindNodeHealthReportExpired ...
927	FabricEventKindNodeHealthReportExpired FabricEventKind = "NodeHealthReportExpired"
928	// FabricEventKindNodeOpenedSuccess ...
929	FabricEventKindNodeOpenedSuccess FabricEventKind = "NodeOpenedSuccess"
930	// FabricEventKindNodeOpenFailed ...
931	FabricEventKindNodeOpenFailed FabricEventKind = "NodeOpenFailed"
932	// FabricEventKindNodeOpening ...
933	FabricEventKindNodeOpening FabricEventKind = "NodeOpening"
934	// FabricEventKindNodeRemoved ...
935	FabricEventKindNodeRemoved FabricEventKind = "NodeRemoved"
936	// FabricEventKindNodeUp ...
937	FabricEventKindNodeUp FabricEventKind = "NodeUp"
938	// FabricEventKindPartitionAnalysisEvent ...
939	FabricEventKindPartitionAnalysisEvent FabricEventKind = "PartitionAnalysisEvent"
940	// FabricEventKindPartitionEvent ...
941	FabricEventKindPartitionEvent FabricEventKind = "PartitionEvent"
942	// FabricEventKindPartitionHealthReportCreated ...
943	FabricEventKindPartitionHealthReportCreated FabricEventKind = "PartitionHealthReportCreated"
944	// FabricEventKindPartitionHealthReportExpired ...
945	FabricEventKindPartitionHealthReportExpired FabricEventKind = "PartitionHealthReportExpired"
946	// FabricEventKindPartitionPrimaryMoveAnalysis ...
947	FabricEventKindPartitionPrimaryMoveAnalysis FabricEventKind = "PartitionPrimaryMoveAnalysis"
948	// FabricEventKindPartitionReconfigurationCompleted ...
949	FabricEventKindPartitionReconfigurationCompleted FabricEventKind = "PartitionReconfigurationCompleted"
950	// FabricEventKindProcessDeactivated ...
951	FabricEventKindProcessDeactivated FabricEventKind = "ProcessDeactivated"
952	// FabricEventKindReplicaEvent ...
953	FabricEventKindReplicaEvent FabricEventKind = "ReplicaEvent"
954	// FabricEventKindServiceCreated ...
955	FabricEventKindServiceCreated FabricEventKind = "ServiceCreated"
956	// FabricEventKindServiceDeleted ...
957	FabricEventKindServiceDeleted FabricEventKind = "ServiceDeleted"
958	// FabricEventKindServiceEvent ...
959	FabricEventKindServiceEvent FabricEventKind = "ServiceEvent"
960	// FabricEventKindServiceHealthReportCreated ...
961	FabricEventKindServiceHealthReportCreated FabricEventKind = "ServiceHealthReportCreated"
962	// FabricEventKindServiceHealthReportExpired ...
963	FabricEventKindServiceHealthReportExpired FabricEventKind = "ServiceHealthReportExpired"
964	// FabricEventKindStatefulReplicaHealthReportCreated ...
965	FabricEventKindStatefulReplicaHealthReportCreated FabricEventKind = "StatefulReplicaHealthReportCreated"
966	// FabricEventKindStatefulReplicaHealthReportExpired ...
967	FabricEventKindStatefulReplicaHealthReportExpired FabricEventKind = "StatefulReplicaHealthReportExpired"
968	// FabricEventKindStatelessReplicaHealthReportCreated ...
969	FabricEventKindStatelessReplicaHealthReportCreated FabricEventKind = "StatelessReplicaHealthReportCreated"
970	// FabricEventKindStatelessReplicaHealthReportExpired ...
971	FabricEventKindStatelessReplicaHealthReportExpired FabricEventKind = "StatelessReplicaHealthReportExpired"
972)
973
974// PossibleFabricEventKindValues returns an array of possible values for the FabricEventKind const type.
975func PossibleFabricEventKindValues() []FabricEventKind {
976	return []FabricEventKind{FabricEventKindApplicationCreated, FabricEventKindApplicationDeleted, FabricEventKindApplicationEvent, FabricEventKindApplicationHealthReportCreated, FabricEventKindApplicationHealthReportExpired, FabricEventKindApplicationUpgradeComplete, FabricEventKindApplicationUpgradeDomainComplete, FabricEventKindApplicationUpgradeRollbackComplete, FabricEventKindApplicationUpgradeRollbackStart, FabricEventKindApplicationUpgradeStart, FabricEventKindChaosMovePrimaryFaultScheduled, FabricEventKindChaosMoveSecondaryFaultScheduled, FabricEventKindChaosRemoveReplicaFaultCompleted, FabricEventKindChaosRemoveReplicaFaultScheduled, FabricEventKindChaosRestartCodePackageFaultCompleted, FabricEventKindChaosRestartCodePackageFaultScheduled, FabricEventKindChaosRestartNodeFaultCompleted, FabricEventKindChaosRestartNodeFaultScheduled, FabricEventKindChaosRestartReplicaFaultScheduled, FabricEventKindChaosStarted, FabricEventKindChaosStopped, FabricEventKindClusterEvent, FabricEventKindClusterHealthReportCreated, FabricEventKindClusterHealthReportExpired, FabricEventKindClusterUpgradeComplete, FabricEventKindClusterUpgradeDomainComplete, FabricEventKindClusterUpgradeRollbackComplete, FabricEventKindClusterUpgradeRollbackStart, FabricEventKindClusterUpgradeStart, FabricEventKindContainerDeactivated, FabricEventKindContainerInstanceEvent, FabricEventKindDeployedApplicationHealthReportCreated, FabricEventKindDeployedApplicationHealthReportExpired, FabricEventKindDeployedServiceHealthReportCreated, FabricEventKindDeployedServiceHealthReportExpired, FabricEventKindNodeAborted, FabricEventKindNodeAborting, FabricEventKindNodeAdded, FabricEventKindNodeClose, FabricEventKindNodeClosing, FabricEventKindNodeDeactivateComplete, FabricEventKindNodeDeactivateStart, FabricEventKindNodeDown, FabricEventKindNodeEvent, FabricEventKindNodeHealthReportCreated, FabricEventKindNodeHealthReportExpired, FabricEventKindNodeOpenedSuccess, FabricEventKindNodeOpenFailed, FabricEventKindNodeOpening, FabricEventKindNodeRemoved, FabricEventKindNodeUp, FabricEventKindPartitionAnalysisEvent, FabricEventKindPartitionEvent, FabricEventKindPartitionHealthReportCreated, FabricEventKindPartitionHealthReportExpired, FabricEventKindPartitionPrimaryMoveAnalysis, FabricEventKindPartitionReconfigurationCompleted, FabricEventKindProcessDeactivated, FabricEventKindReplicaEvent, FabricEventKindServiceCreated, FabricEventKindServiceDeleted, FabricEventKindServiceEvent, FabricEventKindServiceHealthReportCreated, FabricEventKindServiceHealthReportExpired, FabricEventKindStatefulReplicaHealthReportCreated, FabricEventKindStatefulReplicaHealthReportExpired, FabricEventKindStatelessReplicaHealthReportCreated, FabricEventKindStatelessReplicaHealthReportExpired}
977}
978
979// FabricReplicaStatus enumerates the values for fabric replica status.
980type FabricReplicaStatus string
981
982const (
983	// FabricReplicaStatusDown Indicates that the replica is down.
984	FabricReplicaStatusDown FabricReplicaStatus = "Down"
985	// FabricReplicaStatusInvalid Indicates that the read or write operation access status is not valid. This
986	// value is not returned to the caller.
987	FabricReplicaStatusInvalid FabricReplicaStatus = "Invalid"
988	// FabricReplicaStatusUp Indicates that the replica is up.
989	FabricReplicaStatusUp FabricReplicaStatus = "Up"
990)
991
992// PossibleFabricReplicaStatusValues returns an array of possible values for the FabricReplicaStatus const type.
993func PossibleFabricReplicaStatusValues() []FabricReplicaStatus {
994	return []FabricReplicaStatus{FabricReplicaStatusDown, FabricReplicaStatusInvalid, FabricReplicaStatusUp}
995}
996
997// FailureAction enumerates the values for failure action.
998type FailureAction string
999
1000const (
1001	// FailureActionInvalid Indicates the failure action is invalid. All Service Fabric enumerations have the
1002	// invalid type. The value is zero.
1003	FailureActionInvalid FailureAction = "Invalid"
1004	// FailureActionManual The upgrade will switch to UnmonitoredManual upgrade mode. The value is 2
1005	FailureActionManual FailureAction = "Manual"
1006	// FailureActionRollback The upgrade will start rolling back automatically. The value is 1
1007	FailureActionRollback FailureAction = "Rollback"
1008)
1009
1010// PossibleFailureActionValues returns an array of possible values for the FailureAction const type.
1011func PossibleFailureActionValues() []FailureAction {
1012	return []FailureAction{FailureActionInvalid, FailureActionManual, FailureActionRollback}
1013}
1014
1015// FailureReason enumerates the values for failure reason.
1016type FailureReason string
1017
1018const (
1019	// HealthCheck The upgrade failed due to health policy violations. The value is 2
1020	HealthCheck FailureReason = "HealthCheck"
1021	// Interrupted There was an external request to rollback the upgrade. The value is 1
1022	Interrupted FailureReason = "Interrupted"
1023	// None Indicates the reason is invalid or unknown. All Service Fabric enumerations have the invalid type.
1024	// The value is zero.
1025	None FailureReason = "None"
1026	// OverallUpgradeTimeout The overall upgrade took longer than the allowed upgrade timeout to process. The
1027	// value is 4
1028	OverallUpgradeTimeout FailureReason = "OverallUpgradeTimeout"
1029	// UpgradeDomainTimeout An upgrade domain took longer than the allowed upgrade domain timeout to process.
1030	// The value is 3
1031	UpgradeDomainTimeout FailureReason = "UpgradeDomainTimeout"
1032)
1033
1034// PossibleFailureReasonValues returns an array of possible values for the FailureReason const type.
1035func PossibleFailureReasonValues() []FailureReason {
1036	return []FailureReason{HealthCheck, Interrupted, None, OverallUpgradeTimeout, UpgradeDomainTimeout}
1037}
1038
1039// HealthEvaluationKind enumerates the values for health evaluation kind.
1040type HealthEvaluationKind string
1041
1042const (
1043	// HealthEvaluationKindApplication Indicates that the health evaluation is for an application. The value is
1044	// 18.
1045	HealthEvaluationKindApplication HealthEvaluationKind = "Application"
1046	// HealthEvaluationKindApplications Indicates that the health evaluation is for the cluster applications.
1047	// The value is 8.
1048	HealthEvaluationKindApplications HealthEvaluationKind = "Applications"
1049	// HealthEvaluationKindApplicationTypeApplications – Indicates that the health evaluation is for
1050	// applications of an application type. The value is 21.
1051	HealthEvaluationKindApplicationTypeApplications HealthEvaluationKind = "ApplicationTypeApplications"
1052	// HealthEvaluationKindDeltaNodesCheck Indicates that the health evaluation is for the delta of unhealthy
1053	// cluster nodes. The value is 19.
1054	HealthEvaluationKindDeltaNodesCheck HealthEvaluationKind = "DeltaNodesCheck"
1055	// HealthEvaluationKindDeployedApplication Indicates that the health evaluation is for a deployed
1056	// application. The value is 17.
1057	HealthEvaluationKindDeployedApplication HealthEvaluationKind = "DeployedApplication"
1058	// HealthEvaluationKindDeployedApplications Indicates that the health evaluation is for the deployed
1059	// applications of an application. The value is 5.
1060	HealthEvaluationKindDeployedApplications HealthEvaluationKind = "DeployedApplications"
1061	// HealthEvaluationKindDeployedServicePackage Indicates that the health evaluation is for a deployed
1062	// service package. The value is 16.
1063	HealthEvaluationKindDeployedServicePackage HealthEvaluationKind = "DeployedServicePackage"
1064	// HealthEvaluationKindDeployedServicePackages Indicates that the health evaluation is for the deployed
1065	// service packages of a deployed application. The value is 4.
1066	HealthEvaluationKindDeployedServicePackages HealthEvaluationKind = "DeployedServicePackages"
1067	// HealthEvaluationKindEvent Indicates that the health evaluation is for a health event. The value is 1.
1068	HealthEvaluationKindEvent HealthEvaluationKind = "Event"
1069	// HealthEvaluationKindInvalid Indicates that the health evaluation is invalid. The value is zero.
1070	HealthEvaluationKindInvalid HealthEvaluationKind = "Invalid"
1071	// HealthEvaluationKindNode Indicates that the health evaluation is for a node. The value is 12.
1072	HealthEvaluationKindNode HealthEvaluationKind = "Node"
1073	// HealthEvaluationKindNodes Indicates that the health evaluation is for the cluster nodes. The value is 7.
1074	HealthEvaluationKindNodes HealthEvaluationKind = "Nodes"
1075	// HealthEvaluationKindPartition Indicates that the health evaluation is for a partition. The value is 14.
1076	HealthEvaluationKindPartition HealthEvaluationKind = "Partition"
1077	// HealthEvaluationKindPartitions Indicates that the health evaluation is for the partitions of a service.
1078	// The value is 3.
1079	HealthEvaluationKindPartitions HealthEvaluationKind = "Partitions"
1080	// HealthEvaluationKindReplica Indicates that the health evaluation is for a replica. The value is 13.
1081	HealthEvaluationKindReplica HealthEvaluationKind = "Replica"
1082	// HealthEvaluationKindReplicas Indicates that the health evaluation is for the replicas of a partition.
1083	// The value is 2.
1084	HealthEvaluationKindReplicas HealthEvaluationKind = "Replicas"
1085	// HealthEvaluationKindService Indicates that the health evaluation is for a service. The value is 15.
1086	HealthEvaluationKindService HealthEvaluationKind = "Service"
1087	// HealthEvaluationKindServices Indicates that the health evaluation is for services of an application. The
1088	// value is 6.
1089	HealthEvaluationKindServices HealthEvaluationKind = "Services"
1090	// HealthEvaluationKindSystemApplication Indicates that the health evaluation is for the system
1091	// application. The value is 9.
1092	HealthEvaluationKindSystemApplication HealthEvaluationKind = "SystemApplication"
1093	// HealthEvaluationKindUpgradeDomainDeltaNodesCheck Indicates that the health evaluation is for the delta
1094	// of unhealthy upgrade domain cluster nodes. The value is 20.
1095	HealthEvaluationKindUpgradeDomainDeltaNodesCheck HealthEvaluationKind = "UpgradeDomainDeltaNodesCheck"
1096	// HealthEvaluationKindUpgradeDomainDeployedApplications Indicates that the health evaluation is for the
1097	// deployed applications of an application in an upgrade domain. The value is 10.
1098	HealthEvaluationKindUpgradeDomainDeployedApplications HealthEvaluationKind = "UpgradeDomainDeployedApplications"
1099	// HealthEvaluationKindUpgradeDomainNodes Indicates that the health evaluation is for the cluster nodes in
1100	// an upgrade domain. The value is 11.
1101	HealthEvaluationKindUpgradeDomainNodes HealthEvaluationKind = "UpgradeDomainNodes"
1102)
1103
1104// PossibleHealthEvaluationKindValues returns an array of possible values for the HealthEvaluationKind const type.
1105func PossibleHealthEvaluationKindValues() []HealthEvaluationKind {
1106	return []HealthEvaluationKind{HealthEvaluationKindApplication, HealthEvaluationKindApplications, HealthEvaluationKindApplicationTypeApplications, HealthEvaluationKindDeltaNodesCheck, HealthEvaluationKindDeployedApplication, HealthEvaluationKindDeployedApplications, HealthEvaluationKindDeployedServicePackage, HealthEvaluationKindDeployedServicePackages, HealthEvaluationKindEvent, HealthEvaluationKindInvalid, HealthEvaluationKindNode, HealthEvaluationKindNodes, HealthEvaluationKindPartition, HealthEvaluationKindPartitions, HealthEvaluationKindReplica, HealthEvaluationKindReplicas, HealthEvaluationKindService, HealthEvaluationKindServices, HealthEvaluationKindSystemApplication, HealthEvaluationKindUpgradeDomainDeltaNodesCheck, HealthEvaluationKindUpgradeDomainDeployedApplications, HealthEvaluationKindUpgradeDomainNodes}
1107}
1108
1109// HealthState enumerates the values for health state.
1110type HealthState string
1111
1112const (
1113	// HealthStateError Indicates the health state is at an error level. Error health state should be
1114	// investigated, as they can impact the correct functionality of the cluster. The value is 3.
1115	HealthStateError HealthState = "Error"
1116	// HealthStateInvalid Indicates an invalid health state. All Service Fabric enumerations have the invalid
1117	// type. The value is zero.
1118	HealthStateInvalid HealthState = "Invalid"
1119	// HealthStateOk Indicates the health state is okay. The value is 1.
1120	HealthStateOk HealthState = "Ok"
1121	// HealthStateUnknown Indicates an unknown health status. The value is 65535.
1122	HealthStateUnknown HealthState = "Unknown"
1123	// HealthStateWarning Indicates the health state is at a warning level. The value is 2.
1124	HealthStateWarning HealthState = "Warning"
1125)
1126
1127// PossibleHealthStateValues returns an array of possible values for the HealthState const type.
1128func PossibleHealthStateValues() []HealthState {
1129	return []HealthState{HealthStateError, HealthStateInvalid, HealthStateOk, HealthStateUnknown, HealthStateWarning}
1130}
1131
1132// HostIsolationMode enumerates the values for host isolation mode.
1133type HostIsolationMode string
1134
1135const (
1136	// HostIsolationModeHyperV Indicates the ContainerHost is a Hyper-V container. This applies to only Windows
1137	// containers. The value is 2.
1138	HostIsolationModeHyperV HostIsolationMode = "HyperV"
1139	// HostIsolationModeNone Indicates the isolation mode is not applicable for given HostType. The value is 0.
1140	HostIsolationModeNone HostIsolationMode = "None"
1141	// HostIsolationModeProcess This is the default isolation mode for a ContainerHost. The value is 1.
1142	HostIsolationModeProcess HostIsolationMode = "Process"
1143)
1144
1145// PossibleHostIsolationModeValues returns an array of possible values for the HostIsolationMode const type.
1146func PossibleHostIsolationModeValues() []HostIsolationMode {
1147	return []HostIsolationMode{HostIsolationModeHyperV, HostIsolationModeNone, HostIsolationModeProcess}
1148}
1149
1150// HostType enumerates the values for host type.
1151type HostType string
1152
1153const (
1154	// HostTypeContainerHost Indicates the host is a container. The value is 2.
1155	HostTypeContainerHost HostType = "ContainerHost"
1156	// HostTypeExeHost Indicates the host is an executable. The value is 1.
1157	HostTypeExeHost HostType = "ExeHost"
1158	// HostTypeInvalid Indicates the type of host is not known or invalid. The value is 0.
1159	HostTypeInvalid HostType = "Invalid"
1160)
1161
1162// PossibleHostTypeValues returns an array of possible values for the HostType const type.
1163func PossibleHostTypeValues() []HostType {
1164	return []HostType{HostTypeContainerHost, HostTypeExeHost, HostTypeInvalid}
1165}
1166
1167// ImpactLevel enumerates the values for impact level.
1168type ImpactLevel string
1169
1170const (
1171	// ImpactLevelInvalid ...
1172	ImpactLevelInvalid ImpactLevel = "Invalid"
1173	// ImpactLevelNone ...
1174	ImpactLevelNone ImpactLevel = "None"
1175	// ImpactLevelRemoveData ...
1176	ImpactLevelRemoveData ImpactLevel = "RemoveData"
1177	// ImpactLevelRemoveNode ...
1178	ImpactLevelRemoveNode ImpactLevel = "RemoveNode"
1179	// ImpactLevelRestart ...
1180	ImpactLevelRestart ImpactLevel = "Restart"
1181)
1182
1183// PossibleImpactLevelValues returns an array of possible values for the ImpactLevel const type.
1184func PossibleImpactLevelValues() []ImpactLevel {
1185	return []ImpactLevel{ImpactLevelInvalid, ImpactLevelNone, ImpactLevelRemoveData, ImpactLevelRemoveNode, ImpactLevelRestart}
1186}
1187
1188// Kind enumerates the values for kind.
1189type Kind string
1190
1191const (
1192	// KindApplication ...
1193	KindApplication Kind = "Application"
1194	// KindApplications ...
1195	KindApplications Kind = "Applications"
1196	// KindApplicationTypeApplications ...
1197	KindApplicationTypeApplications Kind = "ApplicationTypeApplications"
1198	// KindDeltaNodesCheck ...
1199	KindDeltaNodesCheck Kind = "DeltaNodesCheck"
1200	// KindDeployedApplication ...
1201	KindDeployedApplication Kind = "DeployedApplication"
1202	// KindDeployedApplications ...
1203	KindDeployedApplications Kind = "DeployedApplications"
1204	// KindDeployedServicePackage ...
1205	KindDeployedServicePackage Kind = "DeployedServicePackage"
1206	// KindDeployedServicePackages ...
1207	KindDeployedServicePackages Kind = "DeployedServicePackages"
1208	// KindEvent ...
1209	KindEvent Kind = "Event"
1210	// KindHealthEvaluation ...
1211	KindHealthEvaluation Kind = "HealthEvaluation"
1212	// KindNode ...
1213	KindNode Kind = "Node"
1214	// KindNodes ...
1215	KindNodes Kind = "Nodes"
1216	// KindPartition ...
1217	KindPartition Kind = "Partition"
1218	// KindPartitions ...
1219	KindPartitions Kind = "Partitions"
1220	// KindReplica ...
1221	KindReplica Kind = "Replica"
1222	// KindReplicas ...
1223	KindReplicas Kind = "Replicas"
1224	// KindService ...
1225	KindService Kind = "Service"
1226	// KindServices ...
1227	KindServices Kind = "Services"
1228	// KindSystemApplication ...
1229	KindSystemApplication Kind = "SystemApplication"
1230	// KindUpgradeDomainDeltaNodesCheck ...
1231	KindUpgradeDomainDeltaNodesCheck Kind = "UpgradeDomainDeltaNodesCheck"
1232	// KindUpgradeDomainNodes ...
1233	KindUpgradeDomainNodes Kind = "UpgradeDomainNodes"
1234)
1235
1236// PossibleKindValues returns an array of possible values for the Kind const type.
1237func PossibleKindValues() []Kind {
1238	return []Kind{KindApplication, KindApplications, KindApplicationTypeApplications, KindDeltaNodesCheck, KindDeployedApplication, KindDeployedApplications, KindDeployedServicePackage, KindDeployedServicePackages, KindEvent, KindHealthEvaluation, KindNode, KindNodes, KindPartition, KindPartitions, KindReplica, KindReplicas, KindService, KindServices, KindSystemApplication, KindUpgradeDomainDeltaNodesCheck, KindUpgradeDomainNodes}
1239}
1240
1241// KindBasicBackupConfigurationInfo enumerates the values for kind basic backup configuration info.
1242type KindBasicBackupConfigurationInfo string
1243
1244const (
1245	// KindBasicBackupConfigurationInfoKindApplication ...
1246	KindBasicBackupConfigurationInfoKindApplication KindBasicBackupConfigurationInfo = "Application"
1247	// KindBasicBackupConfigurationInfoKindBackupConfigurationInfo ...
1248	KindBasicBackupConfigurationInfoKindBackupConfigurationInfo KindBasicBackupConfigurationInfo = "BackupConfigurationInfo"
1249	// KindBasicBackupConfigurationInfoKindPartition ...
1250	KindBasicBackupConfigurationInfoKindPartition KindBasicBackupConfigurationInfo = "Partition"
1251	// KindBasicBackupConfigurationInfoKindService ...
1252	KindBasicBackupConfigurationInfoKindService KindBasicBackupConfigurationInfo = "Service"
1253)
1254
1255// PossibleKindBasicBackupConfigurationInfoValues returns an array of possible values for the KindBasicBackupConfigurationInfo const type.
1256func PossibleKindBasicBackupConfigurationInfoValues() []KindBasicBackupConfigurationInfo {
1257	return []KindBasicBackupConfigurationInfo{KindBasicBackupConfigurationInfoKindApplication, KindBasicBackupConfigurationInfoKindBackupConfigurationInfo, KindBasicBackupConfigurationInfoKindPartition, KindBasicBackupConfigurationInfoKindService}
1258}
1259
1260// KindBasicChaosEvent enumerates the values for kind basic chaos event.
1261type KindBasicChaosEvent string
1262
1263const (
1264	// KindChaosEvent ...
1265	KindChaosEvent KindBasicChaosEvent = "ChaosEvent"
1266	// KindExecutingFaults ...
1267	KindExecutingFaults KindBasicChaosEvent = "ExecutingFaults"
1268	// KindStarted ...
1269	KindStarted KindBasicChaosEvent = "Started"
1270	// KindStopped ...
1271	KindStopped KindBasicChaosEvent = "Stopped"
1272	// KindTestError ...
1273	KindTestError KindBasicChaosEvent = "TestError"
1274	// KindValidationFailed ...
1275	KindValidationFailed KindBasicChaosEvent = "ValidationFailed"
1276	// KindWaiting ...
1277	KindWaiting KindBasicChaosEvent = "Waiting"
1278)
1279
1280// PossibleKindBasicChaosEventValues returns an array of possible values for the KindBasicChaosEvent const type.
1281func PossibleKindBasicChaosEventValues() []KindBasicChaosEvent {
1282	return []KindBasicChaosEvent{KindChaosEvent, KindExecutingFaults, KindStarted, KindStopped, KindTestError, KindValidationFailed, KindWaiting}
1283}
1284
1285// KindBasicFabricEvent enumerates the values for kind basic fabric event.
1286type KindBasicFabricEvent string
1287
1288const (
1289	// KindApplicationCreated ...
1290	KindApplicationCreated KindBasicFabricEvent = "ApplicationCreated"
1291	// KindApplicationDeleted ...
1292	KindApplicationDeleted KindBasicFabricEvent = "ApplicationDeleted"
1293	// KindApplicationEvent ...
1294	KindApplicationEvent KindBasicFabricEvent = "ApplicationEvent"
1295	// KindApplicationHealthReportCreated ...
1296	KindApplicationHealthReportCreated KindBasicFabricEvent = "ApplicationHealthReportCreated"
1297	// KindApplicationHealthReportExpired ...
1298	KindApplicationHealthReportExpired KindBasicFabricEvent = "ApplicationHealthReportExpired"
1299	// KindApplicationUpgradeComplete ...
1300	KindApplicationUpgradeComplete KindBasicFabricEvent = "ApplicationUpgradeComplete"
1301	// KindApplicationUpgradeDomainComplete ...
1302	KindApplicationUpgradeDomainComplete KindBasicFabricEvent = "ApplicationUpgradeDomainComplete"
1303	// KindApplicationUpgradeRollbackComplete ...
1304	KindApplicationUpgradeRollbackComplete KindBasicFabricEvent = "ApplicationUpgradeRollbackComplete"
1305	// KindApplicationUpgradeRollbackStart ...
1306	KindApplicationUpgradeRollbackStart KindBasicFabricEvent = "ApplicationUpgradeRollbackStart"
1307	// KindApplicationUpgradeStart ...
1308	KindApplicationUpgradeStart KindBasicFabricEvent = "ApplicationUpgradeStart"
1309	// KindChaosMovePrimaryFaultScheduled ...
1310	KindChaosMovePrimaryFaultScheduled KindBasicFabricEvent = "ChaosMovePrimaryFaultScheduled"
1311	// KindChaosMoveSecondaryFaultScheduled ...
1312	KindChaosMoveSecondaryFaultScheduled KindBasicFabricEvent = "ChaosMoveSecondaryFaultScheduled"
1313	// KindChaosRemoveReplicaFaultCompleted ...
1314	KindChaosRemoveReplicaFaultCompleted KindBasicFabricEvent = "ChaosRemoveReplicaFaultCompleted"
1315	// KindChaosRemoveReplicaFaultScheduled ...
1316	KindChaosRemoveReplicaFaultScheduled KindBasicFabricEvent = "ChaosRemoveReplicaFaultScheduled"
1317	// KindChaosRestartCodePackageFaultCompleted ...
1318	KindChaosRestartCodePackageFaultCompleted KindBasicFabricEvent = "ChaosRestartCodePackageFaultCompleted"
1319	// KindChaosRestartCodePackageFaultScheduled ...
1320	KindChaosRestartCodePackageFaultScheduled KindBasicFabricEvent = "ChaosRestartCodePackageFaultScheduled"
1321	// KindChaosRestartNodeFaultCompleted ...
1322	KindChaosRestartNodeFaultCompleted KindBasicFabricEvent = "ChaosRestartNodeFaultCompleted"
1323	// KindChaosRestartNodeFaultScheduled ...
1324	KindChaosRestartNodeFaultScheduled KindBasicFabricEvent = "ChaosRestartNodeFaultScheduled"
1325	// KindChaosRestartReplicaFaultScheduled ...
1326	KindChaosRestartReplicaFaultScheduled KindBasicFabricEvent = "ChaosRestartReplicaFaultScheduled"
1327	// KindChaosStarted ...
1328	KindChaosStarted KindBasicFabricEvent = "ChaosStarted"
1329	// KindChaosStopped ...
1330	KindChaosStopped KindBasicFabricEvent = "ChaosStopped"
1331	// KindClusterEvent ...
1332	KindClusterEvent KindBasicFabricEvent = "ClusterEvent"
1333	// KindClusterHealthReportCreated ...
1334	KindClusterHealthReportCreated KindBasicFabricEvent = "ClusterHealthReportCreated"
1335	// KindClusterHealthReportExpired ...
1336	KindClusterHealthReportExpired KindBasicFabricEvent = "ClusterHealthReportExpired"
1337	// KindClusterUpgradeComplete ...
1338	KindClusterUpgradeComplete KindBasicFabricEvent = "ClusterUpgradeComplete"
1339	// KindClusterUpgradeDomainComplete ...
1340	KindClusterUpgradeDomainComplete KindBasicFabricEvent = "ClusterUpgradeDomainComplete"
1341	// KindClusterUpgradeRollbackComplete ...
1342	KindClusterUpgradeRollbackComplete KindBasicFabricEvent = "ClusterUpgradeRollbackComplete"
1343	// KindClusterUpgradeRollbackStart ...
1344	KindClusterUpgradeRollbackStart KindBasicFabricEvent = "ClusterUpgradeRollbackStart"
1345	// KindClusterUpgradeStart ...
1346	KindClusterUpgradeStart KindBasicFabricEvent = "ClusterUpgradeStart"
1347	// KindContainerDeactivated ...
1348	KindContainerDeactivated KindBasicFabricEvent = "ContainerDeactivated"
1349	// KindContainerInstanceEvent ...
1350	KindContainerInstanceEvent KindBasicFabricEvent = "ContainerInstanceEvent"
1351	// KindDeployedApplicationHealthReportCreated ...
1352	KindDeployedApplicationHealthReportCreated KindBasicFabricEvent = "DeployedApplicationHealthReportCreated"
1353	// KindDeployedApplicationHealthReportExpired ...
1354	KindDeployedApplicationHealthReportExpired KindBasicFabricEvent = "DeployedApplicationHealthReportExpired"
1355	// KindDeployedServiceHealthReportCreated ...
1356	KindDeployedServiceHealthReportCreated KindBasicFabricEvent = "DeployedServiceHealthReportCreated"
1357	// KindDeployedServiceHealthReportExpired ...
1358	KindDeployedServiceHealthReportExpired KindBasicFabricEvent = "DeployedServiceHealthReportExpired"
1359	// KindFabricEvent ...
1360	KindFabricEvent KindBasicFabricEvent = "FabricEvent"
1361	// KindNodeAborted ...
1362	KindNodeAborted KindBasicFabricEvent = "NodeAborted"
1363	// KindNodeAborting ...
1364	KindNodeAborting KindBasicFabricEvent = "NodeAborting"
1365	// KindNodeAdded ...
1366	KindNodeAdded KindBasicFabricEvent = "NodeAdded"
1367	// KindNodeClose ...
1368	KindNodeClose KindBasicFabricEvent = "NodeClose"
1369	// KindNodeClosing ...
1370	KindNodeClosing KindBasicFabricEvent = "NodeClosing"
1371	// KindNodeDeactivateComplete ...
1372	KindNodeDeactivateComplete KindBasicFabricEvent = "NodeDeactivateComplete"
1373	// KindNodeDeactivateStart ...
1374	KindNodeDeactivateStart KindBasicFabricEvent = "NodeDeactivateStart"
1375	// KindNodeDown ...
1376	KindNodeDown KindBasicFabricEvent = "NodeDown"
1377	// KindNodeEvent ...
1378	KindNodeEvent KindBasicFabricEvent = "NodeEvent"
1379	// KindNodeHealthReportCreated ...
1380	KindNodeHealthReportCreated KindBasicFabricEvent = "NodeHealthReportCreated"
1381	// KindNodeHealthReportExpired ...
1382	KindNodeHealthReportExpired KindBasicFabricEvent = "NodeHealthReportExpired"
1383	// KindNodeOpenedSuccess ...
1384	KindNodeOpenedSuccess KindBasicFabricEvent = "NodeOpenedSuccess"
1385	// KindNodeOpenFailed ...
1386	KindNodeOpenFailed KindBasicFabricEvent = "NodeOpenFailed"
1387	// KindNodeOpening ...
1388	KindNodeOpening KindBasicFabricEvent = "NodeOpening"
1389	// KindNodeRemoved ...
1390	KindNodeRemoved KindBasicFabricEvent = "NodeRemoved"
1391	// KindNodeUp ...
1392	KindNodeUp KindBasicFabricEvent = "NodeUp"
1393	// KindPartitionAnalysisEvent ...
1394	KindPartitionAnalysisEvent KindBasicFabricEvent = "PartitionAnalysisEvent"
1395	// KindPartitionEvent ...
1396	KindPartitionEvent KindBasicFabricEvent = "PartitionEvent"
1397	// KindPartitionHealthReportCreated ...
1398	KindPartitionHealthReportCreated KindBasicFabricEvent = "PartitionHealthReportCreated"
1399	// KindPartitionHealthReportExpired ...
1400	KindPartitionHealthReportExpired KindBasicFabricEvent = "PartitionHealthReportExpired"
1401	// KindPartitionPrimaryMoveAnalysis ...
1402	KindPartitionPrimaryMoveAnalysis KindBasicFabricEvent = "PartitionPrimaryMoveAnalysis"
1403	// KindPartitionReconfigurationCompleted ...
1404	KindPartitionReconfigurationCompleted KindBasicFabricEvent = "PartitionReconfigurationCompleted"
1405	// KindProcessDeactivated ...
1406	KindProcessDeactivated KindBasicFabricEvent = "ProcessDeactivated"
1407	// KindReplicaEvent ...
1408	KindReplicaEvent KindBasicFabricEvent = "ReplicaEvent"
1409	// KindServiceCreated ...
1410	KindServiceCreated KindBasicFabricEvent = "ServiceCreated"
1411	// KindServiceDeleted ...
1412	KindServiceDeleted KindBasicFabricEvent = "ServiceDeleted"
1413	// KindServiceEvent ...
1414	KindServiceEvent KindBasicFabricEvent = "ServiceEvent"
1415	// KindServiceHealthReportCreated ...
1416	KindServiceHealthReportCreated KindBasicFabricEvent = "ServiceHealthReportCreated"
1417	// KindServiceHealthReportExpired ...
1418	KindServiceHealthReportExpired KindBasicFabricEvent = "ServiceHealthReportExpired"
1419	// KindStatefulReplicaHealthReportCreated ...
1420	KindStatefulReplicaHealthReportCreated KindBasicFabricEvent = "StatefulReplicaHealthReportCreated"
1421	// KindStatefulReplicaHealthReportExpired ...
1422	KindStatefulReplicaHealthReportExpired KindBasicFabricEvent = "StatefulReplicaHealthReportExpired"
1423	// KindStatelessReplicaHealthReportCreated ...
1424	KindStatelessReplicaHealthReportCreated KindBasicFabricEvent = "StatelessReplicaHealthReportCreated"
1425	// KindStatelessReplicaHealthReportExpired ...
1426	KindStatelessReplicaHealthReportExpired KindBasicFabricEvent = "StatelessReplicaHealthReportExpired"
1427)
1428
1429// PossibleKindBasicFabricEventValues returns an array of possible values for the KindBasicFabricEvent const type.
1430func PossibleKindBasicFabricEventValues() []KindBasicFabricEvent {
1431	return []KindBasicFabricEvent{KindApplicationCreated, KindApplicationDeleted, KindApplicationEvent, KindApplicationHealthReportCreated, KindApplicationHealthReportExpired, KindApplicationUpgradeComplete, KindApplicationUpgradeDomainComplete, KindApplicationUpgradeRollbackComplete, KindApplicationUpgradeRollbackStart, KindApplicationUpgradeStart, KindChaosMovePrimaryFaultScheduled, KindChaosMoveSecondaryFaultScheduled, KindChaosRemoveReplicaFaultCompleted, KindChaosRemoveReplicaFaultScheduled, KindChaosRestartCodePackageFaultCompleted, KindChaosRestartCodePackageFaultScheduled, KindChaosRestartNodeFaultCompleted, KindChaosRestartNodeFaultScheduled, KindChaosRestartReplicaFaultScheduled, KindChaosStarted, KindChaosStopped, KindClusterEvent, KindClusterHealthReportCreated, KindClusterHealthReportExpired, KindClusterUpgradeComplete, KindClusterUpgradeDomainComplete, KindClusterUpgradeRollbackComplete, KindClusterUpgradeRollbackStart, KindClusterUpgradeStart, KindContainerDeactivated, KindContainerInstanceEvent, KindDeployedApplicationHealthReportCreated, KindDeployedApplicationHealthReportExpired, KindDeployedServiceHealthReportCreated, KindDeployedServiceHealthReportExpired, KindFabricEvent, KindNodeAborted, KindNodeAborting, KindNodeAdded, KindNodeClose, KindNodeClosing, KindNodeDeactivateComplete, KindNodeDeactivateStart, KindNodeDown, KindNodeEvent, KindNodeHealthReportCreated, KindNodeHealthReportExpired, KindNodeOpenedSuccess, KindNodeOpenFailed, KindNodeOpening, KindNodeRemoved, KindNodeUp, KindPartitionAnalysisEvent, KindPartitionEvent, KindPartitionHealthReportCreated, KindPartitionHealthReportExpired, KindPartitionPrimaryMoveAnalysis, KindPartitionReconfigurationCompleted, KindProcessDeactivated, KindReplicaEvent, KindServiceCreated, KindServiceDeleted, KindServiceEvent, KindServiceHealthReportCreated, KindServiceHealthReportExpired, KindStatefulReplicaHealthReportCreated, KindStatefulReplicaHealthReportExpired, KindStatelessReplicaHealthReportCreated, KindStatelessReplicaHealthReportExpired}
1432}
1433
1434// KindBasicPropertyBatchInfo enumerates the values for kind basic property batch info.
1435type KindBasicPropertyBatchInfo string
1436
1437const (
1438	// KindFailed ...
1439	KindFailed KindBasicPropertyBatchInfo = "Failed"
1440	// KindPropertyBatchInfo ...
1441	KindPropertyBatchInfo KindBasicPropertyBatchInfo = "PropertyBatchInfo"
1442	// KindSuccessful ...
1443	KindSuccessful KindBasicPropertyBatchInfo = "Successful"
1444)
1445
1446// PossibleKindBasicPropertyBatchInfoValues returns an array of possible values for the KindBasicPropertyBatchInfo const type.
1447func PossibleKindBasicPropertyBatchInfoValues() []KindBasicPropertyBatchInfo {
1448	return []KindBasicPropertyBatchInfo{KindFailed, KindPropertyBatchInfo, KindSuccessful}
1449}
1450
1451// KindBasicPropertyBatchOperation enumerates the values for kind basic property batch operation.
1452type KindBasicPropertyBatchOperation string
1453
1454const (
1455	// KindCheckExists ...
1456	KindCheckExists KindBasicPropertyBatchOperation = "CheckExists"
1457	// KindCheckSequence ...
1458	KindCheckSequence KindBasicPropertyBatchOperation = "CheckSequence"
1459	// KindCheckValue ...
1460	KindCheckValue KindBasicPropertyBatchOperation = "CheckValue"
1461	// KindDelete ...
1462	KindDelete KindBasicPropertyBatchOperation = "Delete"
1463	// KindGet ...
1464	KindGet KindBasicPropertyBatchOperation = "Get"
1465	// KindPropertyBatchOperation ...
1466	KindPropertyBatchOperation KindBasicPropertyBatchOperation = "PropertyBatchOperation"
1467	// KindPut ...
1468	KindPut KindBasicPropertyBatchOperation = "Put"
1469)
1470
1471// PossibleKindBasicPropertyBatchOperationValues returns an array of possible values for the KindBasicPropertyBatchOperation const type.
1472func PossibleKindBasicPropertyBatchOperationValues() []KindBasicPropertyBatchOperation {
1473	return []KindBasicPropertyBatchOperation{KindCheckExists, KindCheckSequence, KindCheckValue, KindDelete, KindGet, KindPropertyBatchOperation, KindPut}
1474}
1475
1476// KindBasicPropertyValue enumerates the values for kind basic property value.
1477type KindBasicPropertyValue string
1478
1479const (
1480	// KindBinary ...
1481	KindBinary KindBasicPropertyValue = "Binary"
1482	// KindDouble ...
1483	KindDouble KindBasicPropertyValue = "Double"
1484	// KindGUID ...
1485	KindGUID KindBasicPropertyValue = "Guid"
1486	// KindInt64 ...
1487	KindInt64 KindBasicPropertyValue = "Int64"
1488	// KindPropertyValue ...
1489	KindPropertyValue KindBasicPropertyValue = "PropertyValue"
1490	// KindString ...
1491	KindString KindBasicPropertyValue = "String"
1492)
1493
1494// PossibleKindBasicPropertyValueValues returns an array of possible values for the KindBasicPropertyValue const type.
1495func PossibleKindBasicPropertyValueValues() []KindBasicPropertyValue {
1496	return []KindBasicPropertyValue{KindBinary, KindDouble, KindGUID, KindInt64, KindPropertyValue, KindString}
1497}
1498
1499// KindBasicProvisionApplicationTypeDescriptionBase enumerates the values for kind basic provision application
1500// type description base.
1501type KindBasicProvisionApplicationTypeDescriptionBase string
1502
1503const (
1504	// KindExternalStore ...
1505	KindExternalStore KindBasicProvisionApplicationTypeDescriptionBase = "ExternalStore"
1506	// KindImageStorePath ...
1507	KindImageStorePath KindBasicProvisionApplicationTypeDescriptionBase = "ImageStorePath"
1508	// KindProvisionApplicationTypeDescriptionBase ...
1509	KindProvisionApplicationTypeDescriptionBase KindBasicProvisionApplicationTypeDescriptionBase = "ProvisionApplicationTypeDescriptionBase"
1510)
1511
1512// PossibleKindBasicProvisionApplicationTypeDescriptionBaseValues returns an array of possible values for the KindBasicProvisionApplicationTypeDescriptionBase const type.
1513func PossibleKindBasicProvisionApplicationTypeDescriptionBaseValues() []KindBasicProvisionApplicationTypeDescriptionBase {
1514	return []KindBasicProvisionApplicationTypeDescriptionBase{KindExternalStore, KindImageStorePath, KindProvisionApplicationTypeDescriptionBase}
1515}
1516
1517// KindBasicRepairImpactDescriptionBase enumerates the values for kind basic repair impact description base.
1518type KindBasicRepairImpactDescriptionBase string
1519
1520const (
1521	// KindBasicRepairImpactDescriptionBaseKindNode ...
1522	KindBasicRepairImpactDescriptionBaseKindNode KindBasicRepairImpactDescriptionBase = "Node"
1523	// KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase ...
1524	KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase KindBasicRepairImpactDescriptionBase = "RepairImpactDescriptionBase"
1525)
1526
1527// PossibleKindBasicRepairImpactDescriptionBaseValues returns an array of possible values for the KindBasicRepairImpactDescriptionBase const type.
1528func PossibleKindBasicRepairImpactDescriptionBaseValues() []KindBasicRepairImpactDescriptionBase {
1529	return []KindBasicRepairImpactDescriptionBase{KindBasicRepairImpactDescriptionBaseKindNode, KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase}
1530}
1531
1532// KindBasicRepairTargetDescriptionBase enumerates the values for kind basic repair target description base.
1533type KindBasicRepairTargetDescriptionBase string
1534
1535const (
1536	// KindBasicRepairTargetDescriptionBaseKindNode ...
1537	KindBasicRepairTargetDescriptionBaseKindNode KindBasicRepairTargetDescriptionBase = "Node"
1538	// KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase ...
1539	KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase KindBasicRepairTargetDescriptionBase = "RepairTargetDescriptionBase"
1540)
1541
1542// PossibleKindBasicRepairTargetDescriptionBaseValues returns an array of possible values for the KindBasicRepairTargetDescriptionBase const type.
1543func PossibleKindBasicRepairTargetDescriptionBaseValues() []KindBasicRepairTargetDescriptionBase {
1544	return []KindBasicRepairTargetDescriptionBase{KindBasicRepairTargetDescriptionBaseKindNode, KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase}
1545}
1546
1547// KindBasicReplicaStatusBase enumerates the values for kind basic replica status base.
1548type KindBasicReplicaStatusBase string
1549
1550const (
1551	// KindKeyValueStore ...
1552	KindKeyValueStore KindBasicReplicaStatusBase = "KeyValueStore"
1553	// KindReplicaStatusBase ...
1554	KindReplicaStatusBase KindBasicReplicaStatusBase = "ReplicaStatusBase"
1555)
1556
1557// PossibleKindBasicReplicaStatusBaseValues returns an array of possible values for the KindBasicReplicaStatusBase const type.
1558func PossibleKindBasicReplicaStatusBaseValues() []KindBasicReplicaStatusBase {
1559	return []KindBasicReplicaStatusBase{KindKeyValueStore, KindReplicaStatusBase}
1560}
1561
1562// KindBasicReplicatorStatus enumerates the values for kind basic replicator status.
1563type KindBasicReplicatorStatus string
1564
1565const (
1566	// KindActiveSecondary ...
1567	KindActiveSecondary KindBasicReplicatorStatus = "ActiveSecondary"
1568	// KindIdleSecondary ...
1569	KindIdleSecondary KindBasicReplicatorStatus = "IdleSecondary"
1570	// KindPrimary ...
1571	KindPrimary KindBasicReplicatorStatus = "Primary"
1572	// KindReplicatorStatus ...
1573	KindReplicatorStatus KindBasicReplicatorStatus = "ReplicatorStatus"
1574	// KindSecondaryReplicatorStatus ...
1575	KindSecondaryReplicatorStatus KindBasicReplicatorStatus = "SecondaryReplicatorStatus"
1576)
1577
1578// PossibleKindBasicReplicatorStatusValues returns an array of possible values for the KindBasicReplicatorStatus const type.
1579func PossibleKindBasicReplicatorStatusValues() []KindBasicReplicatorStatus {
1580	return []KindBasicReplicatorStatus{KindActiveSecondary, KindIdleSecondary, KindPrimary, KindReplicatorStatus, KindSecondaryReplicatorStatus}
1581}
1582
1583// KindBasicSafetyCheck enumerates the values for kind basic safety check.
1584type KindBasicSafetyCheck string
1585
1586const (
1587	// KindEnsureAvailability ...
1588	KindEnsureAvailability KindBasicSafetyCheck = "EnsureAvailability"
1589	// KindEnsurePartitionQuorum ...
1590	KindEnsurePartitionQuorum KindBasicSafetyCheck = "EnsurePartitionQuorum"
1591	// KindEnsureSeedNodeQuorum ...
1592	KindEnsureSeedNodeQuorum KindBasicSafetyCheck = "EnsureSeedNodeQuorum"
1593	// KindPartitionSafetyCheck ...
1594	KindPartitionSafetyCheck KindBasicSafetyCheck = "PartitionSafetyCheck"
1595	// KindSafetyCheck ...
1596	KindSafetyCheck KindBasicSafetyCheck = "SafetyCheck"
1597	// KindWaitForInbuildReplica ...
1598	KindWaitForInbuildReplica KindBasicSafetyCheck = "WaitForInbuildReplica"
1599	// KindWaitForPrimaryPlacement ...
1600	KindWaitForPrimaryPlacement KindBasicSafetyCheck = "WaitForPrimaryPlacement"
1601	// KindWaitForPrimarySwap ...
1602	KindWaitForPrimarySwap KindBasicSafetyCheck = "WaitForPrimarySwap"
1603	// KindWaitForReconfiguration ...
1604	KindWaitForReconfiguration KindBasicSafetyCheck = "WaitForReconfiguration"
1605)
1606
1607// PossibleKindBasicSafetyCheckValues returns an array of possible values for the KindBasicSafetyCheck const type.
1608func PossibleKindBasicSafetyCheckValues() []KindBasicSafetyCheck {
1609	return []KindBasicSafetyCheck{KindEnsureAvailability, KindEnsurePartitionQuorum, KindEnsureSeedNodeQuorum, KindPartitionSafetyCheck, KindSafetyCheck, KindWaitForInbuildReplica, KindWaitForPrimaryPlacement, KindWaitForPrimarySwap, KindWaitForReconfiguration}
1610}
1611
1612// KindBasicScalingMechanismDescription enumerates the values for kind basic scaling mechanism description.
1613type KindBasicScalingMechanismDescription string
1614
1615const (
1616	// KindAddRemoveIncrementalNamedPartition ...
1617	KindAddRemoveIncrementalNamedPartition KindBasicScalingMechanismDescription = "AddRemoveIncrementalNamedPartition"
1618	// KindPartitionInstanceCount ...
1619	KindPartitionInstanceCount KindBasicScalingMechanismDescription = "PartitionInstanceCount"
1620	// KindScalingMechanismDescription ...
1621	KindScalingMechanismDescription KindBasicScalingMechanismDescription = "ScalingMechanismDescription"
1622)
1623
1624// PossibleKindBasicScalingMechanismDescriptionValues returns an array of possible values for the KindBasicScalingMechanismDescription const type.
1625func PossibleKindBasicScalingMechanismDescriptionValues() []KindBasicScalingMechanismDescription {
1626	return []KindBasicScalingMechanismDescription{KindAddRemoveIncrementalNamedPartition, KindPartitionInstanceCount, KindScalingMechanismDescription}
1627}
1628
1629// KindBasicScalingTriggerDescription enumerates the values for kind basic scaling trigger description.
1630type KindBasicScalingTriggerDescription string
1631
1632const (
1633	// KindAveragePartitionLoad ...
1634	KindAveragePartitionLoad KindBasicScalingTriggerDescription = "AveragePartitionLoad"
1635	// KindAverageServiceLoad ...
1636	KindAverageServiceLoad KindBasicScalingTriggerDescription = "AverageServiceLoad"
1637	// KindScalingTriggerDescription ...
1638	KindScalingTriggerDescription KindBasicScalingTriggerDescription = "ScalingTriggerDescription"
1639)
1640
1641// PossibleKindBasicScalingTriggerDescriptionValues returns an array of possible values for the KindBasicScalingTriggerDescription const type.
1642func PossibleKindBasicScalingTriggerDescriptionValues() []KindBasicScalingTriggerDescription {
1643	return []KindBasicScalingTriggerDescription{KindAveragePartitionLoad, KindAverageServiceLoad, KindScalingTriggerDescription}
1644}
1645
1646// KindBasicServiceTypeDescription enumerates the values for kind basic service type description.
1647type KindBasicServiceTypeDescription string
1648
1649const (
1650	// KindServiceTypeDescription ...
1651	KindServiceTypeDescription KindBasicServiceTypeDescription = "ServiceTypeDescription"
1652	// KindStateful ...
1653	KindStateful KindBasicServiceTypeDescription = "Stateful"
1654	// KindStateless ...
1655	KindStateless KindBasicServiceTypeDescription = "Stateless"
1656)
1657
1658// PossibleKindBasicServiceTypeDescriptionValues returns an array of possible values for the KindBasicServiceTypeDescription const type.
1659func PossibleKindBasicServiceTypeDescriptionValues() []KindBasicServiceTypeDescription {
1660	return []KindBasicServiceTypeDescription{KindServiceTypeDescription, KindStateful, KindStateless}
1661}
1662
1663// MoveCost enumerates the values for move cost.
1664type MoveCost string
1665
1666const (
1667	// High Specifies the move cost of the service as High. The value is 3.
1668	High MoveCost = "High"
1669	// Low Specifies the move cost of the service as Low. The value is 1.
1670	Low MoveCost = "Low"
1671	// Medium Specifies the move cost of the service as Medium. The value is 2.
1672	Medium MoveCost = "Medium"
1673	// Zero Zero move cost. This value is zero.
1674	Zero MoveCost = "Zero"
1675)
1676
1677// PossibleMoveCostValues returns an array of possible values for the MoveCost const type.
1678func PossibleMoveCostValues() []MoveCost {
1679	return []MoveCost{High, Low, Medium, Zero}
1680}
1681
1682// NodeDeactivationIntent enumerates the values for node deactivation intent.
1683type NodeDeactivationIntent string
1684
1685const (
1686	// NodeDeactivationIntentInvalid Indicates the node deactivation intent is invalid. All Service Fabric
1687	// enumerations have the invalid type. The value is zero. This value is not used.
1688	NodeDeactivationIntentInvalid NodeDeactivationIntent = "Invalid"
1689	// NodeDeactivationIntentPause Indicates that the node should be paused. The value is 1.
1690	NodeDeactivationIntentPause NodeDeactivationIntent = "Pause"
1691	// NodeDeactivationIntentRemoveData Indicates that the intent is to reimage the node. Service Fabric does
1692	// not reimage the node, this action is done outside of Service Fabric. The value is 3.
1693	NodeDeactivationIntentRemoveData NodeDeactivationIntent = "RemoveData"
1694	// NodeDeactivationIntentRemoveNode Indicates that the node is being decommissioned and is not expected to
1695	// return. Service Fabric does not decommission the node, this action is done outside of Service Fabric.
1696	// The value is 4.
1697	NodeDeactivationIntentRemoveNode NodeDeactivationIntent = "RemoveNode"
1698	// NodeDeactivationIntentRestart Indicates that the intent is for the node to be restarted after a short
1699	// period of time. Service Fabric does not restart the node, this action is done outside of Service Fabric.
1700	// The value is 2.
1701	NodeDeactivationIntentRestart NodeDeactivationIntent = "Restart"
1702)
1703
1704// PossibleNodeDeactivationIntentValues returns an array of possible values for the NodeDeactivationIntent const type.
1705func PossibleNodeDeactivationIntentValues() []NodeDeactivationIntent {
1706	return []NodeDeactivationIntent{NodeDeactivationIntentInvalid, NodeDeactivationIntentPause, NodeDeactivationIntentRemoveData, NodeDeactivationIntentRemoveNode, NodeDeactivationIntentRestart}
1707}
1708
1709// NodeDeactivationStatus enumerates the values for node deactivation status.
1710type NodeDeactivationStatus string
1711
1712const (
1713	// NodeDeactivationStatusCompleted The task is completed. The value is 3.
1714	NodeDeactivationStatusCompleted NodeDeactivationStatus = "Completed"
1715	// NodeDeactivationStatusNone No status is associated with the task. The value is zero.
1716	NodeDeactivationStatusNone NodeDeactivationStatus = "None"
1717	// NodeDeactivationStatusSafetyCheckComplete When a node is deactivated Service Fabric performs checks to
1718	// ensure that the operation is safe to proceed to ensure availability of the service and reliability of
1719	// the state. This value indicates that all safety checks have been completed. The value is 2.
1720	NodeDeactivationStatusSafetyCheckComplete NodeDeactivationStatus = "SafetyCheckComplete"
1721	// NodeDeactivationStatusSafetyCheckInProgress When a node is deactivated Service Fabric performs checks to
1722	// ensure that the operation is safe to proceed to ensure availability of the service and reliability of
1723	// the state. This value indicates that one or more safety checks are in progress. The value is 1.
1724	NodeDeactivationStatusSafetyCheckInProgress NodeDeactivationStatus = "SafetyCheckInProgress"
1725)
1726
1727// PossibleNodeDeactivationStatusValues returns an array of possible values for the NodeDeactivationStatus const type.
1728func PossibleNodeDeactivationStatusValues() []NodeDeactivationStatus {
1729	return []NodeDeactivationStatus{NodeDeactivationStatusCompleted, NodeDeactivationStatusNone, NodeDeactivationStatusSafetyCheckComplete, NodeDeactivationStatusSafetyCheckInProgress}
1730}
1731
1732// NodeDeactivationTaskType enumerates the values for node deactivation task type.
1733type NodeDeactivationTaskType string
1734
1735const (
1736	// NodeDeactivationTaskTypeClient Specifies that the task was created by using the public API. The value is
1737	// 3.
1738	NodeDeactivationTaskTypeClient NodeDeactivationTaskType = "Client"
1739	// NodeDeactivationTaskTypeInfrastructure Specifies the task created by Infrastructure hosting the nodes.
1740	// The value is 1.
1741	NodeDeactivationTaskTypeInfrastructure NodeDeactivationTaskType = "Infrastructure"
1742	// NodeDeactivationTaskTypeInvalid Indicates the node deactivation task type is invalid. All Service Fabric
1743	// enumerations have the invalid type. The value is zero. This value is not used.
1744	NodeDeactivationTaskTypeInvalid NodeDeactivationTaskType = "Invalid"
1745	// NodeDeactivationTaskTypeRepair Specifies the task that was created by the Repair Manager service. The
1746	// value is 2.
1747	NodeDeactivationTaskTypeRepair NodeDeactivationTaskType = "Repair"
1748)
1749
1750// PossibleNodeDeactivationTaskTypeValues returns an array of possible values for the NodeDeactivationTaskType const type.
1751func PossibleNodeDeactivationTaskTypeValues() []NodeDeactivationTaskType {
1752	return []NodeDeactivationTaskType{NodeDeactivationTaskTypeClient, NodeDeactivationTaskTypeInfrastructure, NodeDeactivationTaskTypeInvalid, NodeDeactivationTaskTypeRepair}
1753}
1754
1755// NodeStatus enumerates the values for node status.
1756type NodeStatus string
1757
1758const (
1759	// NodeStatusDisabled Indicates the node is disabled. The value is 5.
1760	NodeStatusDisabled NodeStatus = "Disabled"
1761	// NodeStatusDisabling Indicates the node is in the process of being disabled. The value is 4.
1762	NodeStatusDisabling NodeStatus = "Disabling"
1763	// NodeStatusDown Indicates the node is down. The value is 2.
1764	NodeStatusDown NodeStatus = "Down"
1765	// NodeStatusEnabling Indicates the node is in process of being enabled. The value is 3.
1766	NodeStatusEnabling NodeStatus = "Enabling"
1767	// NodeStatusInvalid Indicates the node status is invalid. All Service Fabric enumerations have the invalid
1768	// type. The value is zero.
1769	NodeStatusInvalid NodeStatus = "Invalid"
1770	// NodeStatusRemoved Indicates the node is removed. A node would be in Removed state if NodeStateRemoved
1771	// API has been called for this node. In other words, Service Fabric has been informed that the persisted
1772	// state on the node has been permanently lost. The value is 7.
1773	NodeStatusRemoved NodeStatus = "Removed"
1774	// NodeStatusUnknown Indicates the node is unknown. A node would be in Unknown state if Service Fabric does
1775	// not have authoritative information about that node. This can happen if the system learns about a node at
1776	// runtime.The value is 6.
1777	NodeStatusUnknown NodeStatus = "Unknown"
1778	// NodeStatusUp Indicates the node is up. The value is 1.
1779	NodeStatusUp NodeStatus = "Up"
1780)
1781
1782// PossibleNodeStatusValues returns an array of possible values for the NodeStatus const type.
1783func PossibleNodeStatusValues() []NodeStatus {
1784	return []NodeStatus{NodeStatusDisabled, NodeStatusDisabling, NodeStatusDown, NodeStatusEnabling, NodeStatusInvalid, NodeStatusRemoved, NodeStatusUnknown, NodeStatusUp}
1785}
1786
1787// NodeStatusFilter enumerates the values for node status filter.
1788type NodeStatusFilter string
1789
1790const (
1791	// All This filter value will match all of the nodes.
1792	All NodeStatusFilter = "all"
1793	// Default This filter value will match all of the nodes excepts the ones with with status as Unknown or
1794	// Removed.
1795	Default NodeStatusFilter = "default"
1796	// Disabled This filter value will match nodes that are Disabled.
1797	Disabled NodeStatusFilter = "disabled"
1798	// Disabling This filter value will match nodes that are in the process of being disabled with status as
1799	// Disabling.
1800	Disabling NodeStatusFilter = "disabling"
1801	// Down This filter value will match nodes that are Down.
1802	Down NodeStatusFilter = "down"
1803	// Enabling This filter value will match nodes that are in the process of being enabled with status as
1804	// Enabling.
1805	Enabling NodeStatusFilter = "enabling"
1806	// Removed This filter value will match nodes whose status is Removed. These are the nodes that are removed
1807	// from the cluster using the RemoveNodeState API.
1808	Removed NodeStatusFilter = "removed"
1809	// Unknown This filter value will match nodes whose status is Unknown. A node would be in Unknown state if
1810	// Service Fabric does not have authoritative information about that node. This can happen if the system
1811	// learns about a node at runtime.
1812	Unknown NodeStatusFilter = "unknown"
1813	// Up This filter value will match nodes that are Up.
1814	Up NodeStatusFilter = "up"
1815)
1816
1817// PossibleNodeStatusFilterValues returns an array of possible values for the NodeStatusFilter const type.
1818func PossibleNodeStatusFilterValues() []NodeStatusFilter {
1819	return []NodeStatusFilter{All, Default, Disabled, Disabling, Down, Enabling, Removed, Unknown, Up}
1820}
1821
1822// NodeTransitionType enumerates the values for node transition type.
1823type NodeTransitionType string
1824
1825const (
1826	// NodeTransitionTypeInvalid Reserved.  Do not pass into API.
1827	NodeTransitionTypeInvalid NodeTransitionType = "Invalid"
1828	// NodeTransitionTypeStart Transition a stopped node to up.
1829	NodeTransitionTypeStart NodeTransitionType = "Start"
1830	// NodeTransitionTypeStop Transition an up node to stopped.
1831	NodeTransitionTypeStop NodeTransitionType = "Stop"
1832)
1833
1834// PossibleNodeTransitionTypeValues returns an array of possible values for the NodeTransitionType const type.
1835func PossibleNodeTransitionTypeValues() []NodeTransitionType {
1836	return []NodeTransitionType{NodeTransitionTypeInvalid, NodeTransitionTypeStart, NodeTransitionTypeStop}
1837}
1838
1839// NodeUpgradePhase enumerates the values for node upgrade phase.
1840type NodeUpgradePhase string
1841
1842const (
1843	// NodeUpgradePhaseInvalid Indicates the upgrade state is invalid. All Service Fabric enumerations have the
1844	// invalid type. The value is zero.
1845	NodeUpgradePhaseInvalid NodeUpgradePhase = "Invalid"
1846	// NodeUpgradePhasePostUpgradeSafetyCheck The upgrade has completed and post upgrade safety checks are
1847	// being performed. The value is 3
1848	NodeUpgradePhasePostUpgradeSafetyCheck NodeUpgradePhase = "PostUpgradeSafetyCheck"
1849	// NodeUpgradePhasePreUpgradeSafetyCheck The upgrade has not started yet due to pending safety checks. The
1850	// value is 1
1851	NodeUpgradePhasePreUpgradeSafetyCheck NodeUpgradePhase = "PreUpgradeSafetyCheck"
1852	// NodeUpgradePhaseUpgrading The upgrade is in progress. The value is 2
1853	NodeUpgradePhaseUpgrading NodeUpgradePhase = "Upgrading"
1854)
1855
1856// PossibleNodeUpgradePhaseValues returns an array of possible values for the NodeUpgradePhase const type.
1857func PossibleNodeUpgradePhaseValues() []NodeUpgradePhase {
1858	return []NodeUpgradePhase{NodeUpgradePhaseInvalid, NodeUpgradePhasePostUpgradeSafetyCheck, NodeUpgradePhasePreUpgradeSafetyCheck, NodeUpgradePhaseUpgrading}
1859}
1860
1861// OperationState enumerates the values for operation state.
1862type OperationState string
1863
1864const (
1865	// OperationStateCancelled The operation was cancelled by the user using CancelOperation, and is no longer
1866	// running.
1867	OperationStateCancelled OperationState = "Cancelled"
1868	// OperationStateCompleted The operation has completed successfully and is no longer running.
1869	OperationStateCompleted OperationState = "Completed"
1870	// OperationStateFaulted The operation has failed and is no longer running.
1871	OperationStateFaulted OperationState = "Faulted"
1872	// OperationStateForceCancelled The operation was cancelled by the user using CancelOperation, with the
1873	// force parameter set to true.  It is no longer running.  Refer to CancelOperation for more details.
1874	OperationStateForceCancelled OperationState = "ForceCancelled"
1875	// OperationStateInvalid The operation state is invalid.
1876	OperationStateInvalid OperationState = "Invalid"
1877	// OperationStateRollingBack The operation is rolling back internal system state because it encountered a
1878	// fatal error or was cancelled by the user.  "RollingBack"     does not refer to user state.  For example,
1879	// if CancelOperation is called on a command of type PartitionDataLoss, state of "RollingBack" does not
1880	// mean service data is being restored (assuming the command has progressed far enough to cause data loss).
1881	// It means the system is rolling back/cleaning up internal system state associated with the command.
1882	OperationStateRollingBack OperationState = "RollingBack"
1883	// OperationStateRunning The operation is in progress.
1884	OperationStateRunning OperationState = "Running"
1885)
1886
1887// PossibleOperationStateValues returns an array of possible values for the OperationState const type.
1888func PossibleOperationStateValues() []OperationState {
1889	return []OperationState{OperationStateCancelled, OperationStateCompleted, OperationStateFaulted, OperationStateForceCancelled, OperationStateInvalid, OperationStateRollingBack, OperationStateRunning}
1890}
1891
1892// OperationType enumerates the values for operation type.
1893type OperationType string
1894
1895const (
1896	// OperationTypeInvalid The operation state is invalid.
1897	OperationTypeInvalid OperationType = "Invalid"
1898	// OperationTypeNodeTransition An operation started using the StartNodeTransition API.
1899	OperationTypeNodeTransition OperationType = "NodeTransition"
1900	// OperationTypePartitionDataLoss An operation started using the StartDataLoss API.
1901	OperationTypePartitionDataLoss OperationType = "PartitionDataLoss"
1902	// OperationTypePartitionQuorumLoss An operation started using the StartQuorumLoss API.
1903	OperationTypePartitionQuorumLoss OperationType = "PartitionQuorumLoss"
1904	// OperationTypePartitionRestart An operation started using the StartPartitionRestart API.
1905	OperationTypePartitionRestart OperationType = "PartitionRestart"
1906)
1907
1908// PossibleOperationTypeValues returns an array of possible values for the OperationType const type.
1909func PossibleOperationTypeValues() []OperationType {
1910	return []OperationType{OperationTypeInvalid, OperationTypeNodeTransition, OperationTypePartitionDataLoss, OperationTypePartitionQuorumLoss, OperationTypePartitionRestart}
1911}
1912
1913// PackageSharingPolicyScope enumerates the values for package sharing policy scope.
1914type PackageSharingPolicyScope string
1915
1916const (
1917	// PackageSharingPolicyScopeAll Share all code, config and data packages from corresponding service
1918	// manifest. The value is 1.
1919	PackageSharingPolicyScopeAll PackageSharingPolicyScope = "All"
1920	// PackageSharingPolicyScopeCode Share all code packages from corresponding service manifest. The value is
1921	// 2.
1922	PackageSharingPolicyScopeCode PackageSharingPolicyScope = "Code"
1923	// PackageSharingPolicyScopeConfig Share all config packages from corresponding service manifest. The value
1924	// is 3.
1925	PackageSharingPolicyScopeConfig PackageSharingPolicyScope = "Config"
1926	// PackageSharingPolicyScopeData Share all data packages from corresponding service manifest. The value is
1927	// 4.
1928	PackageSharingPolicyScopeData PackageSharingPolicyScope = "Data"
1929	// PackageSharingPolicyScopeNone No package sharing policy scope. The value is 0.
1930	PackageSharingPolicyScopeNone PackageSharingPolicyScope = "None"
1931)
1932
1933// PossiblePackageSharingPolicyScopeValues returns an array of possible values for the PackageSharingPolicyScope const type.
1934func PossiblePackageSharingPolicyScopeValues() []PackageSharingPolicyScope {
1935	return []PackageSharingPolicyScope{PackageSharingPolicyScopeAll, PackageSharingPolicyScopeCode, PackageSharingPolicyScopeConfig, PackageSharingPolicyScopeData, PackageSharingPolicyScopeNone}
1936}
1937
1938// PartitionAccessStatus enumerates the values for partition access status.
1939type PartitionAccessStatus string
1940
1941const (
1942	// PartitionAccessStatusGranted Indicates that the read or write operation access is granted and the
1943	// operation is allowed.
1944	PartitionAccessStatusGranted PartitionAccessStatus = "Granted"
1945	// PartitionAccessStatusInvalid Indicates that the read or write operation access status is not valid. This
1946	// value is not returned to the caller.
1947	PartitionAccessStatusInvalid PartitionAccessStatus = "Invalid"
1948	// PartitionAccessStatusNotPrimary Indicates that this client request was received by a replica that is not
1949	// a Primary replica.
1950	PartitionAccessStatusNotPrimary PartitionAccessStatus = "NotPrimary"
1951	// PartitionAccessStatusNoWriteQuorum Indicates that no write quorum is available and, therefore, no write
1952	// operation can be accepted.
1953	PartitionAccessStatusNoWriteQuorum PartitionAccessStatus = "NoWriteQuorum"
1954	// PartitionAccessStatusReconfigurationPending Indicates that the client should try again later, because a
1955	// reconfiguration is in progress.
1956	PartitionAccessStatusReconfigurationPending PartitionAccessStatus = "ReconfigurationPending"
1957)
1958
1959// PossiblePartitionAccessStatusValues returns an array of possible values for the PartitionAccessStatus const type.
1960func PossiblePartitionAccessStatusValues() []PartitionAccessStatus {
1961	return []PartitionAccessStatus{PartitionAccessStatusGranted, PartitionAccessStatusInvalid, PartitionAccessStatusNotPrimary, PartitionAccessStatusNoWriteQuorum, PartitionAccessStatusReconfigurationPending}
1962}
1963
1964// PartitionScheme enumerates the values for partition scheme.
1965type PartitionScheme string
1966
1967const (
1968	// PartitionSchemeInvalid Indicates the partition kind is invalid. All Service Fabric enumerations have the
1969	// invalid type. The value is zero.
1970	PartitionSchemeInvalid PartitionScheme = "Invalid"
1971	// PartitionSchemeNamed Indicates that the partition is based on string names, and is a
1972	// NamedPartitionSchemeDescription object. The value is 3
1973	PartitionSchemeNamed PartitionScheme = "Named"
1974	// PartitionSchemeSingleton Indicates that the partition is based on string names, and is a
1975	// SingletonPartitionSchemeDescription object, The value is 1.
1976	PartitionSchemeSingleton PartitionScheme = "Singleton"
1977	// PartitionSchemeUniformInt64Range Indicates that the partition is based on Int64 key ranges, and is a
1978	// UniformInt64RangePartitionSchemeDescription object. The value is 2.
1979	PartitionSchemeUniformInt64Range PartitionScheme = "UniformInt64Range"
1980)
1981
1982// PossiblePartitionSchemeValues returns an array of possible values for the PartitionScheme const type.
1983func PossiblePartitionSchemeValues() []PartitionScheme {
1984	return []PartitionScheme{PartitionSchemeInvalid, PartitionSchemeNamed, PartitionSchemeSingleton, PartitionSchemeUniformInt64Range}
1985}
1986
1987// PartitionSchemeBasicPartitionSchemeDescription enumerates the values for partition scheme basic partition
1988// scheme description.
1989type PartitionSchemeBasicPartitionSchemeDescription string
1990
1991const (
1992	// PartitionSchemeNamed1 ...
1993	PartitionSchemeNamed1 PartitionSchemeBasicPartitionSchemeDescription = "Named"
1994	// PartitionSchemePartitionSchemeDescription ...
1995	PartitionSchemePartitionSchemeDescription PartitionSchemeBasicPartitionSchemeDescription = "PartitionSchemeDescription"
1996	// PartitionSchemeSingleton1 ...
1997	PartitionSchemeSingleton1 PartitionSchemeBasicPartitionSchemeDescription = "Singleton"
1998	// PartitionSchemeUniformInt64Range1 ...
1999	PartitionSchemeUniformInt64Range1 PartitionSchemeBasicPartitionSchemeDescription = "UniformInt64Range"
2000)
2001
2002// PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues returns an array of possible values for the PartitionSchemeBasicPartitionSchemeDescription const type.
2003func PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues() []PartitionSchemeBasicPartitionSchemeDescription {
2004	return []PartitionSchemeBasicPartitionSchemeDescription{PartitionSchemeNamed1, PartitionSchemePartitionSchemeDescription, PartitionSchemeSingleton1, PartitionSchemeUniformInt64Range1}
2005}
2006
2007// PropertyBatchInfoKind enumerates the values for property batch info kind.
2008type PropertyBatchInfoKind string
2009
2010const (
2011	// PropertyBatchInfoKindFailed The property batch failed.
2012	PropertyBatchInfoKindFailed PropertyBatchInfoKind = "Failed"
2013	// PropertyBatchInfoKindInvalid Indicates the property batch info is invalid. All Service Fabric
2014	// enumerations have the invalid type.
2015	PropertyBatchInfoKindInvalid PropertyBatchInfoKind = "Invalid"
2016	// PropertyBatchInfoKindSuccessful The property batch succeeded.
2017	PropertyBatchInfoKindSuccessful PropertyBatchInfoKind = "Successful"
2018)
2019
2020// PossiblePropertyBatchInfoKindValues returns an array of possible values for the PropertyBatchInfoKind const type.
2021func PossiblePropertyBatchInfoKindValues() []PropertyBatchInfoKind {
2022	return []PropertyBatchInfoKind{PropertyBatchInfoKindFailed, PropertyBatchInfoKindInvalid, PropertyBatchInfoKindSuccessful}
2023}
2024
2025// PropertyBatchOperationKind enumerates the values for property batch operation kind.
2026type PropertyBatchOperationKind string
2027
2028const (
2029	// PropertyBatchOperationKindCheckExists The operation will check that a property exists or doesn't exists,
2030	// depending on the provided value. The value is 3.
2031	PropertyBatchOperationKindCheckExists PropertyBatchOperationKind = "CheckExists"
2032	// PropertyBatchOperationKindCheckSequence The operation will ensure that the sequence number is equal to
2033	// the provided value. The value is 4.
2034	PropertyBatchOperationKindCheckSequence PropertyBatchOperationKind = "CheckSequence"
2035	// PropertyBatchOperationKindCheckValue The operation will ensure that the value of a property is equal to
2036	// the provided value. The value is 7.
2037	PropertyBatchOperationKindCheckValue PropertyBatchOperationKind = "CheckValue"
2038	// PropertyBatchOperationKindDelete The operation will delete a property. The value is 5.
2039	PropertyBatchOperationKindDelete PropertyBatchOperationKind = "Delete"
2040	// PropertyBatchOperationKindGet The operation will get a property. The value is 2.
2041	PropertyBatchOperationKindGet PropertyBatchOperationKind = "Get"
2042	// PropertyBatchOperationKindInvalid Indicates the property operation is invalid. All Service Fabric
2043	// enumerations have the invalid type. The value is zero.
2044	PropertyBatchOperationKindInvalid PropertyBatchOperationKind = "Invalid"
2045	// PropertyBatchOperationKindPut The operation will create or edit a property. The value is 1.
2046	PropertyBatchOperationKindPut PropertyBatchOperationKind = "Put"
2047)
2048
2049// PossiblePropertyBatchOperationKindValues returns an array of possible values for the PropertyBatchOperationKind const type.
2050func PossiblePropertyBatchOperationKindValues() []PropertyBatchOperationKind {
2051	return []PropertyBatchOperationKind{PropertyBatchOperationKindCheckExists, PropertyBatchOperationKindCheckSequence, PropertyBatchOperationKindCheckValue, PropertyBatchOperationKindDelete, PropertyBatchOperationKindGet, PropertyBatchOperationKindInvalid, PropertyBatchOperationKindPut}
2052}
2053
2054// PropertyValueKind enumerates the values for property value kind.
2055type PropertyValueKind string
2056
2057const (
2058	// PropertyValueKindBinary The data inside the property is a binary blob. The value is 1.
2059	PropertyValueKindBinary PropertyValueKind = "Binary"
2060	// PropertyValueKindDouble The data inside the property is a double. The value is 3.
2061	PropertyValueKindDouble PropertyValueKind = "Double"
2062	// PropertyValueKindGUID The data inside the property is a guid. The value is 5.
2063	PropertyValueKindGUID PropertyValueKind = "Guid"
2064	// PropertyValueKindInt64 The data inside the property is an int64. The value is 2.
2065	PropertyValueKindInt64 PropertyValueKind = "Int64"
2066	// PropertyValueKindInvalid Indicates the property is invalid. All Service Fabric enumerations have the
2067	// invalid type. The value is zero.
2068	PropertyValueKindInvalid PropertyValueKind = "Invalid"
2069	// PropertyValueKindString The data inside the property is a string. The value is 4.
2070	PropertyValueKindString PropertyValueKind = "String"
2071)
2072
2073// PossiblePropertyValueKindValues returns an array of possible values for the PropertyValueKind const type.
2074func PossiblePropertyValueKindValues() []PropertyValueKind {
2075	return []PropertyValueKind{PropertyValueKindBinary, PropertyValueKindDouble, PropertyValueKindGUID, PropertyValueKindInt64, PropertyValueKindInvalid, PropertyValueKindString}
2076}
2077
2078// ProvisionApplicationTypeKind enumerates the values for provision application type kind.
2079type ProvisionApplicationTypeKind string
2080
2081const (
2082	// ProvisionApplicationTypeKindExternalStore Indicates that the provision is for an application package
2083	// that was previously uploaded to an external store. The application package ends with the extension
2084	// *.sfpkg. The value is 2.
2085	ProvisionApplicationTypeKindExternalStore ProvisionApplicationTypeKind = "ExternalStore"
2086	// ProvisionApplicationTypeKindImageStorePath Indicates that the provision is for a package that was
2087	// previously uploaded to the image store. The value is 1.
2088	ProvisionApplicationTypeKindImageStorePath ProvisionApplicationTypeKind = "ImageStorePath"
2089	// ProvisionApplicationTypeKindInvalid Indicates that the provision kind is invalid. This value is default
2090	// and should not be used. The value is zero.
2091	ProvisionApplicationTypeKindInvalid ProvisionApplicationTypeKind = "Invalid"
2092)
2093
2094// PossibleProvisionApplicationTypeKindValues returns an array of possible values for the ProvisionApplicationTypeKind const type.
2095func PossibleProvisionApplicationTypeKindValues() []ProvisionApplicationTypeKind {
2096	return []ProvisionApplicationTypeKind{ProvisionApplicationTypeKindExternalStore, ProvisionApplicationTypeKindImageStorePath, ProvisionApplicationTypeKindInvalid}
2097}
2098
2099// QuorumLossMode enumerates the values for quorum loss mode.
2100type QuorumLossMode string
2101
2102const (
2103	// QuorumLossModeAllReplicas ...
2104	QuorumLossModeAllReplicas QuorumLossMode = "AllReplicas"
2105	// QuorumLossModeInvalid Reserved.  Do not pass into API.
2106	QuorumLossModeInvalid QuorumLossMode = "Invalid"
2107	// QuorumLossModeQuorumReplicas Partial Quorum loss mode : Minimum number of replicas for a partition will
2108	// be down that will cause a quorum loss.
2109	QuorumLossModeQuorumReplicas QuorumLossMode = "QuorumReplicas"
2110)
2111
2112// PossibleQuorumLossModeValues returns an array of possible values for the QuorumLossMode const type.
2113func PossibleQuorumLossModeValues() []QuorumLossMode {
2114	return []QuorumLossMode{QuorumLossModeAllReplicas, QuorumLossModeInvalid, QuorumLossModeQuorumReplicas}
2115}
2116
2117// ReconfigurationPhase enumerates the values for reconfiguration phase.
2118type ReconfigurationPhase string
2119
2120const (
2121	// ReconfigurationPhaseAbortPhaseZero This phase is for internal use only.
2122	ReconfigurationPhaseAbortPhaseZero ReconfigurationPhase = "AbortPhaseZero"
2123	// ReconfigurationPhaseNone Specifies that there is no reconfiguration in progress.
2124	ReconfigurationPhaseNone ReconfigurationPhase = "None"
2125	// ReconfigurationPhasePhase0 Refers to the phase where the reconfiguration is transferring data from the
2126	// previous primary to the new primary.
2127	ReconfigurationPhasePhase0 ReconfigurationPhase = "Phase0"
2128	// ReconfigurationPhasePhase1 Refers to the phase where the reconfiguration is querying the replica set for
2129	// the progress.
2130	ReconfigurationPhasePhase1 ReconfigurationPhase = "Phase1"
2131	// ReconfigurationPhasePhase2 Refers to the phase where the reconfiguration is ensuring that data from the
2132	// current primary is present in a majority of the replica set.
2133	ReconfigurationPhasePhase2 ReconfigurationPhase = "Phase2"
2134	// ReconfigurationPhasePhase3 This phase is for internal use only.
2135	ReconfigurationPhasePhase3 ReconfigurationPhase = "Phase3"
2136	// ReconfigurationPhasePhase4 This phase is for internal use only.
2137	ReconfigurationPhasePhase4 ReconfigurationPhase = "Phase4"
2138	// ReconfigurationPhaseUnknown Indicates the invalid reconfiguration phase.
2139	ReconfigurationPhaseUnknown ReconfigurationPhase = "Unknown"
2140)
2141
2142// PossibleReconfigurationPhaseValues returns an array of possible values for the ReconfigurationPhase const type.
2143func PossibleReconfigurationPhaseValues() []ReconfigurationPhase {
2144	return []ReconfigurationPhase{ReconfigurationPhaseAbortPhaseZero, ReconfigurationPhaseNone, ReconfigurationPhasePhase0, ReconfigurationPhasePhase1, ReconfigurationPhasePhase2, ReconfigurationPhasePhase3, ReconfigurationPhasePhase4, ReconfigurationPhaseUnknown}
2145}
2146
2147// ReconfigurationType enumerates the values for reconfiguration type.
2148type ReconfigurationType string
2149
2150const (
2151	// ReconfigurationTypeFailover Reconfiguration triggered in response to a primary going down. This could be
2152	// due to many reasons such as primary replica crashing etc.
2153	ReconfigurationTypeFailover ReconfigurationType = "Failover"
2154	// ReconfigurationTypeOther Reconfigurations where the primary replica is not changing.
2155	ReconfigurationTypeOther ReconfigurationType = "Other"
2156	// ReconfigurationTypeSwapPrimary Specifies that the primary replica is being swapped with a different
2157	// replica.
2158	ReconfigurationTypeSwapPrimary ReconfigurationType = "SwapPrimary"
2159	// ReconfigurationTypeUnknown Indicates the invalid reconfiguration type.
2160	ReconfigurationTypeUnknown ReconfigurationType = "Unknown"
2161)
2162
2163// PossibleReconfigurationTypeValues returns an array of possible values for the ReconfigurationType const type.
2164func PossibleReconfigurationTypeValues() []ReconfigurationType {
2165	return []ReconfigurationType{ReconfigurationTypeFailover, ReconfigurationTypeOther, ReconfigurationTypeSwapPrimary, ReconfigurationTypeUnknown}
2166}
2167
2168// RepairImpactKind enumerates the values for repair impact kind.
2169type RepairImpactKind string
2170
2171const (
2172	// RepairImpactKindInvalid The repair impact is not valid or is of an unknown type.
2173	RepairImpactKindInvalid RepairImpactKind = "Invalid"
2174	// RepairImpactKindNode The repair impact affects a set of Service Fabric nodes.
2175	RepairImpactKindNode RepairImpactKind = "Node"
2176)
2177
2178// PossibleRepairImpactKindValues returns an array of possible values for the RepairImpactKind const type.
2179func PossibleRepairImpactKindValues() []RepairImpactKind {
2180	return []RepairImpactKind{RepairImpactKindInvalid, RepairImpactKindNode}
2181}
2182
2183// RepairTargetKind enumerates the values for repair target kind.
2184type RepairTargetKind string
2185
2186const (
2187	// RepairTargetKindInvalid The repair target is not valid or is of an unknown type.
2188	RepairTargetKindInvalid RepairTargetKind = "Invalid"
2189	// RepairTargetKindNode The repair target is a set of Service Fabric nodes.
2190	RepairTargetKindNode RepairTargetKind = "Node"
2191)
2192
2193// PossibleRepairTargetKindValues returns an array of possible values for the RepairTargetKind const type.
2194func PossibleRepairTargetKindValues() []RepairTargetKind {
2195	return []RepairTargetKind{RepairTargetKindInvalid, RepairTargetKindNode}
2196}
2197
2198// RepairTaskHealthCheckState enumerates the values for repair task health check state.
2199type RepairTaskHealthCheckState string
2200
2201const (
2202	// InProgress Indicates that the health check is in progress.
2203	InProgress RepairTaskHealthCheckState = "InProgress"
2204	// NotStarted Indicates that the health check has not started.
2205	NotStarted RepairTaskHealthCheckState = "NotStarted"
2206	// Skipped Indicates that the health check was skipped.
2207	Skipped RepairTaskHealthCheckState = "Skipped"
2208	// Succeeded Indicates that the health check succeeded.
2209	Succeeded RepairTaskHealthCheckState = "Succeeded"
2210	// TimedOut Indicates that the health check timed out.
2211	TimedOut RepairTaskHealthCheckState = "TimedOut"
2212)
2213
2214// PossibleRepairTaskHealthCheckStateValues returns an array of possible values for the RepairTaskHealthCheckState const type.
2215func PossibleRepairTaskHealthCheckStateValues() []RepairTaskHealthCheckState {
2216	return []RepairTaskHealthCheckState{InProgress, NotStarted, Skipped, Succeeded, TimedOut}
2217}
2218
2219// ReplicaHealthReportServiceKind enumerates the values for replica health report service kind.
2220type ReplicaHealthReportServiceKind string
2221
2222const (
2223	// Stateful Uses Service Fabric to make its state or part of its state highly available and reliable. The
2224	// value is 2.
2225	Stateful ReplicaHealthReportServiceKind = "Stateful"
2226	// Stateless Does not use Service Fabric to make its state highly available or reliable. The value is 1
2227	Stateless ReplicaHealthReportServiceKind = "Stateless"
2228)
2229
2230// PossibleReplicaHealthReportServiceKindValues returns an array of possible values for the ReplicaHealthReportServiceKind const type.
2231func PossibleReplicaHealthReportServiceKindValues() []ReplicaHealthReportServiceKind {
2232	return []ReplicaHealthReportServiceKind{Stateful, Stateless}
2233}
2234
2235// ReplicaKind enumerates the values for replica kind.
2236type ReplicaKind string
2237
2238const (
2239	// ReplicaKindInvalid Represents an invalid replica kind. The value is zero.
2240	ReplicaKindInvalid ReplicaKind = "Invalid"
2241	// ReplicaKindKeyValueStore Represents a key value store replica. The value is 1
2242	ReplicaKindKeyValueStore ReplicaKind = "KeyValueStore"
2243)
2244
2245// PossibleReplicaKindValues returns an array of possible values for the ReplicaKind const type.
2246func PossibleReplicaKindValues() []ReplicaKind {
2247	return []ReplicaKind{ReplicaKindInvalid, ReplicaKindKeyValueStore}
2248}
2249
2250// ReplicaRole enumerates the values for replica role.
2251type ReplicaRole string
2252
2253const (
2254	// ReplicaRoleActiveSecondary Refers to a replica in the set that receives state updates from the Primary
2255	// replica, applies them, and sends acknowledgements back. Secondary replicas must participate in the write
2256	// quorum for a replica set. There can be multiple active Secondary replicas in a replica set at a time.
2257	// The number of active Secondary replicas is configurable that the reliability subsystem should maintain.
2258	// The value is 4.
2259	ReplicaRoleActiveSecondary ReplicaRole = "ActiveSecondary"
2260	// ReplicaRoleIdleSecondary Refers to a replica in the set that receives a state transfer from the Primary
2261	// replica to prepare for becoming an active Secondary replica. There can be multiple Idle Secondary
2262	// replicas in a replica set at a time. Idle Secondary replicas do not count as a part of a write quorum.
2263	// The value is 3.
2264	ReplicaRoleIdleSecondary ReplicaRole = "IdleSecondary"
2265	// ReplicaRoleNone Specifies that the replica has no responsibility in regard to the replica set. The value
2266	// is 1
2267	ReplicaRoleNone ReplicaRole = "None"
2268	// ReplicaRolePrimary Refers to the replica in the set on which all read and write operations are complete
2269	// in order to enforce strong consistency semantics. Read operations are handled directly by the Primary
2270	// replica, while write operations must be acknowledged by a quorum of the replicas in the replica set.
2271	// There can only be one Primary replica in a replica set at a time. The value is 2.
2272	ReplicaRolePrimary ReplicaRole = "Primary"
2273	// ReplicaRoleUnknown Indicates the initial role that a replica is created in. The value is zero.
2274	ReplicaRoleUnknown ReplicaRole = "Unknown"
2275)
2276
2277// PossibleReplicaRoleValues returns an array of possible values for the ReplicaRole const type.
2278func PossibleReplicaRoleValues() []ReplicaRole {
2279	return []ReplicaRole{ReplicaRoleActiveSecondary, ReplicaRoleIdleSecondary, ReplicaRoleNone, ReplicaRolePrimary, ReplicaRoleUnknown}
2280}
2281
2282// ReplicaStatus enumerates the values for replica status.
2283type ReplicaStatus string
2284
2285const (
2286	// ReplicaStatusDown The replica is down. The value is 4.
2287	ReplicaStatusDown ReplicaStatus = "Down"
2288	// ReplicaStatusDropped Replica is dropped. This means that the replica has been removed from the replica
2289	// set. If it is persisted, its state has been deleted. The value is 5.
2290	ReplicaStatusDropped ReplicaStatus = "Dropped"
2291	// ReplicaStatusInBuild The replica is being built. This means that a primary replica is seeding this
2292	// replica. The value is 1.
2293	ReplicaStatusInBuild ReplicaStatus = "InBuild"
2294	// ReplicaStatusInvalid Indicates the replica status is invalid. All Service Fabric enumerations have the
2295	// invalid type. The value is zero.
2296	ReplicaStatusInvalid ReplicaStatus = "Invalid"
2297	// ReplicaStatusReady The replica is ready. The value is 3.
2298	ReplicaStatusReady ReplicaStatus = "Ready"
2299	// ReplicaStatusStandby The replica is in standby. The value is 2.
2300	ReplicaStatusStandby ReplicaStatus = "Standby"
2301)
2302
2303// PossibleReplicaStatusValues returns an array of possible values for the ReplicaStatus const type.
2304func PossibleReplicaStatusValues() []ReplicaStatus {
2305	return []ReplicaStatus{ReplicaStatusDown, ReplicaStatusDropped, ReplicaStatusInBuild, ReplicaStatusInvalid, ReplicaStatusReady, ReplicaStatusStandby}
2306}
2307
2308// ReplicatorOperationName enumerates the values for replicator operation name.
2309type ReplicatorOperationName string
2310
2311const (
2312	// ReplicatorOperationNameAbort Replicator is being aborted.
2313	ReplicatorOperationNameAbort ReplicatorOperationName = "Abort"
2314	// ReplicatorOperationNameBuild Replicator is in the process of building one or more replicas.
2315	ReplicatorOperationNameBuild ReplicatorOperationName = "Build"
2316	// ReplicatorOperationNameChangeRole Replicator is in the process of changing its role.
2317	ReplicatorOperationNameChangeRole ReplicatorOperationName = "ChangeRole"
2318	// ReplicatorOperationNameClose Replicator is closing.
2319	ReplicatorOperationNameClose ReplicatorOperationName = "Close"
2320	// ReplicatorOperationNameInvalid Default value if the replicator is not yet ready.
2321	ReplicatorOperationNameInvalid ReplicatorOperationName = "Invalid"
2322	// ReplicatorOperationNameNone Replicator is not running any operation from Service Fabric perspective.
2323	ReplicatorOperationNameNone ReplicatorOperationName = "None"
2324	// ReplicatorOperationNameOnDataLoss Replicator is handling the data loss condition, where the user service
2325	// may potentially be recovering state from an external source.
2326	ReplicatorOperationNameOnDataLoss ReplicatorOperationName = "OnDataLoss"
2327	// ReplicatorOperationNameOpen Replicator is opening.
2328	ReplicatorOperationNameOpen ReplicatorOperationName = "Open"
2329	// ReplicatorOperationNameUpdateEpoch Due to a change in the replica set, replicator is being updated with
2330	// its Epoch.
2331	ReplicatorOperationNameUpdateEpoch ReplicatorOperationName = "UpdateEpoch"
2332	// ReplicatorOperationNameWaitForCatchup Replicator is waiting for a quorum of replicas to be caught up to
2333	// the latest state.
2334	ReplicatorOperationNameWaitForCatchup ReplicatorOperationName = "WaitForCatchup"
2335)
2336
2337// PossibleReplicatorOperationNameValues returns an array of possible values for the ReplicatorOperationName const type.
2338func PossibleReplicatorOperationNameValues() []ReplicatorOperationName {
2339	return []ReplicatorOperationName{ReplicatorOperationNameAbort, ReplicatorOperationNameBuild, ReplicatorOperationNameChangeRole, ReplicatorOperationNameClose, ReplicatorOperationNameInvalid, ReplicatorOperationNameNone, ReplicatorOperationNameOnDataLoss, ReplicatorOperationNameOpen, ReplicatorOperationNameUpdateEpoch, ReplicatorOperationNameWaitForCatchup}
2340}
2341
2342// RestartPartitionMode enumerates the values for restart partition mode.
2343type RestartPartitionMode string
2344
2345const (
2346	// RestartPartitionModeAllReplicasOrInstances All replicas or instances in the partition are restarted at
2347	// once.
2348	RestartPartitionModeAllReplicasOrInstances RestartPartitionMode = "AllReplicasOrInstances"
2349	// RestartPartitionModeInvalid Reserved.  Do not pass into API.
2350	RestartPartitionModeInvalid RestartPartitionMode = "Invalid"
2351	// RestartPartitionModeOnlyActiveSecondaries Only the secondary replicas are restarted.
2352	RestartPartitionModeOnlyActiveSecondaries RestartPartitionMode = "OnlyActiveSecondaries"
2353)
2354
2355// PossibleRestartPartitionModeValues returns an array of possible values for the RestartPartitionMode const type.
2356func PossibleRestartPartitionModeValues() []RestartPartitionMode {
2357	return []RestartPartitionMode{RestartPartitionModeAllReplicasOrInstances, RestartPartitionModeInvalid, RestartPartitionModeOnlyActiveSecondaries}
2358}
2359
2360// RestoreState enumerates the values for restore state.
2361type RestoreState string
2362
2363const (
2364	// RestoreStateAccepted Operation has been validated and accepted. Restore is yet to be triggered.
2365	RestoreStateAccepted RestoreState = "Accepted"
2366	// RestoreStateFailure Operation completed with failure.
2367	RestoreStateFailure RestoreState = "Failure"
2368	// RestoreStateInvalid Indicates an invalid restore state. All Service Fabric enumerations have the invalid
2369	// type.
2370	RestoreStateInvalid RestoreState = "Invalid"
2371	// RestoreStateRestoreInProgress Restore operation has been triggered and is under process.
2372	RestoreStateRestoreInProgress RestoreState = "RestoreInProgress"
2373	// RestoreStateSuccess Operation completed with success.
2374	RestoreStateSuccess RestoreState = "Success"
2375	// RestoreStateTimeout Operation timed out.
2376	RestoreStateTimeout RestoreState = "Timeout"
2377)
2378
2379// PossibleRestoreStateValues returns an array of possible values for the RestoreState const type.
2380func PossibleRestoreStateValues() []RestoreState {
2381	return []RestoreState{RestoreStateAccepted, RestoreStateFailure, RestoreStateInvalid, RestoreStateRestoreInProgress, RestoreStateSuccess, RestoreStateTimeout}
2382}
2383
2384// ResultStatus enumerates the values for result status.
2385type ResultStatus string
2386
2387const (
2388	// ResultStatusCancelled Indicates that the repair task was cancelled prior to execution.
2389	ResultStatusCancelled ResultStatus = "Cancelled"
2390	// ResultStatusFailed Indicates that there was a failure during execution of the repair task. Some work may
2391	// have been performed.
2392	ResultStatusFailed ResultStatus = "Failed"
2393	// ResultStatusInterrupted Indicates that execution of the repair task was interrupted by a cancellation
2394	// request after some work had already been performed.
2395	ResultStatusInterrupted ResultStatus = "Interrupted"
2396	// ResultStatusInvalid Indicates that the repair task result is invalid. All Service Fabric enumerations
2397	// have the invalid value.
2398	ResultStatusInvalid ResultStatus = "Invalid"
2399	// ResultStatusPending Indicates that the repair task result is not yet available, because the repair task
2400	// has not finished executing.
2401	ResultStatusPending ResultStatus = "Pending"
2402	// ResultStatusSucceeded Indicates that the repair task completed execution successfully.
2403	ResultStatusSucceeded ResultStatus = "Succeeded"
2404)
2405
2406// PossibleResultStatusValues returns an array of possible values for the ResultStatus const type.
2407func PossibleResultStatusValues() []ResultStatus {
2408	return []ResultStatus{ResultStatusCancelled, ResultStatusFailed, ResultStatusInterrupted, ResultStatusInvalid, ResultStatusPending, ResultStatusSucceeded}
2409}
2410
2411// SafetyCheckKind enumerates the values for safety check kind.
2412type SafetyCheckKind string
2413
2414const (
2415	// SafetyCheckKindEnsureAvailability Indicates that there is either a stateless service partition on the
2416	// node having exactly one instance, or there is a primary replica on the node for which the partition is
2417	// quorum loss. In both cases, bringing down the replicas due to upgrade will result in loss of
2418	// availability. The value is 7.
2419	SafetyCheckKindEnsureAvailability SafetyCheckKind = "EnsureAvailability"
2420	// SafetyCheckKindEnsurePartitionQuorum Indicates that there is some partition for which if we bring down
2421	// the replica on the node, it will result in quorum loss for that partition. The value is 2.
2422	SafetyCheckKindEnsurePartitionQuorum SafetyCheckKind = "EnsurePartitionQuorum"
2423	// SafetyCheckKindEnsureSeedNodeQuorum Indicates that if we bring down the node then this will result in
2424	// global seed node quorum loss. The value is 1.
2425	SafetyCheckKindEnsureSeedNodeQuorum SafetyCheckKind = "EnsureSeedNodeQuorum"
2426	// SafetyCheckKindInvalid Indicates that the upgrade safety check kind is invalid. All Service Fabric
2427	// enumerations have the invalid type. The value is zero.
2428	SafetyCheckKindInvalid SafetyCheckKind = "Invalid"
2429	// SafetyCheckKindWaitForInbuildReplica Indicates that there is either a replica on the node that is going
2430	// through copy, or there is a primary replica on the node that is copying data to some other replica. In
2431	// both cases, bringing down the replica on the node due to upgrade will abort the copy. The value is 6.
2432	SafetyCheckKindWaitForInbuildReplica SafetyCheckKind = "WaitForInbuildReplica"
2433	// SafetyCheckKindWaitForPrimaryPlacement Indicates that there is some replica on the node that was moved
2434	// out of this node due to upgrade. Service Fabric is now waiting for the primary to be moved back to this
2435	// node. The value is 3.
2436	SafetyCheckKindWaitForPrimaryPlacement SafetyCheckKind = "WaitForPrimaryPlacement"
2437	// SafetyCheckKindWaitForPrimarySwap Indicates that Service Fabric is waiting for a primary replica to be
2438	// moved out of the node before starting upgrade on that node. The value is 4.
2439	SafetyCheckKindWaitForPrimarySwap SafetyCheckKind = "WaitForPrimarySwap"
2440	// SafetyCheckKindWaitForReconfiguration Indicates that there is some replica on the node that is involved
2441	// in a reconfiguration. Service Fabric is waiting for the reconfiguration to be complete before staring
2442	// upgrade on that node. The value is 5.
2443	SafetyCheckKindWaitForReconfiguration SafetyCheckKind = "WaitForReconfiguration"
2444)
2445
2446// PossibleSafetyCheckKindValues returns an array of possible values for the SafetyCheckKind const type.
2447func PossibleSafetyCheckKindValues() []SafetyCheckKind {
2448	return []SafetyCheckKind{SafetyCheckKindEnsureAvailability, SafetyCheckKindEnsurePartitionQuorum, SafetyCheckKindEnsureSeedNodeQuorum, SafetyCheckKindInvalid, SafetyCheckKindWaitForInbuildReplica, SafetyCheckKindWaitForPrimaryPlacement, SafetyCheckKindWaitForPrimarySwap, SafetyCheckKindWaitForReconfiguration}
2449}
2450
2451// ScalingMechanismKind enumerates the values for scaling mechanism kind.
2452type ScalingMechanismKind string
2453
2454const (
2455	// ScalingMechanismKindAddRemoveIncrementalNamedPartition Indicates a mechanism for scaling where new named
2456	// partitions are added or removed from a service. The value is 2.
2457	ScalingMechanismKindAddRemoveIncrementalNamedPartition ScalingMechanismKind = "AddRemoveIncrementalNamedPartition"
2458	// ScalingMechanismKindInvalid Indicates the scaling mechanism is invalid. All Service Fabric enumerations
2459	// have the invalid type. The value is zero.
2460	ScalingMechanismKindInvalid ScalingMechanismKind = "Invalid"
2461	// ScalingMechanismKindPartitionInstanceCount Indicates a mechanism for scaling where new instances are
2462	// added or removed from a partition. The value is 1.
2463	ScalingMechanismKindPartitionInstanceCount ScalingMechanismKind = "PartitionInstanceCount"
2464)
2465
2466// PossibleScalingMechanismKindValues returns an array of possible values for the ScalingMechanismKind const type.
2467func PossibleScalingMechanismKindValues() []ScalingMechanismKind {
2468	return []ScalingMechanismKind{ScalingMechanismKindAddRemoveIncrementalNamedPartition, ScalingMechanismKindInvalid, ScalingMechanismKindPartitionInstanceCount}
2469}
2470
2471// ScalingTriggerKind enumerates the values for scaling trigger kind.
2472type ScalingTriggerKind string
2473
2474const (
2475	// ScalingTriggerKindAveragePartitionLoad Indicates a trigger where scaling decisions are made based on
2476	// average load of a partition. The value is 1.
2477	ScalingTriggerKindAveragePartitionLoad ScalingTriggerKind = "AveragePartitionLoad"
2478	// ScalingTriggerKindAverageServiceLoad Indicates a trigger where scaling decisions are made based on
2479	// average load of a service. The value is 2.
2480	ScalingTriggerKindAverageServiceLoad ScalingTriggerKind = "AverageServiceLoad"
2481	// ScalingTriggerKindInvalid Indicates the scaling trigger is invalid. All Service Fabric enumerations have
2482	// the invalid type. The value is zero.
2483	ScalingTriggerKindInvalid ScalingTriggerKind = "Invalid"
2484)
2485
2486// PossibleScalingTriggerKindValues returns an array of possible values for the ScalingTriggerKind const type.
2487func PossibleScalingTriggerKindValues() []ScalingTriggerKind {
2488	return []ScalingTriggerKind{ScalingTriggerKindAveragePartitionLoad, ScalingTriggerKindAverageServiceLoad, ScalingTriggerKindInvalid}
2489}
2490
2491// ScheduleKind enumerates the values for schedule kind.
2492type ScheduleKind string
2493
2494const (
2495	// ScheduleKindBackupScheduleDescription ...
2496	ScheduleKindBackupScheduleDescription ScheduleKind = "BackupScheduleDescription"
2497	// ScheduleKindFrequencyBased ...
2498	ScheduleKindFrequencyBased ScheduleKind = "FrequencyBased"
2499	// ScheduleKindTimeBased ...
2500	ScheduleKindTimeBased ScheduleKind = "TimeBased"
2501)
2502
2503// PossibleScheduleKindValues returns an array of possible values for the ScheduleKind const type.
2504func PossibleScheduleKindValues() []ScheduleKind {
2505	return []ScheduleKind{ScheduleKindBackupScheduleDescription, ScheduleKindFrequencyBased, ScheduleKindTimeBased}
2506}
2507
2508// ServiceCorrelationScheme enumerates the values for service correlation scheme.
2509type ServiceCorrelationScheme string
2510
2511const (
2512	// ServiceCorrelationSchemeAffinity Indicates that this service has an affinity relationship with another
2513	// service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity
2514	// options. The value is 1.
2515	ServiceCorrelationSchemeAffinity ServiceCorrelationScheme = "Affinity"
2516	// ServiceCorrelationSchemeAlignedAffinity Aligned affinity ensures that the primaries of the partitions of
2517	// the affinitized services are collocated on the same nodes. This is the default and is the same as
2518	// selecting the Affinity scheme. The value is 2.
2519	ServiceCorrelationSchemeAlignedAffinity ServiceCorrelationScheme = "AlignedAffinity"
2520	// ServiceCorrelationSchemeInvalid An invalid correlation scheme. Cannot be used. The value is zero.
2521	ServiceCorrelationSchemeInvalid ServiceCorrelationScheme = "Invalid"
2522	// ServiceCorrelationSchemeNonAlignedAffinity Non-Aligned affinity guarantees that all replicas of each
2523	// service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas
2524	// of particular role will be collocated. The value is 3.
2525	ServiceCorrelationSchemeNonAlignedAffinity ServiceCorrelationScheme = "NonAlignedAffinity"
2526)
2527
2528// PossibleServiceCorrelationSchemeValues returns an array of possible values for the ServiceCorrelationScheme const type.
2529func PossibleServiceCorrelationSchemeValues() []ServiceCorrelationScheme {
2530	return []ServiceCorrelationScheme{ServiceCorrelationSchemeAffinity, ServiceCorrelationSchemeAlignedAffinity, ServiceCorrelationSchemeInvalid, ServiceCorrelationSchemeNonAlignedAffinity}
2531}
2532
2533// ServiceEndpointRole enumerates the values for service endpoint role.
2534type ServiceEndpointRole string
2535
2536const (
2537	// ServiceEndpointRoleInvalid Indicates the service endpoint role is invalid. All Service Fabric
2538	// enumerations have the invalid type. The value is zero.
2539	ServiceEndpointRoleInvalid ServiceEndpointRole = "Invalid"
2540	// ServiceEndpointRoleStatefulPrimary Indicates that the service endpoint is of a primary replica of a
2541	// stateful service. The value is 2.
2542	ServiceEndpointRoleStatefulPrimary ServiceEndpointRole = "StatefulPrimary"
2543	// ServiceEndpointRoleStatefulSecondary Indicates that the service endpoint is of a secondary replica of a
2544	// stateful service. The value is 3.
2545	ServiceEndpointRoleStatefulSecondary ServiceEndpointRole = "StatefulSecondary"
2546	// ServiceEndpointRoleStateless Indicates that the service endpoint is of a stateless service. The value is
2547	// 1.
2548	ServiceEndpointRoleStateless ServiceEndpointRole = "Stateless"
2549)
2550
2551// PossibleServiceEndpointRoleValues returns an array of possible values for the ServiceEndpointRole const type.
2552func PossibleServiceEndpointRoleValues() []ServiceEndpointRole {
2553	return []ServiceEndpointRole{ServiceEndpointRoleInvalid, ServiceEndpointRoleStatefulPrimary, ServiceEndpointRoleStatefulSecondary, ServiceEndpointRoleStateless}
2554}
2555
2556// ServiceKind enumerates the values for service kind.
2557type ServiceKind string
2558
2559const (
2560	// ServiceKindInvalid Indicates the service kind is invalid. All Service Fabric enumerations have the
2561	// invalid type. The value is zero.
2562	ServiceKindInvalid ServiceKind = "Invalid"
2563	// ServiceKindStateful Uses Service Fabric to make its state or part of its state highly available and
2564	// reliable. The value is 2.
2565	ServiceKindStateful ServiceKind = "Stateful"
2566	// ServiceKindStateless Does not use Service Fabric to make its state highly available or reliable. The
2567	// value is 1.
2568	ServiceKindStateless ServiceKind = "Stateless"
2569)
2570
2571// PossibleServiceKindValues returns an array of possible values for the ServiceKind const type.
2572func PossibleServiceKindValues() []ServiceKind {
2573	return []ServiceKind{ServiceKindInvalid, ServiceKindStateful, ServiceKindStateless}
2574}
2575
2576// ServiceKindBasicDeployedServiceReplicaDetailInfo enumerates the values for service kind basic deployed
2577// service replica detail info.
2578type ServiceKindBasicDeployedServiceReplicaDetailInfo string
2579
2580const (
2581	// ServiceKindDeployedServiceReplicaDetailInfo ...
2582	ServiceKindDeployedServiceReplicaDetailInfo ServiceKindBasicDeployedServiceReplicaDetailInfo = "DeployedServiceReplicaDetailInfo"
2583	// ServiceKindStateful1 ...
2584	ServiceKindStateful1 ServiceKindBasicDeployedServiceReplicaDetailInfo = "Stateful"
2585	// ServiceKindStateless1 ...
2586	ServiceKindStateless1 ServiceKindBasicDeployedServiceReplicaDetailInfo = "Stateless"
2587)
2588
2589// PossibleServiceKindBasicDeployedServiceReplicaDetailInfoValues returns an array of possible values for the ServiceKindBasicDeployedServiceReplicaDetailInfo const type.
2590func PossibleServiceKindBasicDeployedServiceReplicaDetailInfoValues() []ServiceKindBasicDeployedServiceReplicaDetailInfo {
2591	return []ServiceKindBasicDeployedServiceReplicaDetailInfo{ServiceKindDeployedServiceReplicaDetailInfo, ServiceKindStateful1, ServiceKindStateless1}
2592}
2593
2594// ServiceKindBasicDeployedServiceReplicaInfo enumerates the values for service kind basic deployed service
2595// replica info.
2596type ServiceKindBasicDeployedServiceReplicaInfo string
2597
2598const (
2599	// ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo ...
2600	ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo ServiceKindBasicDeployedServiceReplicaInfo = "DeployedServiceReplicaInfo"
2601	// ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful ...
2602	ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful ServiceKindBasicDeployedServiceReplicaInfo = "Stateful"
2603	// ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless ...
2604	ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless ServiceKindBasicDeployedServiceReplicaInfo = "Stateless"
2605)
2606
2607// PossibleServiceKindBasicDeployedServiceReplicaInfoValues returns an array of possible values for the ServiceKindBasicDeployedServiceReplicaInfo const type.
2608func PossibleServiceKindBasicDeployedServiceReplicaInfoValues() []ServiceKindBasicDeployedServiceReplicaInfo {
2609	return []ServiceKindBasicDeployedServiceReplicaInfo{ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo, ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful, ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless}
2610}
2611
2612// ServiceKindBasicReplicaHealth enumerates the values for service kind basic replica health.
2613type ServiceKindBasicReplicaHealth string
2614
2615const (
2616	// ServiceKindBasicReplicaHealthServiceKindReplicaHealth ...
2617	ServiceKindBasicReplicaHealthServiceKindReplicaHealth ServiceKindBasicReplicaHealth = "ReplicaHealth"
2618	// ServiceKindBasicReplicaHealthServiceKindStateful ...
2619	ServiceKindBasicReplicaHealthServiceKindStateful ServiceKindBasicReplicaHealth = "Stateful"
2620	// ServiceKindBasicReplicaHealthServiceKindStateless ...
2621	ServiceKindBasicReplicaHealthServiceKindStateless ServiceKindBasicReplicaHealth = "Stateless"
2622)
2623
2624// PossibleServiceKindBasicReplicaHealthValues returns an array of possible values for the ServiceKindBasicReplicaHealth const type.
2625func PossibleServiceKindBasicReplicaHealthValues() []ServiceKindBasicReplicaHealth {
2626	return []ServiceKindBasicReplicaHealth{ServiceKindBasicReplicaHealthServiceKindReplicaHealth, ServiceKindBasicReplicaHealthServiceKindStateful, ServiceKindBasicReplicaHealthServiceKindStateless}
2627}
2628
2629// ServiceKindBasicReplicaHealthState enumerates the values for service kind basic replica health state.
2630type ServiceKindBasicReplicaHealthState string
2631
2632const (
2633	// ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState ...
2634	ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState ServiceKindBasicReplicaHealthState = "ReplicaHealthState"
2635	// ServiceKindBasicReplicaHealthStateServiceKindStateful ...
2636	ServiceKindBasicReplicaHealthStateServiceKindStateful ServiceKindBasicReplicaHealthState = "Stateful"
2637	// ServiceKindBasicReplicaHealthStateServiceKindStateless ...
2638	ServiceKindBasicReplicaHealthStateServiceKindStateless ServiceKindBasicReplicaHealthState = "Stateless"
2639)
2640
2641// PossibleServiceKindBasicReplicaHealthStateValues returns an array of possible values for the ServiceKindBasicReplicaHealthState const type.
2642func PossibleServiceKindBasicReplicaHealthStateValues() []ServiceKindBasicReplicaHealthState {
2643	return []ServiceKindBasicReplicaHealthState{ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState, ServiceKindBasicReplicaHealthStateServiceKindStateful, ServiceKindBasicReplicaHealthStateServiceKindStateless}
2644}
2645
2646// ServiceKindBasicReplicaInfo enumerates the values for service kind basic replica info.
2647type ServiceKindBasicReplicaInfo string
2648
2649const (
2650	// ServiceKindBasicReplicaInfoServiceKindReplicaInfo ...
2651	ServiceKindBasicReplicaInfoServiceKindReplicaInfo ServiceKindBasicReplicaInfo = "ReplicaInfo"
2652	// ServiceKindBasicReplicaInfoServiceKindStateful ...
2653	ServiceKindBasicReplicaInfoServiceKindStateful ServiceKindBasicReplicaInfo = "Stateful"
2654	// ServiceKindBasicReplicaInfoServiceKindStateless ...
2655	ServiceKindBasicReplicaInfoServiceKindStateless ServiceKindBasicReplicaInfo = "Stateless"
2656)
2657
2658// PossibleServiceKindBasicReplicaInfoValues returns an array of possible values for the ServiceKindBasicReplicaInfo const type.
2659func PossibleServiceKindBasicReplicaInfoValues() []ServiceKindBasicReplicaInfo {
2660	return []ServiceKindBasicReplicaInfo{ServiceKindBasicReplicaInfoServiceKindReplicaInfo, ServiceKindBasicReplicaInfoServiceKindStateful, ServiceKindBasicReplicaInfoServiceKindStateless}
2661}
2662
2663// ServiceKindBasicServiceDescription enumerates the values for service kind basic service description.
2664type ServiceKindBasicServiceDescription string
2665
2666const (
2667	// ServiceKindBasicServiceDescriptionServiceKindServiceDescription ...
2668	ServiceKindBasicServiceDescriptionServiceKindServiceDescription ServiceKindBasicServiceDescription = "ServiceDescription"
2669	// ServiceKindBasicServiceDescriptionServiceKindStateful ...
2670	ServiceKindBasicServiceDescriptionServiceKindStateful ServiceKindBasicServiceDescription = "Stateful"
2671	// ServiceKindBasicServiceDescriptionServiceKindStateless ...
2672	ServiceKindBasicServiceDescriptionServiceKindStateless ServiceKindBasicServiceDescription = "Stateless"
2673)
2674
2675// PossibleServiceKindBasicServiceDescriptionValues returns an array of possible values for the ServiceKindBasicServiceDescription const type.
2676func PossibleServiceKindBasicServiceDescriptionValues() []ServiceKindBasicServiceDescription {
2677	return []ServiceKindBasicServiceDescription{ServiceKindBasicServiceDescriptionServiceKindServiceDescription, ServiceKindBasicServiceDescriptionServiceKindStateful, ServiceKindBasicServiceDescriptionServiceKindStateless}
2678}
2679
2680// ServiceKindBasicServiceInfo enumerates the values for service kind basic service info.
2681type ServiceKindBasicServiceInfo string
2682
2683const (
2684	// ServiceKindBasicServiceInfoServiceKindServiceInfo ...
2685	ServiceKindBasicServiceInfoServiceKindServiceInfo ServiceKindBasicServiceInfo = "ServiceInfo"
2686	// ServiceKindBasicServiceInfoServiceKindStateful ...
2687	ServiceKindBasicServiceInfoServiceKindStateful ServiceKindBasicServiceInfo = "Stateful"
2688	// ServiceKindBasicServiceInfoServiceKindStateless ...
2689	ServiceKindBasicServiceInfoServiceKindStateless ServiceKindBasicServiceInfo = "Stateless"
2690)
2691
2692// PossibleServiceKindBasicServiceInfoValues returns an array of possible values for the ServiceKindBasicServiceInfo const type.
2693func PossibleServiceKindBasicServiceInfoValues() []ServiceKindBasicServiceInfo {
2694	return []ServiceKindBasicServiceInfo{ServiceKindBasicServiceInfoServiceKindServiceInfo, ServiceKindBasicServiceInfoServiceKindStateful, ServiceKindBasicServiceInfoServiceKindStateless}
2695}
2696
2697// ServiceKindBasicServicePartitionInfo enumerates the values for service kind basic service partition info.
2698type ServiceKindBasicServicePartitionInfo string
2699
2700const (
2701	// ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo ...
2702	ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo ServiceKindBasicServicePartitionInfo = "ServicePartitionInfo"
2703	// ServiceKindBasicServicePartitionInfoServiceKindStateful ...
2704	ServiceKindBasicServicePartitionInfoServiceKindStateful ServiceKindBasicServicePartitionInfo = "Stateful"
2705	// ServiceKindBasicServicePartitionInfoServiceKindStateless ...
2706	ServiceKindBasicServicePartitionInfoServiceKindStateless ServiceKindBasicServicePartitionInfo = "Stateless"
2707)
2708
2709// PossibleServiceKindBasicServicePartitionInfoValues returns an array of possible values for the ServiceKindBasicServicePartitionInfo const type.
2710func PossibleServiceKindBasicServicePartitionInfoValues() []ServiceKindBasicServicePartitionInfo {
2711	return []ServiceKindBasicServicePartitionInfo{ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo, ServiceKindBasicServicePartitionInfoServiceKindStateful, ServiceKindBasicServicePartitionInfoServiceKindStateless}
2712}
2713
2714// ServiceKindBasicServiceUpdateDescription enumerates the values for service kind basic service update
2715// description.
2716type ServiceKindBasicServiceUpdateDescription string
2717
2718const (
2719	// ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription ...
2720	ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription ServiceKindBasicServiceUpdateDescription = "ServiceUpdateDescription"
2721	// ServiceKindBasicServiceUpdateDescriptionServiceKindStateful ...
2722	ServiceKindBasicServiceUpdateDescriptionServiceKindStateful ServiceKindBasicServiceUpdateDescription = "Stateful"
2723	// ServiceKindBasicServiceUpdateDescriptionServiceKindStateless ...
2724	ServiceKindBasicServiceUpdateDescriptionServiceKindStateless ServiceKindBasicServiceUpdateDescription = "Stateless"
2725)
2726
2727// PossibleServiceKindBasicServiceUpdateDescriptionValues returns an array of possible values for the ServiceKindBasicServiceUpdateDescription const type.
2728func PossibleServiceKindBasicServiceUpdateDescriptionValues() []ServiceKindBasicServiceUpdateDescription {
2729	return []ServiceKindBasicServiceUpdateDescription{ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription, ServiceKindBasicServiceUpdateDescriptionServiceKindStateful, ServiceKindBasicServiceUpdateDescriptionServiceKindStateless}
2730}
2731
2732// ServiceLoadMetricWeight enumerates the values for service load metric weight.
2733type ServiceLoadMetricWeight string
2734
2735const (
2736	// ServiceLoadMetricWeightHigh Specifies the metric weight of the service load as High. The value is 3.
2737	ServiceLoadMetricWeightHigh ServiceLoadMetricWeight = "High"
2738	// ServiceLoadMetricWeightLow Specifies the metric weight of the service load as Low. The value is 1.
2739	ServiceLoadMetricWeightLow ServiceLoadMetricWeight = "Low"
2740	// ServiceLoadMetricWeightMedium Specifies the metric weight of the service load as Medium. The value is 2.
2741	ServiceLoadMetricWeightMedium ServiceLoadMetricWeight = "Medium"
2742	// ServiceLoadMetricWeightZero Disables resource balancing for this metric. This value is zero.
2743	ServiceLoadMetricWeightZero ServiceLoadMetricWeight = "Zero"
2744)
2745
2746// PossibleServiceLoadMetricWeightValues returns an array of possible values for the ServiceLoadMetricWeight const type.
2747func PossibleServiceLoadMetricWeightValues() []ServiceLoadMetricWeight {
2748	return []ServiceLoadMetricWeight{ServiceLoadMetricWeightHigh, ServiceLoadMetricWeightLow, ServiceLoadMetricWeightMedium, ServiceLoadMetricWeightZero}
2749}
2750
2751// ServiceOperationName enumerates the values for service operation name.
2752type ServiceOperationName string
2753
2754const (
2755	// ServiceOperationNameAbort The service replica or instance is being aborted.
2756	ServiceOperationNameAbort ServiceOperationName = "Abort"
2757	// ServiceOperationNameChangeRole The service replica is changing roles.
2758	ServiceOperationNameChangeRole ServiceOperationName = "ChangeRole"
2759	// ServiceOperationNameClose The service replica or instance is being closed.
2760	ServiceOperationNameClose ServiceOperationName = "Close"
2761	// ServiceOperationNameNone The service replica or instance is not going through any life-cycle changes.
2762	ServiceOperationNameNone ServiceOperationName = "None"
2763	// ServiceOperationNameOpen The service replica or instance is being opened.
2764	ServiceOperationNameOpen ServiceOperationName = "Open"
2765	// ServiceOperationNameUnknown Reserved for future use.
2766	ServiceOperationNameUnknown ServiceOperationName = "Unknown"
2767)
2768
2769// PossibleServiceOperationNameValues returns an array of possible values for the ServiceOperationName const type.
2770func PossibleServiceOperationNameValues() []ServiceOperationName {
2771	return []ServiceOperationName{ServiceOperationNameAbort, ServiceOperationNameChangeRole, ServiceOperationNameClose, ServiceOperationNameNone, ServiceOperationNameOpen, ServiceOperationNameUnknown}
2772}
2773
2774// ServicePackageActivationMode enumerates the values for service package activation mode.
2775type ServicePackageActivationMode string
2776
2777const (
2778	// ExclusiveProcess With this activation mode, each replica or instance of service, on a given node, will
2779	// have its own dedicated activation of service package on a node. The value is 1.
2780	ExclusiveProcess ServicePackageActivationMode = "ExclusiveProcess"
2781	// SharedProcess This is the default activation mode. With this activation mode, replicas or instances from
2782	// different partition(s) of service, on a given node, will share same activation of service package on a
2783	// node. The value is zero.
2784	SharedProcess ServicePackageActivationMode = "SharedProcess"
2785)
2786
2787// PossibleServicePackageActivationModeValues returns an array of possible values for the ServicePackageActivationMode const type.
2788func PossibleServicePackageActivationModeValues() []ServicePackageActivationMode {
2789	return []ServicePackageActivationMode{ExclusiveProcess, SharedProcess}
2790}
2791
2792// ServicePartitionKind enumerates the values for service partition kind.
2793type ServicePartitionKind string
2794
2795const (
2796	// ServicePartitionKindInt64Range Indicates that the partition is based on Int64 key ranges, and
2797	// UniformInt64RangePartitionSchemeDescription was specified while creating the service. The value is 2.
2798	ServicePartitionKindInt64Range ServicePartitionKind = "Int64Range"
2799	// ServicePartitionKindInvalid Indicates the partition kind is invalid. All Service Fabric enumerations
2800	// have the invalid type. The value is zero.
2801	ServicePartitionKindInvalid ServicePartitionKind = "Invalid"
2802	// ServicePartitionKindNamed Indicates that the partition is based on string names, and
2803	// NamedPartitionInformation  was specified while creating the service. The value is 3.
2804	ServicePartitionKindNamed ServicePartitionKind = "Named"
2805	// ServicePartitionKindSingleton Indicates that there is only one partition, and
2806	// SingletonPartitionSchemeDescription was specified while creating the service. The value is 1.
2807	ServicePartitionKindSingleton ServicePartitionKind = "Singleton"
2808)
2809
2810// PossibleServicePartitionKindValues returns an array of possible values for the ServicePartitionKind const type.
2811func PossibleServicePartitionKindValues() []ServicePartitionKind {
2812	return []ServicePartitionKind{ServicePartitionKindInt64Range, ServicePartitionKindInvalid, ServicePartitionKindNamed, ServicePartitionKindSingleton}
2813}
2814
2815// ServicePartitionKindBasicPartitionInformation enumerates the values for service partition kind basic
2816// partition information.
2817type ServicePartitionKindBasicPartitionInformation string
2818
2819const (
2820	// ServicePartitionKindInt64Range1 ...
2821	ServicePartitionKindInt64Range1 ServicePartitionKindBasicPartitionInformation = "Int64Range"
2822	// ServicePartitionKindNamed1 ...
2823	ServicePartitionKindNamed1 ServicePartitionKindBasicPartitionInformation = "Named"
2824	// ServicePartitionKindPartitionInformation ...
2825	ServicePartitionKindPartitionInformation ServicePartitionKindBasicPartitionInformation = "PartitionInformation"
2826	// ServicePartitionKindSingleton1 ...
2827	ServicePartitionKindSingleton1 ServicePartitionKindBasicPartitionInformation = "Singleton"
2828)
2829
2830// PossibleServicePartitionKindBasicPartitionInformationValues returns an array of possible values for the ServicePartitionKindBasicPartitionInformation const type.
2831func PossibleServicePartitionKindBasicPartitionInformationValues() []ServicePartitionKindBasicPartitionInformation {
2832	return []ServicePartitionKindBasicPartitionInformation{ServicePartitionKindInt64Range1, ServicePartitionKindNamed1, ServicePartitionKindPartitionInformation, ServicePartitionKindSingleton1}
2833}
2834
2835// ServicePartitionStatus enumerates the values for service partition status.
2836type ServicePartitionStatus string
2837
2838const (
2839	// ServicePartitionStatusDeleting Indicates that the partition is being deleted. The value is 5.
2840	ServicePartitionStatusDeleting ServicePartitionStatus = "Deleting"
2841	// ServicePartitionStatusInQuorumLoss Indicates that the partition is in quorum loss. This means that
2842	// number of replicas that are up and participating in a replica set is less than MinReplicaSetSize for
2843	// this partition. The value is 3.
2844	ServicePartitionStatusInQuorumLoss ServicePartitionStatus = "InQuorumLoss"
2845	// ServicePartitionStatusInvalid Indicates the partition status is invalid. All Service Fabric enumerations
2846	// have the invalid type. The value is zero.
2847	ServicePartitionStatusInvalid ServicePartitionStatus = "Invalid"
2848	// ServicePartitionStatusNotReady Indicates that the partition is not ready. This status is returned when
2849	// none of the other states apply. The value is 2.
2850	ServicePartitionStatusNotReady ServicePartitionStatus = "NotReady"
2851	// ServicePartitionStatusReady Indicates that the partition is ready. This means that for a stateless
2852	// service partition there is at least one instance that is up and for a stateful service partition the
2853	// number of ready replicas is greater than or equal to the MinReplicaSetSize. The value is 1.
2854	ServicePartitionStatusReady ServicePartitionStatus = "Ready"
2855	// ServicePartitionStatusReconfiguring Indicates that the partition is undergoing reconfiguration of its
2856	// replica sets. This can happen due to failover, upgrade, load balancing or addition or removal of
2857	// replicas from the replica set. The value is 4.
2858	ServicePartitionStatusReconfiguring ServicePartitionStatus = "Reconfiguring"
2859)
2860
2861// PossibleServicePartitionStatusValues returns an array of possible values for the ServicePartitionStatus const type.
2862func PossibleServicePartitionStatusValues() []ServicePartitionStatus {
2863	return []ServicePartitionStatus{ServicePartitionStatusDeleting, ServicePartitionStatusInQuorumLoss, ServicePartitionStatusInvalid, ServicePartitionStatusNotReady, ServicePartitionStatusReady, ServicePartitionStatusReconfiguring}
2864}
2865
2866// ServicePlacementPolicyType enumerates the values for service placement policy type.
2867type ServicePlacementPolicyType string
2868
2869const (
2870	// ServicePlacementPolicyTypeInvalid Indicates the type of the placement policy is invalid. All Service
2871	// Fabric enumerations have the invalid type. The value is zero.
2872	ServicePlacementPolicyTypeInvalid ServicePlacementPolicyType = "Invalid"
2873	// ServicePlacementPolicyTypeInvalidDomain Indicates that the ServicePlacementPolicyDescription is of type
2874	// ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade
2875	// domain cannot be used for placement of this service. The value is 1.
2876	ServicePlacementPolicyTypeInvalidDomain ServicePlacementPolicyType = "InvalidDomain"
2877	// ServicePlacementPolicyTypeNonPartiallyPlaceService Indicates that the ServicePlacementPolicyDescription
2878	// is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible
2879	// all replicas of a particular partition of the service should be placed atomically. The value is 5.
2880	ServicePlacementPolicyTypeNonPartiallyPlaceService ServicePlacementPolicyType = "NonPartiallyPlaceService"
2881	// ServicePlacementPolicyTypePreferredPrimaryDomain Indicates that the ServicePlacementPolicyDescription is
2882	// of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the
2883	// Primary replica for the partitions of the service should be located in a particular domain as an
2884	// optimization. The value is 3.
2885	ServicePlacementPolicyTypePreferredPrimaryDomain ServicePlacementPolicyType = "PreferredPrimaryDomain"
2886	// ServicePlacementPolicyTypeRequiredDomain Indicates that the ServicePlacementPolicyDescription is of type
2887	// ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service
2888	// must be placed in a specific domain. The value is 2.
2889	ServicePlacementPolicyTypeRequiredDomain ServicePlacementPolicyType = "RequiredDomain"
2890	// ServicePlacementPolicyTypeRequiredDomainDistribution Indicates that the
2891	// ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription,
2892	// indicating that the system will disallow placement of any two replicas from the same partition in the
2893	// same domain at any time. The value is 4.
2894	ServicePlacementPolicyTypeRequiredDomainDistribution ServicePlacementPolicyType = "RequiredDomainDistribution"
2895)
2896
2897// PossibleServicePlacementPolicyTypeValues returns an array of possible values for the ServicePlacementPolicyType const type.
2898func PossibleServicePlacementPolicyTypeValues() []ServicePlacementPolicyType {
2899	return []ServicePlacementPolicyType{ServicePlacementPolicyTypeInvalid, ServicePlacementPolicyTypeInvalidDomain, ServicePlacementPolicyTypeNonPartiallyPlaceService, ServicePlacementPolicyTypePreferredPrimaryDomain, ServicePlacementPolicyTypeRequiredDomain, ServicePlacementPolicyTypeRequiredDomainDistribution}
2900}
2901
2902// ServiceStatus enumerates the values for service status.
2903type ServiceStatus string
2904
2905const (
2906	// ServiceStatusActive Indicates the service status is active. The value is 1.
2907	ServiceStatusActive ServiceStatus = "Active"
2908	// ServiceStatusCreating Indicates the service is being created. The value is 4.
2909	ServiceStatusCreating ServiceStatus = "Creating"
2910	// ServiceStatusDeleting Indicates the service is being deleted. The value is 3.
2911	ServiceStatusDeleting ServiceStatus = "Deleting"
2912	// ServiceStatusFailed Indicates creation or deletion was terminated due to persistent failures. Another
2913	// create/delete request can be accepted. The value is 5.
2914	ServiceStatusFailed ServiceStatus = "Failed"
2915	// ServiceStatusUnknown Indicates the service status is unknown. The value is zero.
2916	ServiceStatusUnknown ServiceStatus = "Unknown"
2917	// ServiceStatusUpgrading Indicates the service is upgrading. The value is 2.
2918	ServiceStatusUpgrading ServiceStatus = "Upgrading"
2919)
2920
2921// PossibleServiceStatusValues returns an array of possible values for the ServiceStatus const type.
2922func PossibleServiceStatusValues() []ServiceStatus {
2923	return []ServiceStatus{ServiceStatusActive, ServiceStatusCreating, ServiceStatusDeleting, ServiceStatusFailed, ServiceStatusUnknown, ServiceStatusUpgrading}
2924}
2925
2926// ServiceTypeRegistrationStatus enumerates the values for service type registration status.
2927type ServiceTypeRegistrationStatus string
2928
2929const (
2930	// ServiceTypeRegistrationStatusDisabled Indicates that the service type is disabled on this node. A type
2931	// gets disabled when there are too many failures of the code package hosting the service type. If the
2932	// service type is disabled, new replicas of that service type will not be placed on the node until it is
2933	// enabled again. The service type is enabled again after the process hosting it comes up and re-registers
2934	// the type or a preconfigured time interval has passed. The value is 1.
2935	ServiceTypeRegistrationStatusDisabled ServiceTypeRegistrationStatus = "Disabled"
2936	// ServiceTypeRegistrationStatusEnabled Indicates that the service type is enabled on this node. Replicas
2937	// of this service type can be placed on this node when the code package registers the service type. The
2938	// value is 2.
2939	ServiceTypeRegistrationStatusEnabled ServiceTypeRegistrationStatus = "Enabled"
2940	// ServiceTypeRegistrationStatusInvalid Indicates the registration status is invalid. All Service Fabric
2941	// enumerations have the invalid type. The value is zero.
2942	ServiceTypeRegistrationStatusInvalid ServiceTypeRegistrationStatus = "Invalid"
2943	// ServiceTypeRegistrationStatusRegistered Indicates that the service type is enabled and registered on the
2944	// node by a code package. Replicas of this service type can now be placed on this node. The value is 3.
2945	ServiceTypeRegistrationStatusRegistered ServiceTypeRegistrationStatus = "Registered"
2946)
2947
2948// PossibleServiceTypeRegistrationStatusValues returns an array of possible values for the ServiceTypeRegistrationStatus const type.
2949func PossibleServiceTypeRegistrationStatusValues() []ServiceTypeRegistrationStatus {
2950	return []ServiceTypeRegistrationStatus{ServiceTypeRegistrationStatusDisabled, ServiceTypeRegistrationStatusEnabled, ServiceTypeRegistrationStatusInvalid, ServiceTypeRegistrationStatusRegistered}
2951}
2952
2953// State enumerates the values for state.
2954type State string
2955
2956const (
2957	// StateApproved Indicates that the repair task has been approved by the Repair Manager and is safe to
2958	// execute.
2959	StateApproved State = "Approved"
2960	// StateClaimed Indicates that the repair task has been claimed by a repair executor.
2961	StateClaimed State = "Claimed"
2962	// StateCompleted Indicates that the repair task has completed, and no further state changes will occur.
2963	StateCompleted State = "Completed"
2964	// StateCreated Indicates that the repair task has been created.
2965	StateCreated State = "Created"
2966	// StateExecuting Indicates that execution of the repair task is in progress.
2967	StateExecuting State = "Executing"
2968	// StateInvalid Indicates that the repair task state is invalid. All Service Fabric enumerations have the
2969	// invalid value.
2970	StateInvalid State = "Invalid"
2971	// StatePreparing Indicates that the Repair Manager is preparing the system to handle the impact of the
2972	// repair task, usually by taking resources offline gracefully.
2973	StatePreparing State = "Preparing"
2974	// StateRestoring Indicates that the Repair Manager is restoring the system to its pre-repair state,
2975	// usually by bringing resources back online.
2976	StateRestoring State = "Restoring"
2977)
2978
2979// PossibleStateValues returns an array of possible values for the State const type.
2980func PossibleStateValues() []State {
2981	return []State{StateApproved, StateClaimed, StateCompleted, StateCreated, StateExecuting, StateInvalid, StatePreparing, StateRestoring}
2982}
2983
2984// StorageKind enumerates the values for storage kind.
2985type StorageKind string
2986
2987const (
2988	// StorageKindAzureBlobStore ...
2989	StorageKindAzureBlobStore StorageKind = "AzureBlobStore"
2990	// StorageKindBackupStorageDescription ...
2991	StorageKindBackupStorageDescription StorageKind = "BackupStorageDescription"
2992	// StorageKindFileShare ...
2993	StorageKindFileShare StorageKind = "FileShare"
2994)
2995
2996// PossibleStorageKindValues returns an array of possible values for the StorageKind const type.
2997func PossibleStorageKindValues() []StorageKind {
2998	return []StorageKind{StorageKindAzureBlobStore, StorageKindBackupStorageDescription, StorageKindFileShare}
2999}
3000
3001// Type enumerates the values for type.
3002type Type string
3003
3004const (
3005	// TypeInvalidDomain ...
3006	TypeInvalidDomain Type = "InvalidDomain"
3007	// TypeNonPartiallyPlaceService ...
3008	TypeNonPartiallyPlaceService Type = "NonPartiallyPlaceService"
3009	// TypePreferredPrimaryDomain ...
3010	TypePreferredPrimaryDomain Type = "PreferredPrimaryDomain"
3011	// TypeRequiredDomain ...
3012	TypeRequiredDomain Type = "RequiredDomain"
3013	// TypeRequiredDomainDistribution ...
3014	TypeRequiredDomainDistribution Type = "RequiredDomainDistribution"
3015	// TypeServicePlacementPolicyDescription ...
3016	TypeServicePlacementPolicyDescription Type = "ServicePlacementPolicyDescription"
3017)
3018
3019// PossibleTypeValues returns an array of possible values for the Type const type.
3020func PossibleTypeValues() []Type {
3021	return []Type{TypeInvalidDomain, TypeNonPartiallyPlaceService, TypePreferredPrimaryDomain, TypeRequiredDomain, TypeRequiredDomainDistribution, TypeServicePlacementPolicyDescription}
3022}
3023
3024// UpgradeDomainState enumerates the values for upgrade domain state.
3025type UpgradeDomainState string
3026
3027const (
3028	// UpgradeDomainStateCompleted The upgrade domain has completed upgrade. The value is 3
3029	UpgradeDomainStateCompleted UpgradeDomainState = "Completed"
3030	// UpgradeDomainStateInProgress The upgrade domain is being upgraded but not complete yet. The value is 2
3031	UpgradeDomainStateInProgress UpgradeDomainState = "InProgress"
3032	// UpgradeDomainStateInvalid Indicates the upgrade domain state is invalid. All Service Fabric enumerations
3033	// have the invalid type. The value is zero.
3034	UpgradeDomainStateInvalid UpgradeDomainState = "Invalid"
3035	// UpgradeDomainStatePending The upgrade domain has not started upgrading yet. The value is 1
3036	UpgradeDomainStatePending UpgradeDomainState = "Pending"
3037)
3038
3039// PossibleUpgradeDomainStateValues returns an array of possible values for the UpgradeDomainState const type.
3040func PossibleUpgradeDomainStateValues() []UpgradeDomainState {
3041	return []UpgradeDomainState{UpgradeDomainStateCompleted, UpgradeDomainStateInProgress, UpgradeDomainStateInvalid, UpgradeDomainStatePending}
3042}
3043
3044// UpgradeKind enumerates the values for upgrade kind.
3045type UpgradeKind string
3046
3047const (
3048	// UpgradeKindInvalid Indicates the upgrade kind is invalid. All Service Fabric enumerations have the
3049	// invalid type. The value is zero.
3050	UpgradeKindInvalid UpgradeKind = "Invalid"
3051	// UpgradeKindRolling The upgrade progresses one upgrade domain at a time. The value is 1
3052	UpgradeKindRolling UpgradeKind = "Rolling"
3053)
3054
3055// PossibleUpgradeKindValues returns an array of possible values for the UpgradeKind const type.
3056func PossibleUpgradeKindValues() []UpgradeKind {
3057	return []UpgradeKind{UpgradeKindInvalid, UpgradeKindRolling}
3058}
3059
3060// UpgradeMode enumerates the values for upgrade mode.
3061type UpgradeMode string
3062
3063const (
3064	// UpgradeModeInvalid Indicates the upgrade mode is invalid. All Service Fabric enumerations have the
3065	// invalid type. The value is zero.
3066	UpgradeModeInvalid UpgradeMode = "Invalid"
3067	// UpgradeModeMonitored The upgrade will stop after completing each upgrade domain and automatically
3068	// monitor health before proceeding. The value is 3
3069	UpgradeModeMonitored UpgradeMode = "Monitored"
3070	// UpgradeModeUnmonitoredAuto The upgrade will proceed automatically without performing any health
3071	// monitoring. The value is 1
3072	UpgradeModeUnmonitoredAuto UpgradeMode = "UnmonitoredAuto"
3073	// UpgradeModeUnmonitoredManual The upgrade will stop after completing each upgrade domain, giving the
3074	// opportunity to manually monitor health before proceeding. The value is 2
3075	UpgradeModeUnmonitoredManual UpgradeMode = "UnmonitoredManual"
3076)
3077
3078// PossibleUpgradeModeValues returns an array of possible values for the UpgradeMode const type.
3079func PossibleUpgradeModeValues() []UpgradeMode {
3080	return []UpgradeMode{UpgradeModeInvalid, UpgradeModeMonitored, UpgradeModeUnmonitoredAuto, UpgradeModeUnmonitoredManual}
3081}
3082
3083// UpgradeState enumerates the values for upgrade state.
3084type UpgradeState string
3085
3086const (
3087	// UpgradeStateFailed The upgrade has failed and is unable to execute FailureAction. The value is 6
3088	UpgradeStateFailed UpgradeState = "Failed"
3089	// UpgradeStateInvalid Indicates the upgrade state is invalid. All Service Fabric enumerations have the
3090	// invalid type. The value is zero.
3091	UpgradeStateInvalid UpgradeState = "Invalid"
3092	// UpgradeStateRollingBackCompleted The upgrade has finished rolling back. The value is 2
3093	UpgradeStateRollingBackCompleted UpgradeState = "RollingBackCompleted"
3094	// UpgradeStateRollingBackInProgress The upgrade is rolling back to the previous version but is not
3095	// complete yet. The value is 1
3096	UpgradeStateRollingBackInProgress UpgradeState = "RollingBackInProgress"
3097	// UpgradeStateRollingForwardCompleted The upgrade has finished rolling forward. The value is 5
3098	UpgradeStateRollingForwardCompleted UpgradeState = "RollingForwardCompleted"
3099	// UpgradeStateRollingForwardInProgress The upgrade is rolling forward to the target version but is not
3100	// complete yet. The value is 4
3101	UpgradeStateRollingForwardInProgress UpgradeState = "RollingForwardInProgress"
3102	// UpgradeStateRollingForwardPending The current upgrade domain has finished upgrading. The overall upgrade
3103	// is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in
3104	// Monitored mode. The value is 3
3105	UpgradeStateRollingForwardPending UpgradeState = "RollingForwardPending"
3106)
3107
3108// PossibleUpgradeStateValues returns an array of possible values for the UpgradeState const type.
3109func PossibleUpgradeStateValues() []UpgradeState {
3110	return []UpgradeState{UpgradeStateFailed, UpgradeStateInvalid, UpgradeStateRollingBackCompleted, UpgradeStateRollingBackInProgress, UpgradeStateRollingForwardCompleted, UpgradeStateRollingForwardInProgress, UpgradeStateRollingForwardPending}
3111}
3112
3113// UpgradeType enumerates the values for upgrade type.
3114type UpgradeType string
3115
3116const (
3117	// UpgradeTypeInvalid Indicates the upgrade kind is invalid. All Service Fabric enumerations have the
3118	// invalid type. The value is zero.
3119	UpgradeTypeInvalid UpgradeType = "Invalid"
3120	// UpgradeTypeRolling The upgrade progresses one upgrade domain at a time. The value is 1.
3121	UpgradeTypeRolling UpgradeType = "Rolling"
3122	// UpgradeTypeRollingForceRestart The upgrade gets restarted by force. The value is 2.
3123	UpgradeTypeRollingForceRestart UpgradeType = "Rolling_ForceRestart"
3124)
3125
3126// PossibleUpgradeTypeValues returns an array of possible values for the UpgradeType const type.
3127func PossibleUpgradeTypeValues() []UpgradeType {
3128	return []UpgradeType{UpgradeTypeInvalid, UpgradeTypeRolling, UpgradeTypeRollingForceRestart}
3129}
3130
3131// AadMetadata azure Active Directory metadata used for secured connection to cluster.
3132type AadMetadata struct {
3133	// Authority - The AAD authority url.
3134	Authority *string `json:"authority,omitempty"`
3135	// Client - The AAD client application Id.
3136	Client *string `json:"client,omitempty"`
3137	// Cluster - The AAD cluster application Id.
3138	Cluster *string `json:"cluster,omitempty"`
3139	// Login - The AAD login url.
3140	Login *string `json:"login,omitempty"`
3141	// Redirect - The client application redirect address.
3142	Redirect *string `json:"redirect,omitempty"`
3143	// Tenant - The AAD tenant Id.
3144	Tenant *string `json:"tenant,omitempty"`
3145}
3146
3147// AadMetadataObject azure Active Directory metadata object used for secured connection to cluster.
3148type AadMetadataObject struct {
3149	autorest.Response `json:"-"`
3150	// Type - The client authentication method.
3151	Type *string `json:"type,omitempty"`
3152	// Metadata - Azure Active Directory metadata used for secured connection to cluster.
3153	Metadata *AadMetadata `json:"metadata,omitempty"`
3154}
3155
3156// AddRemoveIncrementalNamedPartitionScalingMechanism represents a scaling mechanism for adding or removing named
3157// partitions of a stateless service. Partition names are in the format '0','1''N-1'
3158type AddRemoveIncrementalNamedPartitionScalingMechanism struct {
3159	// MinPartitionCount - Minimum number of named partitions of the service.
3160	MinPartitionCount *int32 `json:"MinPartitionCount,omitempty"`
3161	// MaxPartitionCount - Maximum number of named partitions of the service.
3162	MaxPartitionCount *int32 `json:"MaxPartitionCount,omitempty"`
3163	// ScaleIncrement - The number of instances to add or remove during a scaling operation.
3164	ScaleIncrement *int32 `json:"ScaleIncrement,omitempty"`
3165	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
3166	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
3167}
3168
3169// MarshalJSON is the custom marshaler for AddRemoveIncrementalNamedPartitionScalingMechanism.
3170func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) MarshalJSON() ([]byte, error) {
3171	arinpsm.Kind = KindAddRemoveIncrementalNamedPartition
3172	objectMap := make(map[string]interface{})
3173	if arinpsm.MinPartitionCount != nil {
3174		objectMap["MinPartitionCount"] = arinpsm.MinPartitionCount
3175	}
3176	if arinpsm.MaxPartitionCount != nil {
3177		objectMap["MaxPartitionCount"] = arinpsm.MaxPartitionCount
3178	}
3179	if arinpsm.ScaleIncrement != nil {
3180		objectMap["ScaleIncrement"] = arinpsm.ScaleIncrement
3181	}
3182	if arinpsm.Kind != "" {
3183		objectMap["Kind"] = arinpsm.Kind
3184	}
3185	return json.Marshal(objectMap)
3186}
3187
3188// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3189func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
3190	return nil, false
3191}
3192
3193// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3194func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
3195	return &arinpsm, true
3196}
3197
3198// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3199func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
3200	return nil, false
3201}
3202
3203// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3204func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
3205	return &arinpsm, true
3206}
3207
3208// AnalysisEventMetadata metadata about an Analysis Event.
3209type AnalysisEventMetadata struct {
3210	// Delay - The analysis delay.
3211	Delay *string `json:"Delay,omitempty"`
3212	// Duration - The duration of analysis.
3213	Duration *string `json:"Duration,omitempty"`
3214}
3215
3216// ApplicationBackupConfigurationInfo backup configuration information for a specific Service Fabric application
3217// specifying what backup policy is being applied and suspend description, if any.
3218type ApplicationBackupConfigurationInfo struct {
3219	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
3220	ApplicationName *string `json:"ApplicationName,omitempty"`
3221	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
3222	PolicyName *string `json:"PolicyName,omitempty"`
3223	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
3224	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
3225	// SuspensionInfo - Describes the backup suspension details.
3226	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
3227	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
3228	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
3229}
3230
3231// MarshalJSON is the custom marshaler for ApplicationBackupConfigurationInfo.
3232func (abci ApplicationBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
3233	abci.Kind = KindBasicBackupConfigurationInfoKindApplication
3234	objectMap := make(map[string]interface{})
3235	if abci.ApplicationName != nil {
3236		objectMap["ApplicationName"] = abci.ApplicationName
3237	}
3238	if abci.PolicyName != nil {
3239		objectMap["PolicyName"] = abci.PolicyName
3240	}
3241	if abci.PolicyInheritedFrom != "" {
3242		objectMap["PolicyInheritedFrom"] = abci.PolicyInheritedFrom
3243	}
3244	if abci.SuspensionInfo != nil {
3245		objectMap["SuspensionInfo"] = abci.SuspensionInfo
3246	}
3247	if abci.Kind != "" {
3248		objectMap["Kind"] = abci.Kind
3249	}
3250	return json.Marshal(objectMap)
3251}
3252
3253// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3254func (abci ApplicationBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
3255	return &abci, true
3256}
3257
3258// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3259func (abci ApplicationBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
3260	return nil, false
3261}
3262
3263// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3264func (abci ApplicationBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
3265	return nil, false
3266}
3267
3268// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3269func (abci ApplicationBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
3270	return nil, false
3271}
3272
3273// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3274func (abci ApplicationBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
3275	return &abci, true
3276}
3277
3278// ApplicationBackupEntity identifies the Service Fabric application which is being backed up.
3279type ApplicationBackupEntity struct {
3280	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
3281	ApplicationName *string `json:"ApplicationName,omitempty"`
3282	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
3283	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
3284}
3285
3286// MarshalJSON is the custom marshaler for ApplicationBackupEntity.
3287func (abe ApplicationBackupEntity) MarshalJSON() ([]byte, error) {
3288	abe.EntityKind = EntityKindApplication1
3289	objectMap := make(map[string]interface{})
3290	if abe.ApplicationName != nil {
3291		objectMap["ApplicationName"] = abe.ApplicationName
3292	}
3293	if abe.EntityKind != "" {
3294		objectMap["EntityKind"] = abe.EntityKind
3295	}
3296	return json.Marshal(objectMap)
3297}
3298
3299// AsApplicationBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3300func (abe ApplicationBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
3301	return &abe, true
3302}
3303
3304// AsServiceBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3305func (abe ApplicationBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
3306	return nil, false
3307}
3308
3309// AsPartitionBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3310func (abe ApplicationBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
3311	return nil, false
3312}
3313
3314// AsBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3315func (abe ApplicationBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
3316	return nil, false
3317}
3318
3319// AsBasicBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3320func (abe ApplicationBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
3321	return &abe, true
3322}
3323
3324// ApplicationCapacityDescription describes capacity information for services of this application. This description
3325// can be used for describing the following.
3326// - Reserving the capacity for the services on the nodes
3327// - Limiting the total number of nodes that services of this application can run on
3328// - Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this
3329// application
3330type ApplicationCapacityDescription struct {
3331	// 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.
3332	MinimumNodes *int64 `json:"MinimumNodes,omitempty"`
3333	// 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.
3334	MaximumNodes *int64 `json:"MaximumNodes,omitempty"`
3335	// ApplicationMetrics - List of application capacity metric description.
3336	ApplicationMetrics *[]ApplicationMetricDescription `json:"ApplicationMetrics,omitempty"`
3337}
3338
3339// ApplicationCreatedEvent application Created event.
3340type ApplicationCreatedEvent struct {
3341	// ApplicationTypeName - Application type name.
3342	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3343	// ApplicationTypeVersion - Application type version.
3344	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3345	// ApplicationDefinitionKind - Application definition kind.
3346	ApplicationDefinitionKind *string `json:"ApplicationDefinitionKind,omitempty"`
3347	// 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.
3348	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3349	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3350	ApplicationID *string `json:"ApplicationId,omitempty"`
3351	// EventInstanceID - The identifier for the FabricEvent instance.
3352	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3353	// TimeStamp - The time event was logged.
3354	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3355	// HasCorrelatedEvents - Shows there is existing related events available.
3356	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3357	// 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'
3358	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3359}
3360
3361// MarshalJSON is the custom marshaler for ApplicationCreatedEvent.
3362func (ace ApplicationCreatedEvent) MarshalJSON() ([]byte, error) {
3363	ace.Kind = KindApplicationCreated
3364	objectMap := make(map[string]interface{})
3365	if ace.ApplicationTypeName != nil {
3366		objectMap["ApplicationTypeName"] = ace.ApplicationTypeName
3367	}
3368	if ace.ApplicationTypeVersion != nil {
3369		objectMap["ApplicationTypeVersion"] = ace.ApplicationTypeVersion
3370	}
3371	if ace.ApplicationDefinitionKind != nil {
3372		objectMap["ApplicationDefinitionKind"] = ace.ApplicationDefinitionKind
3373	}
3374	if ace.ApplicationID != nil {
3375		objectMap["ApplicationId"] = ace.ApplicationID
3376	}
3377	if ace.EventInstanceID != nil {
3378		objectMap["EventInstanceId"] = ace.EventInstanceID
3379	}
3380	if ace.TimeStamp != nil {
3381		objectMap["TimeStamp"] = ace.TimeStamp
3382	}
3383	if ace.HasCorrelatedEvents != nil {
3384		objectMap["HasCorrelatedEvents"] = ace.HasCorrelatedEvents
3385	}
3386	if ace.Kind != "" {
3387		objectMap["Kind"] = ace.Kind
3388	}
3389	return json.Marshal(objectMap)
3390}
3391
3392// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3393func (ace ApplicationCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3394	return nil, false
3395}
3396
3397// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3398func (ace ApplicationCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3399	return &ace, true
3400}
3401
3402// AsClusterEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3403func (ace ApplicationCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
3404	return nil, false
3405}
3406
3407// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3408func (ace ApplicationCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3409	return nil, false
3410}
3411
3412// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3413func (ace ApplicationCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3414	return nil, false
3415}
3416
3417// AsNodeEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3418func (ace ApplicationCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
3419	return nil, false
3420}
3421
3422// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3423func (ace ApplicationCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3424	return nil, false
3425}
3426
3427// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3428func (ace ApplicationCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3429	return nil, false
3430}
3431
3432// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3433func (ace ApplicationCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3434	return nil, false
3435}
3436
3437// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3438func (ace ApplicationCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3439	return nil, false
3440}
3441
3442// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3443func (ace ApplicationCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3444	return nil, false
3445}
3446
3447// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3448func (ace ApplicationCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3449	return nil, false
3450}
3451
3452// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3453func (ace ApplicationCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
3454	return nil, false
3455}
3456
3457// AsServiceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3458func (ace ApplicationCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
3459	return nil, false
3460}
3461
3462// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3463func (ace ApplicationCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
3464	return nil, false
3465}
3466
3467// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3468func (ace ApplicationCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
3469	return &ace, true
3470}
3471
3472// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3473func (ace ApplicationCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
3474	return nil, false
3475}
3476
3477// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3478func (ace ApplicationCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
3479	return nil, false
3480}
3481
3482// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3483func (ace ApplicationCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
3484	return nil, false
3485}
3486
3487// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3488func (ace ApplicationCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
3489	return nil, false
3490}
3491
3492// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3493func (ace ApplicationCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
3494	return nil, false
3495}
3496
3497// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3498func (ace ApplicationCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
3499	return nil, false
3500}
3501
3502// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3503func (ace ApplicationCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
3504	return nil, false
3505}
3506
3507// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3508func (ace ApplicationCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
3509	return nil, false
3510}
3511
3512// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3513func (ace ApplicationCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
3514	return nil, false
3515}
3516
3517// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3518func (ace ApplicationCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
3519	return nil, false
3520}
3521
3522// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3523func (ace ApplicationCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
3524	return nil, false
3525}
3526
3527// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3528func (ace ApplicationCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
3529	return nil, false
3530}
3531
3532// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3533func (ace ApplicationCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
3534	return nil, false
3535}
3536
3537// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3538func (ace ApplicationCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
3539	return nil, false
3540}
3541
3542// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3543func (ace ApplicationCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
3544	return nil, false
3545}
3546
3547// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3548func (ace ApplicationCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
3549	return nil, false
3550}
3551
3552// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3553func (ace ApplicationCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
3554	return nil, false
3555}
3556
3557// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3558func (ace ApplicationCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
3559	return nil, false
3560}
3561
3562// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3563func (ace ApplicationCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
3564	return nil, false
3565}
3566
3567// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3568func (ace ApplicationCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
3569	return nil, false
3570}
3571
3572// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3573func (ace ApplicationCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
3574	return nil, false
3575}
3576
3577// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3578func (ace ApplicationCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
3579	return nil, false
3580}
3581
3582// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3583func (ace ApplicationCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
3584	return nil, false
3585}
3586
3587// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3588func (ace ApplicationCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
3589	return nil, false
3590}
3591
3592// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3593func (ace ApplicationCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
3594	return nil, false
3595}
3596
3597// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3598func (ace ApplicationCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
3599	return nil, false
3600}
3601
3602// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3603func (ace ApplicationCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
3604	return nil, false
3605}
3606
3607// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3608func (ace ApplicationCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
3609	return nil, false
3610}
3611
3612// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3613func (ace ApplicationCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
3614	return nil, false
3615}
3616
3617// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3618func (ace ApplicationCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
3619	return nil, false
3620}
3621
3622// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3623func (ace ApplicationCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
3624	return nil, false
3625}
3626
3627// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3628func (ace ApplicationCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
3629	return nil, false
3630}
3631
3632// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3633func (ace ApplicationCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
3634	return nil, false
3635}
3636
3637// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3638func (ace ApplicationCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
3639	return nil, false
3640}
3641
3642// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3643func (ace ApplicationCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
3644	return nil, false
3645}
3646
3647// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3648func (ace ApplicationCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
3649	return nil, false
3650}
3651
3652// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3653func (ace ApplicationCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
3654	return nil, false
3655}
3656
3657// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3658func (ace ApplicationCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
3659	return nil, false
3660}
3661
3662// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3663func (ace ApplicationCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
3664	return nil, false
3665}
3666
3667// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3668func (ace ApplicationCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
3669	return nil, false
3670}
3671
3672// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3673func (ace ApplicationCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
3674	return nil, false
3675}
3676
3677// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3678func (ace ApplicationCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
3679	return nil, false
3680}
3681
3682// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3683func (ace ApplicationCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
3684	return nil, false
3685}
3686
3687// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3688func (ace ApplicationCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
3689	return nil, false
3690}
3691
3692// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3693func (ace ApplicationCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
3694	return nil, false
3695}
3696
3697// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3698func (ace ApplicationCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
3699	return nil, false
3700}
3701
3702// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3703func (ace ApplicationCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
3704	return nil, false
3705}
3706
3707// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3708func (ace ApplicationCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
3709	return nil, false
3710}
3711
3712// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3713func (ace ApplicationCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
3714	return nil, false
3715}
3716
3717// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3718func (ace ApplicationCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
3719	return nil, false
3720}
3721
3722// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3723func (ace ApplicationCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
3724	return nil, false
3725}
3726
3727// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3728func (ace ApplicationCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
3729	return nil, false
3730}
3731
3732// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3733func (ace ApplicationCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
3734	return nil, false
3735}
3736
3737// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3738func (ace ApplicationCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
3739	return nil, false
3740}
3741
3742// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3743func (ace ApplicationCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
3744	return nil, false
3745}
3746
3747// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3748func (ace ApplicationCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
3749	return nil, false
3750}
3751
3752// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3753func (ace ApplicationCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
3754	return nil, false
3755}
3756
3757// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3758func (ace ApplicationCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
3759	return nil, false
3760}
3761
3762// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3763func (ace ApplicationCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
3764	return nil, false
3765}
3766
3767// AsFabricEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3768func (ace ApplicationCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
3769	return nil, false
3770}
3771
3772// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3773func (ace ApplicationCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
3774	return &ace, true
3775}
3776
3777// ApplicationDeletedEvent application Deleted event.
3778type ApplicationDeletedEvent struct {
3779	// ApplicationTypeName - Application type name.
3780	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3781	// ApplicationTypeVersion - Application type version.
3782	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3783	// 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.
3784	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3785	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3786	ApplicationID *string `json:"ApplicationId,omitempty"`
3787	// EventInstanceID - The identifier for the FabricEvent instance.
3788	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3789	// TimeStamp - The time event was logged.
3790	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3791	// HasCorrelatedEvents - Shows there is existing related events available.
3792	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3793	// 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'
3794	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3795}
3796
3797// MarshalJSON is the custom marshaler for ApplicationDeletedEvent.
3798func (ade ApplicationDeletedEvent) MarshalJSON() ([]byte, error) {
3799	ade.Kind = KindApplicationDeleted
3800	objectMap := make(map[string]interface{})
3801	if ade.ApplicationTypeName != nil {
3802		objectMap["ApplicationTypeName"] = ade.ApplicationTypeName
3803	}
3804	if ade.ApplicationTypeVersion != nil {
3805		objectMap["ApplicationTypeVersion"] = ade.ApplicationTypeVersion
3806	}
3807	if ade.ApplicationID != nil {
3808		objectMap["ApplicationId"] = ade.ApplicationID
3809	}
3810	if ade.EventInstanceID != nil {
3811		objectMap["EventInstanceId"] = ade.EventInstanceID
3812	}
3813	if ade.TimeStamp != nil {
3814		objectMap["TimeStamp"] = ade.TimeStamp
3815	}
3816	if ade.HasCorrelatedEvents != nil {
3817		objectMap["HasCorrelatedEvents"] = ade.HasCorrelatedEvents
3818	}
3819	if ade.Kind != "" {
3820		objectMap["Kind"] = ade.Kind
3821	}
3822	return json.Marshal(objectMap)
3823}
3824
3825// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3826func (ade ApplicationDeletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3827	return nil, false
3828}
3829
3830// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3831func (ade ApplicationDeletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3832	return &ade, true
3833}
3834
3835// AsClusterEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3836func (ade ApplicationDeletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
3837	return nil, false
3838}
3839
3840// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3841func (ade ApplicationDeletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3842	return nil, false
3843}
3844
3845// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3846func (ade ApplicationDeletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3847	return nil, false
3848}
3849
3850// AsNodeEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3851func (ade ApplicationDeletedEvent) AsNodeEvent() (*NodeEvent, bool) {
3852	return nil, false
3853}
3854
3855// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3856func (ade ApplicationDeletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3857	return nil, false
3858}
3859
3860// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3861func (ade ApplicationDeletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3862	return nil, false
3863}
3864
3865// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3866func (ade ApplicationDeletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3867	return nil, false
3868}
3869
3870// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3871func (ade ApplicationDeletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3872	return nil, false
3873}
3874
3875// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3876func (ade ApplicationDeletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3877	return nil, false
3878}
3879
3880// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3881func (ade ApplicationDeletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3882	return nil, false
3883}
3884
3885// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3886func (ade ApplicationDeletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
3887	return nil, false
3888}
3889
3890// AsServiceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3891func (ade ApplicationDeletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
3892	return nil, false
3893}
3894
3895// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3896func (ade ApplicationDeletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
3897	return nil, false
3898}
3899
3900// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3901func (ade ApplicationDeletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
3902	return nil, false
3903}
3904
3905// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3906func (ade ApplicationDeletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
3907	return &ade, true
3908}
3909
3910// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3911func (ade ApplicationDeletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
3912	return nil, false
3913}
3914
3915// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3916func (ade ApplicationDeletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
3917	return nil, false
3918}
3919
3920// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3921func (ade ApplicationDeletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
3922	return nil, false
3923}
3924
3925// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3926func (ade ApplicationDeletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
3927	return nil, false
3928}
3929
3930// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3931func (ade ApplicationDeletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
3932	return nil, false
3933}
3934
3935// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3936func (ade ApplicationDeletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
3937	return nil, false
3938}
3939
3940// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3941func (ade ApplicationDeletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
3942	return nil, false
3943}
3944
3945// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3946func (ade ApplicationDeletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
3947	return nil, false
3948}
3949
3950// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3951func (ade ApplicationDeletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
3952	return nil, false
3953}
3954
3955// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3956func (ade ApplicationDeletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
3957	return nil, false
3958}
3959
3960// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3961func (ade ApplicationDeletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
3962	return nil, false
3963}
3964
3965// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3966func (ade ApplicationDeletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
3967	return nil, false
3968}
3969
3970// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3971func (ade ApplicationDeletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
3972	return nil, false
3973}
3974
3975// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3976func (ade ApplicationDeletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
3977	return nil, false
3978}
3979
3980// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3981func (ade ApplicationDeletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
3982	return nil, false
3983}
3984
3985// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3986func (ade ApplicationDeletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
3987	return nil, false
3988}
3989
3990// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3991func (ade ApplicationDeletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
3992	return nil, false
3993}
3994
3995// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3996func (ade ApplicationDeletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
3997	return nil, false
3998}
3999
4000// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4001func (ade ApplicationDeletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4002	return nil, false
4003}
4004
4005// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4006func (ade ApplicationDeletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4007	return nil, false
4008}
4009
4010// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4011func (ade ApplicationDeletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4012	return nil, false
4013}
4014
4015// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4016func (ade ApplicationDeletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4017	return nil, false
4018}
4019
4020// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4021func (ade ApplicationDeletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4022	return nil, false
4023}
4024
4025// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4026func (ade ApplicationDeletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4027	return nil, false
4028}
4029
4030// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4031func (ade ApplicationDeletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4032	return nil, false
4033}
4034
4035// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4036func (ade ApplicationDeletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4037	return nil, false
4038}
4039
4040// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4041func (ade ApplicationDeletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4042	return nil, false
4043}
4044
4045// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4046func (ade ApplicationDeletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4047	return nil, false
4048}
4049
4050// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4051func (ade ApplicationDeletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4052	return nil, false
4053}
4054
4055// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4056func (ade ApplicationDeletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4057	return nil, false
4058}
4059
4060// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4061func (ade ApplicationDeletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4062	return nil, false
4063}
4064
4065// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4066func (ade ApplicationDeletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4067	return nil, false
4068}
4069
4070// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4071func (ade ApplicationDeletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4072	return nil, false
4073}
4074
4075// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4076func (ade ApplicationDeletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4077	return nil, false
4078}
4079
4080// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4081func (ade ApplicationDeletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4082	return nil, false
4083}
4084
4085// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4086func (ade ApplicationDeletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4087	return nil, false
4088}
4089
4090// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4091func (ade ApplicationDeletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4092	return nil, false
4093}
4094
4095// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4096func (ade ApplicationDeletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4097	return nil, false
4098}
4099
4100// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4101func (ade ApplicationDeletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4102	return nil, false
4103}
4104
4105// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4106func (ade ApplicationDeletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4107	return nil, false
4108}
4109
4110// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4111func (ade ApplicationDeletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4112	return nil, false
4113}
4114
4115// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4116func (ade ApplicationDeletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4117	return nil, false
4118}
4119
4120// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4121func (ade ApplicationDeletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4122	return nil, false
4123}
4124
4125// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4126func (ade ApplicationDeletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4127	return nil, false
4128}
4129
4130// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4131func (ade ApplicationDeletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4132	return nil, false
4133}
4134
4135// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4136func (ade ApplicationDeletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4137	return nil, false
4138}
4139
4140// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4141func (ade ApplicationDeletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4142	return nil, false
4143}
4144
4145// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4146func (ade ApplicationDeletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4147	return nil, false
4148}
4149
4150// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4151func (ade ApplicationDeletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4152	return nil, false
4153}
4154
4155// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4156func (ade ApplicationDeletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4157	return nil, false
4158}
4159
4160// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4161func (ade ApplicationDeletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4162	return nil, false
4163}
4164
4165// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4166func (ade ApplicationDeletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4167	return nil, false
4168}
4169
4170// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4171func (ade ApplicationDeletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4172	return nil, false
4173}
4174
4175// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4176func (ade ApplicationDeletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4177	return nil, false
4178}
4179
4180// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4181func (ade ApplicationDeletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4182	return nil, false
4183}
4184
4185// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4186func (ade ApplicationDeletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4187	return nil, false
4188}
4189
4190// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4191func (ade ApplicationDeletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4192	return nil, false
4193}
4194
4195// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4196func (ade ApplicationDeletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4197	return nil, false
4198}
4199
4200// AsFabricEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4201func (ade ApplicationDeletedEvent) AsFabricEvent() (*FabricEvent, bool) {
4202	return nil, false
4203}
4204
4205// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4206func (ade ApplicationDeletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4207	return &ade, true
4208}
4209
4210// ApplicationDescription describes a Service Fabric application.
4211type ApplicationDescription struct {
4212	// Name - The name of the application, including the 'fabric:' URI scheme.
4213	Name *string `json:"Name,omitempty"`
4214	// TypeName - The application type name as defined in the application manifest.
4215	TypeName *string `json:"TypeName,omitempty"`
4216	// TypeVersion - The version of the application type as defined in the application manifest.
4217	TypeVersion *string `json:"TypeVersion,omitempty"`
4218	// ParameterList - List of application parameters with overridden values from their default values specified in the application manifest.
4219	ParameterList *[]ApplicationParameter `json:"ParameterList,omitempty"`
4220	// ApplicationCapacity - Describes capacity information for services of this application. This description can be used for describing the following.
4221	// - Reserving the capacity for the services on the nodes
4222	// - Limiting the total number of nodes that services of this application can run on
4223	// - Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application
4224	ApplicationCapacity *ApplicationCapacityDescription `json:"ApplicationCapacity,omitempty"`
4225}
4226
4227// BasicApplicationEvent represents the base for all Application Events.
4228type BasicApplicationEvent interface {
4229	AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool)
4230	AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool)
4231	AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool)
4232	AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool)
4233	AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool)
4234	AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool)
4235	AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool)
4236	AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool)
4237	AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool)
4238	AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool)
4239	AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool)
4240	AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool)
4241	AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool)
4242	AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool)
4243	AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool)
4244	AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool)
4245	AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool)
4246	AsApplicationEvent() (*ApplicationEvent, bool)
4247}
4248
4249// ApplicationEvent represents the base for all Application Events.
4250type ApplicationEvent struct {
4251	// 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.
4252	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
4253	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
4254	ApplicationID *string `json:"ApplicationId,omitempty"`
4255	// EventInstanceID - The identifier for the FabricEvent instance.
4256	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
4257	// TimeStamp - The time event was logged.
4258	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
4259	// HasCorrelatedEvents - Shows there is existing related events available.
4260	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
4261	// 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'
4262	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
4263}
4264
4265func unmarshalBasicApplicationEvent(body []byte) (BasicApplicationEvent, error) {
4266	var m map[string]interface{}
4267	err := json.Unmarshal(body, &m)
4268	if err != nil {
4269		return nil, err
4270	}
4271
4272	switch m["Kind"] {
4273	case string(KindApplicationCreated):
4274		var ace ApplicationCreatedEvent
4275		err := json.Unmarshal(body, &ace)
4276		return ace, err
4277	case string(KindApplicationDeleted):
4278		var ade ApplicationDeletedEvent
4279		err := json.Unmarshal(body, &ade)
4280		return ade, err
4281	case string(KindApplicationHealthReportCreated):
4282		var ahrce ApplicationHealthReportCreatedEvent
4283		err := json.Unmarshal(body, &ahrce)
4284		return ahrce, err
4285	case string(KindApplicationHealthReportExpired):
4286		var ahree ApplicationHealthReportExpiredEvent
4287		err := json.Unmarshal(body, &ahree)
4288		return ahree, err
4289	case string(KindApplicationUpgradeComplete):
4290		var auce ApplicationUpgradeCompleteEvent
4291		err := json.Unmarshal(body, &auce)
4292		return auce, err
4293	case string(KindApplicationUpgradeDomainComplete):
4294		var audce ApplicationUpgradeDomainCompleteEvent
4295		err := json.Unmarshal(body, &audce)
4296		return audce, err
4297	case string(KindApplicationUpgradeRollbackComplete):
4298		var aurce ApplicationUpgradeRollbackCompleteEvent
4299		err := json.Unmarshal(body, &aurce)
4300		return aurce, err
4301	case string(KindApplicationUpgradeRollbackStart):
4302		var aurse ApplicationUpgradeRollbackStartEvent
4303		err := json.Unmarshal(body, &aurse)
4304		return aurse, err
4305	case string(KindApplicationUpgradeStart):
4306		var ause ApplicationUpgradeStartEvent
4307		err := json.Unmarshal(body, &ause)
4308		return ause, err
4309	case string(KindDeployedApplicationHealthReportCreated):
4310		var dahrce DeployedApplicationHealthReportCreatedEvent
4311		err := json.Unmarshal(body, &dahrce)
4312		return dahrce, err
4313	case string(KindDeployedApplicationHealthReportExpired):
4314		var dahree DeployedApplicationHealthReportExpiredEvent
4315		err := json.Unmarshal(body, &dahree)
4316		return dahree, err
4317	case string(KindProcessDeactivated):
4318		var pde ProcessDeactivatedEvent
4319		err := json.Unmarshal(body, &pde)
4320		return pde, err
4321	case string(KindContainerDeactivated):
4322		var cde ContainerDeactivatedEvent
4323		err := json.Unmarshal(body, &cde)
4324		return cde, err
4325	case string(KindDeployedServiceHealthReportCreated):
4326		var dshrce DeployedServiceHealthReportCreatedEvent
4327		err := json.Unmarshal(body, &dshrce)
4328		return dshrce, err
4329	case string(KindDeployedServiceHealthReportExpired):
4330		var dshree DeployedServiceHealthReportExpiredEvent
4331		err := json.Unmarshal(body, &dshree)
4332		return dshree, err
4333	case string(KindChaosRestartCodePackageFaultScheduled):
4334		var crcpfse ChaosRestartCodePackageFaultScheduledEvent
4335		err := json.Unmarshal(body, &crcpfse)
4336		return crcpfse, err
4337	case string(KindChaosRestartCodePackageFaultCompleted):
4338		var crcpfce ChaosRestartCodePackageFaultCompletedEvent
4339		err := json.Unmarshal(body, &crcpfce)
4340		return crcpfce, err
4341	default:
4342		var ae ApplicationEvent
4343		err := json.Unmarshal(body, &ae)
4344		return ae, err
4345	}
4346}
4347func unmarshalBasicApplicationEventArray(body []byte) ([]BasicApplicationEvent, error) {
4348	var rawMessages []*json.RawMessage
4349	err := json.Unmarshal(body, &rawMessages)
4350	if err != nil {
4351		return nil, err
4352	}
4353
4354	aeArray := make([]BasicApplicationEvent, len(rawMessages))
4355
4356	for index, rawMessage := range rawMessages {
4357		ae, err := unmarshalBasicApplicationEvent(*rawMessage)
4358		if err != nil {
4359			return nil, err
4360		}
4361		aeArray[index] = ae
4362	}
4363	return aeArray, nil
4364}
4365
4366// MarshalJSON is the custom marshaler for ApplicationEvent.
4367func (ae ApplicationEvent) MarshalJSON() ([]byte, error) {
4368	ae.Kind = KindApplicationEvent
4369	objectMap := make(map[string]interface{})
4370	if ae.ApplicationID != nil {
4371		objectMap["ApplicationId"] = ae.ApplicationID
4372	}
4373	if ae.EventInstanceID != nil {
4374		objectMap["EventInstanceId"] = ae.EventInstanceID
4375	}
4376	if ae.TimeStamp != nil {
4377		objectMap["TimeStamp"] = ae.TimeStamp
4378	}
4379	if ae.HasCorrelatedEvents != nil {
4380		objectMap["HasCorrelatedEvents"] = ae.HasCorrelatedEvents
4381	}
4382	if ae.Kind != "" {
4383		objectMap["Kind"] = ae.Kind
4384	}
4385	return json.Marshal(objectMap)
4386}
4387
4388// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationEvent.
4389func (ae ApplicationEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
4390	return &ae, true
4391}
4392
4393// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationEvent.
4394func (ae ApplicationEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
4395	return &ae, true
4396}
4397
4398// AsClusterEvent is the BasicFabricEvent implementation for ApplicationEvent.
4399func (ae ApplicationEvent) AsClusterEvent() (*ClusterEvent, bool) {
4400	return nil, false
4401}
4402
4403// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationEvent.
4404func (ae ApplicationEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
4405	return nil, false
4406}
4407
4408// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationEvent.
4409func (ae ApplicationEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
4410	return nil, false
4411}
4412
4413// AsNodeEvent is the BasicFabricEvent implementation for ApplicationEvent.
4414func (ae ApplicationEvent) AsNodeEvent() (*NodeEvent, bool) {
4415	return nil, false
4416}
4417
4418// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationEvent.
4419func (ae ApplicationEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
4420	return nil, false
4421}
4422
4423// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
4424func (ae ApplicationEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
4425	return nil, false
4426}
4427
4428// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
4429func (ae ApplicationEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
4430	return nil, false
4431}
4432
4433// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationEvent.
4434func (ae ApplicationEvent) AsPartitionEvent() (*PartitionEvent, bool) {
4435	return nil, false
4436}
4437
4438// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationEvent.
4439func (ae ApplicationEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
4440	return nil, false
4441}
4442
4443// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationEvent.
4444func (ae ApplicationEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
4445	return nil, false
4446}
4447
4448// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationEvent.
4449func (ae ApplicationEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
4450	return nil, false
4451}
4452
4453// AsServiceEvent is the BasicFabricEvent implementation for ApplicationEvent.
4454func (ae ApplicationEvent) AsServiceEvent() (*ServiceEvent, bool) {
4455	return nil, false
4456}
4457
4458// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationEvent.
4459func (ae ApplicationEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4460	return nil, false
4461}
4462
4463// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4464func (ae ApplicationEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4465	return nil, false
4466}
4467
4468// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4469func (ae ApplicationEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4470	return nil, false
4471}
4472
4473// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4474func (ae ApplicationEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4475	return nil, false
4476}
4477
4478// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4479func (ae ApplicationEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4480	return nil, false
4481}
4482
4483// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4484func (ae ApplicationEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4485	return nil, false
4486}
4487
4488// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4489func (ae ApplicationEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4490	return nil, false
4491}
4492
4493// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4494func (ae ApplicationEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4495	return nil, false
4496}
4497
4498// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4499func (ae ApplicationEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4500	return nil, false
4501}
4502
4503// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4504func (ae ApplicationEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4505	return nil, false
4506}
4507
4508// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4509func (ae ApplicationEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4510	return nil, false
4511}
4512
4513// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4514func (ae ApplicationEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4515	return nil, false
4516}
4517
4518// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4519func (ae ApplicationEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
4520	return nil, false
4521}
4522
4523// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4524func (ae ApplicationEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
4525	return nil, false
4526}
4527
4528// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4529func (ae ApplicationEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
4530	return nil, false
4531}
4532
4533// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationEvent.
4534func (ae ApplicationEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
4535	return nil, false
4536}
4537
4538// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4539func (ae ApplicationEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
4540	return nil, false
4541}
4542
4543// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationEvent.
4544func (ae ApplicationEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4545	return nil, false
4546}
4547
4548// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationEvent.
4549func (ae ApplicationEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4550	return nil, false
4551}
4552
4553// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4554func (ae ApplicationEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4555	return nil, false
4556}
4557
4558// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4559func (ae ApplicationEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4560	return nil, false
4561}
4562
4563// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationEvent.
4564func (ae ApplicationEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4565	return nil, false
4566}
4567
4568// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4569func (ae ApplicationEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4570	return nil, false
4571}
4572
4573// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4574func (ae ApplicationEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4575	return nil, false
4576}
4577
4578// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationEvent.
4579func (ae ApplicationEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4580	return nil, false
4581}
4582
4583// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4584func (ae ApplicationEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4585	return nil, false
4586}
4587
4588// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationEvent.
4589func (ae ApplicationEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4590	return nil, false
4591}
4592
4593// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4594func (ae ApplicationEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4595	return nil, false
4596}
4597
4598// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationEvent.
4599func (ae ApplicationEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4600	return nil, false
4601}
4602
4603// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4604func (ae ApplicationEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4605	return nil, false
4606}
4607
4608// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4609func (ae ApplicationEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4610	return nil, false
4611}
4612
4613// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4614func (ae ApplicationEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4615	return nil, false
4616}
4617
4618// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
4619func (ae ApplicationEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4620	return nil, false
4621}
4622
4623// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4624func (ae ApplicationEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4625	return nil, false
4626}
4627
4628// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4629func (ae ApplicationEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4630	return nil, false
4631}
4632
4633// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4634func (ae ApplicationEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4635	return nil, false
4636}
4637
4638// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4639func (ae ApplicationEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4640	return nil, false
4641}
4642
4643// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4644func (ae ApplicationEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4645	return nil, false
4646}
4647
4648// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4649func (ae ApplicationEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4650	return nil, false
4651}
4652
4653// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4654func (ae ApplicationEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4655	return nil, false
4656}
4657
4658// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4659func (ae ApplicationEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4660	return nil, false
4661}
4662
4663// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4664func (ae ApplicationEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4665	return nil, false
4666}
4667
4668// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4669func (ae ApplicationEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4670	return nil, false
4671}
4672
4673// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4674func (ae ApplicationEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4675	return nil, false
4676}
4677
4678// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4679func (ae ApplicationEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4680	return nil, false
4681}
4682
4683// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4684func (ae ApplicationEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4685	return nil, false
4686}
4687
4688// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4689func (ae ApplicationEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4690	return nil, false
4691}
4692
4693// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4694func (ae ApplicationEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4695	return nil, false
4696}
4697
4698// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4699func (ae ApplicationEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4700	return nil, false
4701}
4702
4703// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4704func (ae ApplicationEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4705	return nil, false
4706}
4707
4708// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4709func (ae ApplicationEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4710	return nil, false
4711}
4712
4713// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4714func (ae ApplicationEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4715	return nil, false
4716}
4717
4718// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4719func (ae ApplicationEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4720	return nil, false
4721}
4722
4723// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4724func (ae ApplicationEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4725	return nil, false
4726}
4727
4728// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4729func (ae ApplicationEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4730	return nil, false
4731}
4732
4733// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4734func (ae ApplicationEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4735	return nil, false
4736}
4737
4738// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4739func (ae ApplicationEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4740	return nil, false
4741}
4742
4743// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4744func (ae ApplicationEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4745	return nil, false
4746}
4747
4748// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4749func (ae ApplicationEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4750	return nil, false
4751}
4752
4753// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4754func (ae ApplicationEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4755	return nil, false
4756}
4757
4758// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4759func (ae ApplicationEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4760	return nil, false
4761}
4762
4763// AsFabricEvent is the BasicFabricEvent implementation for ApplicationEvent.
4764func (ae ApplicationEvent) AsFabricEvent() (*FabricEvent, bool) {
4765	return nil, false
4766}
4767
4768// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationEvent.
4769func (ae ApplicationEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4770	return &ae, true
4771}
4772
4773// ApplicationHealth represents the health of the application. Contains the application aggregated health state and
4774// the service and deployed application health states.
4775type ApplicationHealth struct {
4776	autorest.Response `json:"-"`
4777	// Name - The name of the application, including the 'fabric:' URI scheme.
4778	Name *string `json:"Name,omitempty"`
4779	// ServiceHealthStates - Service health states as found in the health store.
4780	ServiceHealthStates *[]ServiceHealthState `json:"ServiceHealthStates,omitempty"`
4781	// DeployedApplicationHealthStates - Deployed application health states as found in the health store.
4782	DeployedApplicationHealthStates *[]DeployedApplicationHealthState `json:"DeployedApplicationHealthStates,omitempty"`
4783	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
4784	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
4785	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
4786	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
4787	// HealthEvents - The list of health events reported on the entity.
4788	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
4789	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
4790	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
4791	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
4792	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
4793}
4794
4795// ApplicationHealthEvaluation represents health evaluation for an application, containing information about the
4796// data and the algorithm used by the health store to evaluate health.
4797type ApplicationHealthEvaluation struct {
4798	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
4799	ApplicationName *string `json:"ApplicationName,omitempty"`
4800	// 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.
4801	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
4802	// 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'
4803	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
4804	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
4805	Description *string `json:"Description,omitempty"`
4806	// 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'
4807	Kind Kind `json:"Kind,omitempty"`
4808}
4809
4810// MarshalJSON is the custom marshaler for ApplicationHealthEvaluation.
4811func (ahe ApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
4812	ahe.Kind = KindApplication
4813	objectMap := make(map[string]interface{})
4814	if ahe.ApplicationName != nil {
4815		objectMap["ApplicationName"] = ahe.ApplicationName
4816	}
4817	if ahe.UnhealthyEvaluations != nil {
4818		objectMap["UnhealthyEvaluations"] = ahe.UnhealthyEvaluations
4819	}
4820	if ahe.AggregatedHealthState != "" {
4821		objectMap["AggregatedHealthState"] = ahe.AggregatedHealthState
4822	}
4823	if ahe.Description != nil {
4824		objectMap["Description"] = ahe.Description
4825	}
4826	if ahe.Kind != "" {
4827		objectMap["Kind"] = ahe.Kind
4828	}
4829	return json.Marshal(objectMap)
4830}
4831
4832// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4833func (ahe ApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
4834	return &ahe, true
4835}
4836
4837// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4838func (ahe ApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
4839	return nil, false
4840}
4841
4842// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4843func (ahe ApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
4844	return nil, false
4845}
4846
4847// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4848func (ahe ApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
4849	return nil, false
4850}
4851
4852// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4853func (ahe ApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
4854	return nil, false
4855}
4856
4857// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4858func (ahe ApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
4859	return nil, false
4860}
4861
4862// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4863func (ahe ApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
4864	return nil, false
4865}
4866
4867// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4868func (ahe ApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
4869	return nil, false
4870}
4871
4872// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4873func (ahe ApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
4874	return nil, false
4875}
4876
4877// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4878func (ahe ApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
4879	return nil, false
4880}
4881
4882// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4883func (ahe ApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
4884	return nil, false
4885}
4886
4887// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4888func (ahe ApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
4889	return nil, false
4890}
4891
4892// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4893func (ahe ApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
4894	return nil, false
4895}
4896
4897// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4898func (ahe ApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
4899	return nil, false
4900}
4901
4902// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4903func (ahe ApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
4904	return nil, false
4905}
4906
4907// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4908func (ahe ApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
4909	return nil, false
4910}
4911
4912// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4913func (ahe ApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
4914	return nil, false
4915}
4916
4917// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4918func (ahe ApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
4919	return nil, false
4920}
4921
4922// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4923func (ahe ApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
4924	return nil, false
4925}
4926
4927// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4928func (ahe ApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
4929	return nil, false
4930}
4931
4932// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4933func (ahe ApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
4934	return nil, false
4935}
4936
4937// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4938func (ahe ApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
4939	return &ahe, true
4940}
4941
4942// ApplicationHealthPolicies defines the application health policy map used to evaluate the health of an
4943// application or one of its children entities.
4944type ApplicationHealthPolicies struct {
4945	// ApplicationHealthPolicyMap - The wrapper that contains the map with application health policies used to evaluate specific applications in the cluster.
4946	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
4947}
4948
4949// ApplicationHealthPolicy defines a health policy used to evaluate the health of an application or one of its
4950// children entities.
4951type ApplicationHealthPolicy struct {
4952	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors.
4953	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
4954	// MaxPercentUnhealthyDeployedApplications - The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
4955	// The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
4956	// 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.
4957	// The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
4958	MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"`
4959	// DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type.
4960	DefaultServiceTypeHealthPolicy *ServiceTypeHealthPolicy `json:"DefaultServiceTypeHealthPolicy,omitempty"`
4961	// ServiceTypeHealthPolicyMap - The map with service type health policy per service type name. The map is empty by default.
4962	ServiceTypeHealthPolicyMap *[]ServiceTypeHealthPolicyMapItem `json:"ServiceTypeHealthPolicyMap,omitempty"`
4963}
4964
4965// ApplicationHealthPolicyMapItem defines an item in ApplicationHealthPolicyMap.
4966type ApplicationHealthPolicyMapItem struct {
4967	// Key - The key of the application health policy map item. This is the name of the application.
4968	Key *string `json:"Key,omitempty"`
4969	// Value - The value of the application health policy map item. This is the ApplicationHealthPolicy for this application.
4970	Value *ApplicationHealthPolicy `json:"Value,omitempty"`
4971}
4972
4973// ApplicationHealthReportCreatedEvent application Health Report Created event.
4974type ApplicationHealthReportCreatedEvent struct {
4975	// ApplicationInstanceID - Id of Application instance.
4976	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
4977	// SourceID - Id of report source.
4978	SourceID *string `json:"SourceId,omitempty"`
4979	// Property - Describes the property.
4980	Property *string `json:"Property,omitempty"`
4981	// HealthState - Describes the property health state.
4982	HealthState *string `json:"HealthState,omitempty"`
4983	// TimeToLiveMs - Time to live in milli-seconds.
4984	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
4985	// SequenceNumber - Sequence number of report.
4986	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
4987	// Description - Description of report.
4988	Description *string `json:"Description,omitempty"`
4989	// RemoveWhenExpired - Indicates the removal when it expires.
4990	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
4991	// SourceUtcTimestamp - Source time.
4992	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
4993	// 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.
4994	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
4995	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
4996	ApplicationID *string `json:"ApplicationId,omitempty"`
4997	// EventInstanceID - The identifier for the FabricEvent instance.
4998	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
4999	// TimeStamp - The time event was logged.
5000	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
5001	// HasCorrelatedEvents - Shows there is existing related events available.
5002	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
5003	// 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'
5004	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
5005}
5006
5007// MarshalJSON is the custom marshaler for ApplicationHealthReportCreatedEvent.
5008func (ahrce ApplicationHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
5009	ahrce.Kind = KindApplicationHealthReportCreated
5010	objectMap := make(map[string]interface{})
5011	if ahrce.ApplicationInstanceID != nil {
5012		objectMap["ApplicationInstanceId"] = ahrce.ApplicationInstanceID
5013	}
5014	if ahrce.SourceID != nil {
5015		objectMap["SourceId"] = ahrce.SourceID
5016	}
5017	if ahrce.Property != nil {
5018		objectMap["Property"] = ahrce.Property
5019	}
5020	if ahrce.HealthState != nil {
5021		objectMap["HealthState"] = ahrce.HealthState
5022	}
5023	if ahrce.TimeToLiveMs != nil {
5024		objectMap["TimeToLiveMs"] = ahrce.TimeToLiveMs
5025	}
5026	if ahrce.SequenceNumber != nil {
5027		objectMap["SequenceNumber"] = ahrce.SequenceNumber
5028	}
5029	if ahrce.Description != nil {
5030		objectMap["Description"] = ahrce.Description
5031	}
5032	if ahrce.RemoveWhenExpired != nil {
5033		objectMap["RemoveWhenExpired"] = ahrce.RemoveWhenExpired
5034	}
5035	if ahrce.SourceUtcTimestamp != nil {
5036		objectMap["SourceUtcTimestamp"] = ahrce.SourceUtcTimestamp
5037	}
5038	if ahrce.ApplicationID != nil {
5039		objectMap["ApplicationId"] = ahrce.ApplicationID
5040	}
5041	if ahrce.EventInstanceID != nil {
5042		objectMap["EventInstanceId"] = ahrce.EventInstanceID
5043	}
5044	if ahrce.TimeStamp != nil {
5045		objectMap["TimeStamp"] = ahrce.TimeStamp
5046	}
5047	if ahrce.HasCorrelatedEvents != nil {
5048		objectMap["HasCorrelatedEvents"] = ahrce.HasCorrelatedEvents
5049	}
5050	if ahrce.Kind != "" {
5051		objectMap["Kind"] = ahrce.Kind
5052	}
5053	return json.Marshal(objectMap)
5054}
5055
5056// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5057func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
5058	return nil, false
5059}
5060
5061// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5062func (ahrce ApplicationHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
5063	return &ahrce, true
5064}
5065
5066// AsClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5067func (ahrce ApplicationHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
5068	return nil, false
5069}
5070
5071// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5072func (ahrce ApplicationHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
5073	return nil, false
5074}
5075
5076// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5077func (ahrce ApplicationHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
5078	return nil, false
5079}
5080
5081// AsNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5082func (ahrce ApplicationHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
5083	return nil, false
5084}
5085
5086// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5087func (ahrce ApplicationHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
5088	return nil, false
5089}
5090
5091// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5092func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
5093	return nil, false
5094}
5095
5096// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5097func (ahrce ApplicationHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
5098	return nil, false
5099}
5100
5101// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5102func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
5103	return nil, false
5104}
5105
5106// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5107func (ahrce ApplicationHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
5108	return nil, false
5109}
5110
5111// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5112func (ahrce ApplicationHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
5113	return nil, false
5114}
5115
5116// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5117func (ahrce ApplicationHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
5118	return nil, false
5119}
5120
5121// AsServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5122func (ahrce ApplicationHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
5123	return nil, false
5124}
5125
5126// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5127func (ahrce ApplicationHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
5128	return nil, false
5129}
5130
5131// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5132func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
5133	return nil, false
5134}
5135
5136// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5137func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
5138	return nil, false
5139}
5140
5141// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5142func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
5143	return &ahrce, true
5144}
5145
5146// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5147func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
5148	return nil, false
5149}
5150
5151// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5152func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
5153	return nil, false
5154}
5155
5156// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5157func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
5158	return nil, false
5159}
5160
5161// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5162func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
5163	return nil, false
5164}
5165
5166// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5167func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
5168	return nil, false
5169}
5170
5171// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5172func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
5173	return nil, false
5174}
5175
5176// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5177func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
5178	return nil, false
5179}
5180
5181// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5182func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
5183	return nil, false
5184}
5185
5186// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5187func (ahrce ApplicationHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
5188	return nil, false
5189}
5190
5191// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5192func (ahrce ApplicationHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
5193	return nil, false
5194}
5195
5196// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5197func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
5198	return nil, false
5199}
5200
5201// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5202func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
5203	return nil, false
5204}
5205
5206// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5207func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
5208	return nil, false
5209}
5210
5211// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5212func (ahrce ApplicationHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
5213	return nil, false
5214}
5215
5216// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5217func (ahrce ApplicationHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
5218	return nil, false
5219}
5220
5221// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5222func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
5223	return nil, false
5224}
5225
5226// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5227func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
5228	return nil, false
5229}
5230
5231// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5232func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
5233	return nil, false
5234}
5235
5236// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5237func (ahrce ApplicationHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
5238	return nil, false
5239}
5240
5241// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5242func (ahrce ApplicationHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
5243	return nil, false
5244}
5245
5246// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5247func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
5248	return nil, false
5249}
5250
5251// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5252func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
5253	return nil, false
5254}
5255
5256// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5257func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
5258	return nil, false
5259}
5260
5261// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5262func (ahrce ApplicationHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
5263	return nil, false
5264}
5265
5266// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5267func (ahrce ApplicationHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
5268	return nil, false
5269}
5270
5271// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5272func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
5273	return nil, false
5274}
5275
5276// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5277func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
5278	return nil, false
5279}
5280
5281// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5282func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5283	return nil, false
5284}
5285
5286// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5287func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5288	return nil, false
5289}
5290
5291// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5292func (ahrce ApplicationHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5293	return nil, false
5294}
5295
5296// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5297func (ahrce ApplicationHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5298	return nil, false
5299}
5300
5301// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5302func (ahrce ApplicationHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5303	return nil, false
5304}
5305
5306// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5307func (ahrce ApplicationHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5308	return nil, false
5309}
5310
5311// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5312func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5313	return nil, false
5314}
5315
5316// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5317func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5318	return nil, false
5319}
5320
5321// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5322func (ahrce ApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5323	return nil, false
5324}
5325
5326// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5327func (ahrce ApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5328	return nil, false
5329}
5330
5331// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5332func (ahrce ApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5333	return nil, false
5334}
5335
5336// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5337func (ahrce ApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5338	return nil, false
5339}
5340
5341// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5342func (ahrce ApplicationHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5343	return nil, false
5344}
5345
5346// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5347func (ahrce ApplicationHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5348	return nil, false
5349}
5350
5351// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5352func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5353	return nil, false
5354}
5355
5356// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5357func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5358	return nil, false
5359}
5360
5361// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5362func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5363	return nil, false
5364}
5365
5366// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5367func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5368	return nil, false
5369}
5370
5371// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5372func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5373	return nil, false
5374}
5375
5376// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5377func (ahrce ApplicationHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5378	return nil, false
5379}
5380
5381// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5382func (ahrce ApplicationHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5383	return nil, false
5384}
5385
5386// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5387func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5388	return nil, false
5389}
5390
5391// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5392func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5393	return nil, false
5394}
5395
5396// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5397func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5398	return nil, false
5399}
5400
5401// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5402func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5403	return nil, false
5404}
5405
5406// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5407func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5408	return nil, false
5409}
5410
5411// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5412func (ahrce ApplicationHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5413	return nil, false
5414}
5415
5416// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5417func (ahrce ApplicationHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5418	return nil, false
5419}
5420
5421// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5422func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5423	return nil, false
5424}
5425
5426// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5427func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5428	return nil, false
5429}
5430
5431// AsFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5432func (ahrce ApplicationHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
5433	return nil, false
5434}
5435
5436// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5437func (ahrce ApplicationHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
5438	return &ahrce, true
5439}
5440
5441// ApplicationHealthReportExpiredEvent application Health Report Expired event.
5442type ApplicationHealthReportExpiredEvent struct {
5443	// ApplicationInstanceID - Id of Application instance.
5444	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
5445	// SourceID - Id of report source.
5446	SourceID *string `json:"SourceId,omitempty"`
5447	// Property - Describes the property.
5448	Property *string `json:"Property,omitempty"`
5449	// HealthState - Describes the property health state.
5450	HealthState *string `json:"HealthState,omitempty"`
5451	// TimeToLiveMs - Time to live in milli-seconds.
5452	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
5453	// SequenceNumber - Sequence number of report.
5454	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
5455	// Description - Description of report.
5456	Description *string `json:"Description,omitempty"`
5457	// RemoveWhenExpired - Indicates the removal when it expires.
5458	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
5459	// SourceUtcTimestamp - Source time.
5460	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
5461	// 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.
5462	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
5463	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
5464	ApplicationID *string `json:"ApplicationId,omitempty"`
5465	// EventInstanceID - The identifier for the FabricEvent instance.
5466	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
5467	// TimeStamp - The time event was logged.
5468	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
5469	// HasCorrelatedEvents - Shows there is existing related events available.
5470	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
5471	// 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'
5472	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
5473}
5474
5475// MarshalJSON is the custom marshaler for ApplicationHealthReportExpiredEvent.
5476func (ahree ApplicationHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
5477	ahree.Kind = KindApplicationHealthReportExpired
5478	objectMap := make(map[string]interface{})
5479	if ahree.ApplicationInstanceID != nil {
5480		objectMap["ApplicationInstanceId"] = ahree.ApplicationInstanceID
5481	}
5482	if ahree.SourceID != nil {
5483		objectMap["SourceId"] = ahree.SourceID
5484	}
5485	if ahree.Property != nil {
5486		objectMap["Property"] = ahree.Property
5487	}
5488	if ahree.HealthState != nil {
5489		objectMap["HealthState"] = ahree.HealthState
5490	}
5491	if ahree.TimeToLiveMs != nil {
5492		objectMap["TimeToLiveMs"] = ahree.TimeToLiveMs
5493	}
5494	if ahree.SequenceNumber != nil {
5495		objectMap["SequenceNumber"] = ahree.SequenceNumber
5496	}
5497	if ahree.Description != nil {
5498		objectMap["Description"] = ahree.Description
5499	}
5500	if ahree.RemoveWhenExpired != nil {
5501		objectMap["RemoveWhenExpired"] = ahree.RemoveWhenExpired
5502	}
5503	if ahree.SourceUtcTimestamp != nil {
5504		objectMap["SourceUtcTimestamp"] = ahree.SourceUtcTimestamp
5505	}
5506	if ahree.ApplicationID != nil {
5507		objectMap["ApplicationId"] = ahree.ApplicationID
5508	}
5509	if ahree.EventInstanceID != nil {
5510		objectMap["EventInstanceId"] = ahree.EventInstanceID
5511	}
5512	if ahree.TimeStamp != nil {
5513		objectMap["TimeStamp"] = ahree.TimeStamp
5514	}
5515	if ahree.HasCorrelatedEvents != nil {
5516		objectMap["HasCorrelatedEvents"] = ahree.HasCorrelatedEvents
5517	}
5518	if ahree.Kind != "" {
5519		objectMap["Kind"] = ahree.Kind
5520	}
5521	return json.Marshal(objectMap)
5522}
5523
5524// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5525func (ahree ApplicationHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
5526	return nil, false
5527}
5528
5529// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5530func (ahree ApplicationHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
5531	return &ahree, true
5532}
5533
5534// AsClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5535func (ahree ApplicationHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
5536	return nil, false
5537}
5538
5539// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5540func (ahree ApplicationHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
5541	return nil, false
5542}
5543
5544// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5545func (ahree ApplicationHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
5546	return nil, false
5547}
5548
5549// AsNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5550func (ahree ApplicationHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
5551	return nil, false
5552}
5553
5554// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5555func (ahree ApplicationHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
5556	return nil, false
5557}
5558
5559// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5560func (ahree ApplicationHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
5561	return nil, false
5562}
5563
5564// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5565func (ahree ApplicationHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
5566	return nil, false
5567}
5568
5569// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5570func (ahree ApplicationHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
5571	return nil, false
5572}
5573
5574// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5575func (ahree ApplicationHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
5576	return nil, false
5577}
5578
5579// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5580func (ahree ApplicationHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
5581	return nil, false
5582}
5583
5584// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5585func (ahree ApplicationHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
5586	return nil, false
5587}
5588
5589// AsServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5590func (ahree ApplicationHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
5591	return nil, false
5592}
5593
5594// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5595func (ahree ApplicationHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
5596	return nil, false
5597}
5598
5599// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5600func (ahree ApplicationHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
5601	return nil, false
5602}
5603
5604// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5605func (ahree ApplicationHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
5606	return nil, false
5607}
5608
5609// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5610func (ahree ApplicationHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
5611	return nil, false
5612}
5613
5614// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5615func (ahree ApplicationHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
5616	return &ahree, true
5617}
5618
5619// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5620func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
5621	return nil, false
5622}
5623
5624// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5625func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
5626	return nil, false
5627}
5628
5629// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5630func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
5631	return nil, false
5632}
5633
5634// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5635func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
5636	return nil, false
5637}
5638
5639// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5640func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
5641	return nil, false
5642}
5643
5644// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5645func (ahree ApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
5646	return nil, false
5647}
5648
5649// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5650func (ahree ApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
5651	return nil, false
5652}
5653
5654// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5655func (ahree ApplicationHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
5656	return nil, false
5657}
5658
5659// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5660func (ahree ApplicationHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
5661	return nil, false
5662}
5663
5664// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5665func (ahree ApplicationHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
5666	return nil, false
5667}
5668
5669// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5670func (ahree ApplicationHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
5671	return nil, false
5672}
5673
5674// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5675func (ahree ApplicationHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
5676	return nil, false
5677}
5678
5679// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5680func (ahree ApplicationHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
5681	return nil, false
5682}
5683
5684// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5685func (ahree ApplicationHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
5686	return nil, false
5687}
5688
5689// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5690func (ahree ApplicationHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
5691	return nil, false
5692}
5693
5694// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5695func (ahree ApplicationHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
5696	return nil, false
5697}
5698
5699// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5700func (ahree ApplicationHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
5701	return nil, false
5702}
5703
5704// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5705func (ahree ApplicationHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
5706	return nil, false
5707}
5708
5709// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5710func (ahree ApplicationHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
5711	return nil, false
5712}
5713
5714// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5715func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
5716	return nil, false
5717}
5718
5719// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5720func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
5721	return nil, false
5722}
5723
5724// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5725func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
5726	return nil, false
5727}
5728
5729// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5730func (ahree ApplicationHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
5731	return nil, false
5732}
5733
5734// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5735func (ahree ApplicationHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
5736	return nil, false
5737}
5738
5739// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5740func (ahree ApplicationHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
5741	return nil, false
5742}
5743
5744// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5745func (ahree ApplicationHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
5746	return nil, false
5747}
5748
5749// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5750func (ahree ApplicationHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5751	return nil, false
5752}
5753
5754// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5755func (ahree ApplicationHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5756	return nil, false
5757}
5758
5759// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5760func (ahree ApplicationHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5761	return nil, false
5762}
5763
5764// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5765func (ahree ApplicationHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5766	return nil, false
5767}
5768
5769// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5770func (ahree ApplicationHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5771	return nil, false
5772}
5773
5774// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5775func (ahree ApplicationHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5776	return nil, false
5777}
5778
5779// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5780func (ahree ApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5781	return nil, false
5782}
5783
5784// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5785func (ahree ApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5786	return nil, false
5787}
5788
5789// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5790func (ahree ApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5791	return nil, false
5792}
5793
5794// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5795func (ahree ApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5796	return nil, false
5797}
5798
5799// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5800func (ahree ApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5801	return nil, false
5802}
5803
5804// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5805func (ahree ApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5806	return nil, false
5807}
5808
5809// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5810func (ahree ApplicationHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5811	return nil, false
5812}
5813
5814// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5815func (ahree ApplicationHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5816	return nil, false
5817}
5818
5819// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5820func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5821	return nil, false
5822}
5823
5824// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5825func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5826	return nil, false
5827}
5828
5829// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5830func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5831	return nil, false
5832}
5833
5834// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5835func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5836	return nil, false
5837}
5838
5839// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5840func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5841	return nil, false
5842}
5843
5844// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5845func (ahree ApplicationHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5846	return nil, false
5847}
5848
5849// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5850func (ahree ApplicationHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5851	return nil, false
5852}
5853
5854// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5855func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5856	return nil, false
5857}
5858
5859// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5860func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5861	return nil, false
5862}
5863
5864// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5865func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5866	return nil, false
5867}
5868
5869// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5870func (ahree ApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5871	return nil, false
5872}
5873
5874// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5875func (ahree ApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5876	return nil, false
5877}
5878
5879// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5880func (ahree ApplicationHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5881	return nil, false
5882}
5883
5884// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5885func (ahree ApplicationHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5886	return nil, false
5887}
5888
5889// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5890func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5891	return nil, false
5892}
5893
5894// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5895func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5896	return nil, false
5897}
5898
5899// AsFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5900func (ahree ApplicationHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
5901	return nil, false
5902}
5903
5904// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5905func (ahree ApplicationHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
5906	return &ahree, true
5907}
5908
5909// ApplicationHealthState represents the health state of an application, which contains the application identifier
5910// and the aggregated health state.
5911type ApplicationHealthState struct {
5912	// Name - The name of the application, including the 'fabric:' URI scheme.
5913	Name *string `json:"Name,omitempty"`
5914	// 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'
5915	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
5916}
5917
5918// ApplicationHealthStateChunk represents the health state chunk of a application.
5919// The application health state chunk contains the application name, its aggregated health state and any children
5920// services and deployed applications that respect the filters in cluster health chunk query description.
5921type ApplicationHealthStateChunk struct {
5922	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
5923	ApplicationName *string `json:"ApplicationName,omitempty"`
5924	// ApplicationTypeName - The application type name as defined in the application manifest.
5925	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
5926	// ServiceHealthStateChunks - The list of service health state chunks in the cluster that respect the filters in the cluster health chunk query description.
5927	ServiceHealthStateChunks *ServiceHealthStateChunkList `json:"ServiceHealthStateChunks,omitempty"`
5928	// DeployedApplicationHealthStateChunks - The list of deployed application health state chunks in the cluster that respect the filters in the cluster health chunk query description.
5929	DeployedApplicationHealthStateChunks *DeployedApplicationHealthStateChunkList `json:"DeployedApplicationHealthStateChunks,omitempty"`
5930	// 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'
5931	HealthState HealthState `json:"HealthState,omitempty"`
5932}
5933
5934// ApplicationHealthStateChunkList the list of application health state chunks in the cluster that respect the
5935// input filters in the chunk query. Returned by get cluster health state chunks query.
5936type ApplicationHealthStateChunkList struct {
5937	// Items - The list of application health state chunks that respect the input filters in the chunk query.
5938	Items *[]ApplicationHealthStateChunk `json:"Items,omitempty"`
5939	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
5940	TotalCount *int64 `json:"TotalCount,omitempty"`
5941}
5942
5943// ApplicationHealthStateFilter defines matching criteria to determine whether a application should be included in
5944// the cluster health chunk.
5945// One filter can match zero, one or multiple applications, depending on its properties.
5946type ApplicationHealthStateFilter struct {
5947	// 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.
5948	// If the application doesn't exist, no application is returned in the cluster health chunk based on this filter.
5949	// If the application exists, it is included in the cluster health chunk if it respects the other filter properties.
5950	// If not specified, all applications are matched against the other filter members, like health state filter.
5951	ApplicationNameFilter *string `json:"ApplicationNameFilter,omitempty"`
5952	// ApplicationTypeNameFilter - The name of the application type that matches the filter.
5953	// If specified, the filter is applied only to applications of the selected application type, if any exists.
5954	// If no applications of the specified application type exists, no application is returned in the cluster health chunk based on this filter.
5955	// Each application of the specified application type is included in the cluster health chunk if it respects the other filter properties.
5956	// If not specified, all applications are matched against the other filter members, like health state filter.
5957	ApplicationTypeNameFilter *string `json:"ApplicationTypeNameFilter,omitempty"`
5958	// HealthStateFilter - The filter for the health state of the applications. It allows selecting applications if they match the desired health states.
5959	// 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.
5960	// 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.
5961	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
5962	// For example, if the provided value is 6, it matches applications with HealthState value of OK (2) and Warning (4).
5963	// - Default - Default value. Matches any HealthState. The value is zero.
5964	// - 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.
5965	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
5966	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
5967	// - Error - Filter that matches input with HealthState value Error. The value is 8.
5968	// - All - Filter that matches input with any HealthState value. The value is 65535.
5969	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
5970	// 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.
5971	// 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.
5972	// The application filter may specify multiple service filters.
5973	// 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.
5974	ServiceFilters *[]ServiceHealthStateFilter `json:"ServiceFilters,omitempty"`
5975	// 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.
5976	// 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.
5977	// The application filter may specify multiple deployed application filters.
5978	// 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.
5979	DeployedApplicationFilters *[]DeployedApplicationHealthStateFilter `json:"DeployedApplicationFilters,omitempty"`
5980}
5981
5982// ApplicationInfo information about a Service Fabric application.
5983type ApplicationInfo struct {
5984	autorest.Response `json:"-"`
5985	// 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.
5986	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
5987	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
5988	ID *string `json:"Id,omitempty"`
5989	// Name - The name of the application, including the 'fabric:' URI scheme.
5990	Name *string `json:"Name,omitempty"`
5991	// TypeName - The application type name as defined in the application manifest.
5992	TypeName *string `json:"TypeName,omitempty"`
5993	// TypeVersion - The version of the application type as defined in the application manifest.
5994	TypeVersion *string `json:"TypeVersion,omitempty"`
5995	// Status - The status of the application. Possible values include: 'ApplicationStatusInvalid', 'ApplicationStatusReady', 'ApplicationStatusUpgrading', 'ApplicationStatusCreating', 'ApplicationStatusDeleting', 'ApplicationStatusFailed'
5996	Status ApplicationStatus `json:"Status,omitempty"`
5997	// Parameters - List of application parameters with overridden values from their default values specified in the application manifest.
5998	Parameters *[]ApplicationParameter `json:"Parameters,omitempty"`
5999	// 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'
6000	HealthState HealthState `json:"HealthState,omitempty"`
6001	// ApplicationDefinitionKind - The mechanism used to define a Service Fabric application. Possible values include: 'Invalid', 'ServiceFabricApplicationDescription', 'Compose'
6002	ApplicationDefinitionKind ApplicationDefinitionKind `json:"ApplicationDefinitionKind,omitempty"`
6003}
6004
6005// ApplicationLoadInfo load Information about a Service Fabric application.
6006type ApplicationLoadInfo struct {
6007	autorest.Response `json:"-"`
6008	// 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.
6009	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6010	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6011	ID *string `json:"Id,omitempty"`
6012	// MinimumNodes - The minimum number of nodes for this application.
6013	// It is the number of nodes where Service Fabric will reserve Capacity in the cluster which equals to ReservedLoad * MinimumNodes for this Application instance.
6014	// For applications that do not have application capacity defined this value will be zero.
6015	MinimumNodes *int64 `json:"MinimumNodes,omitempty"`
6016	// MaximumNodes - The maximum number of nodes where this application can be instantiated.
6017	// It is the number of nodes this application is allowed to span.
6018	// For applications that do not have application capacity defined this value will be zero.
6019	MaximumNodes *int64 `json:"MaximumNodes,omitempty"`
6020	// NodeCount - The number of nodes on which this application is instantiated.
6021	// For applications that do not have application capacity defined this value will be zero.
6022	NodeCount *int64 `json:"NodeCount,omitempty"`
6023	// ApplicationLoadMetricInformation - List of application capacity metric description.
6024	ApplicationLoadMetricInformation *[]ApplicationMetricDescription `json:"ApplicationLoadMetricInformation,omitempty"`
6025}
6026
6027// ApplicationMetricDescription describes capacity information for a custom resource balancing metric. This can be
6028// used to limit the total consumption of this metric by the services of this application.
6029type ApplicationMetricDescription struct {
6030	// Name - The name of the metric.
6031	Name *string `json:"Name,omitempty"`
6032	// MaximumCapacity - The maximum node capacity for Service Fabric application.
6033	// 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.
6034	// If set to zero, capacity for this metric is unlimited on each node.
6035	// 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.
6036	// When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
6037	MaximumCapacity *int64 `json:"MaximumCapacity,omitempty"`
6038	// ReservationCapacity - The node reservation capacity for Service Fabric application.
6039	// This is the amount of load which is reserved on nodes which have instances of this application.
6040	// If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.
6041	// If set to zero, no capacity is reserved for this metric.
6042	// When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.
6043	ReservationCapacity *int64 `json:"ReservationCapacity,omitempty"`
6044	// TotalApplicationCapacity - The total metric capacity for Service Fabric application.
6045	// 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.
6046	// 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.
6047	TotalApplicationCapacity *int64 `json:"TotalApplicationCapacity,omitempty"`
6048}
6049
6050// ApplicationNameInfo information about the application name.
6051type ApplicationNameInfo struct {
6052	autorest.Response `json:"-"`
6053	// 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.
6054	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6055	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6056	ID *string `json:"Id,omitempty"`
6057	// Name - The name of the application, including the 'fabric:' URI scheme.
6058	Name *string `json:"Name,omitempty"`
6059}
6060
6061// ApplicationParameter describes an application parameter override to be applied when creating or upgrading an
6062// application.
6063type ApplicationParameter struct {
6064	// Key - The name of the parameter.
6065	Key *string `json:"Key,omitempty"`
6066	// Value - The value of the parameter.
6067	Value *string `json:"Value,omitempty"`
6068}
6069
6070// ApplicationsHealthEvaluation represents health evaluation for applications, containing health evaluations for
6071// each unhealthy application that impacted current aggregated health state.
6072type ApplicationsHealthEvaluation struct {
6073	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy.
6074	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
6075	// TotalCount - Total number of applications from the health store.
6076	TotalCount *int64 `json:"TotalCount,omitempty"`
6077	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health.
6078	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
6079	// 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'
6080	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
6081	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
6082	Description *string `json:"Description,omitempty"`
6083	// 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'
6084	Kind Kind `json:"Kind,omitempty"`
6085}
6086
6087// MarshalJSON is the custom marshaler for ApplicationsHealthEvaluation.
6088func (ahe ApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
6089	ahe.Kind = KindApplications
6090	objectMap := make(map[string]interface{})
6091	if ahe.MaxPercentUnhealthyApplications != nil {
6092		objectMap["MaxPercentUnhealthyApplications"] = ahe.MaxPercentUnhealthyApplications
6093	}
6094	if ahe.TotalCount != nil {
6095		objectMap["TotalCount"] = ahe.TotalCount
6096	}
6097	if ahe.UnhealthyEvaluations != nil {
6098		objectMap["UnhealthyEvaluations"] = ahe.UnhealthyEvaluations
6099	}
6100	if ahe.AggregatedHealthState != "" {
6101		objectMap["AggregatedHealthState"] = ahe.AggregatedHealthState
6102	}
6103	if ahe.Description != nil {
6104		objectMap["Description"] = ahe.Description
6105	}
6106	if ahe.Kind != "" {
6107		objectMap["Kind"] = ahe.Kind
6108	}
6109	return json.Marshal(objectMap)
6110}
6111
6112// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6113func (ahe ApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
6114	return nil, false
6115}
6116
6117// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6118func (ahe ApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
6119	return &ahe, true
6120}
6121
6122// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6123func (ahe ApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
6124	return nil, false
6125}
6126
6127// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6128func (ahe ApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
6129	return nil, false
6130}
6131
6132// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6133func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
6134	return nil, false
6135}
6136
6137// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6138func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
6139	return nil, false
6140}
6141
6142// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6143func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
6144	return nil, false
6145}
6146
6147// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6148func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
6149	return nil, false
6150}
6151
6152// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6153func (ahe ApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
6154	return nil, false
6155}
6156
6157// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6158func (ahe ApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
6159	return nil, false
6160}
6161
6162// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6163func (ahe ApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
6164	return nil, false
6165}
6166
6167// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6168func (ahe ApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
6169	return nil, false
6170}
6171
6172// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6173func (ahe ApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
6174	return nil, false
6175}
6176
6177// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6178func (ahe ApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
6179	return nil, false
6180}
6181
6182// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6183func (ahe ApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
6184	return nil, false
6185}
6186
6187// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6188func (ahe ApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
6189	return nil, false
6190}
6191
6192// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6193func (ahe ApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
6194	return nil, false
6195}
6196
6197// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6198func (ahe ApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
6199	return nil, false
6200}
6201
6202// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6203func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
6204	return nil, false
6205}
6206
6207// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6208func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
6209	return nil, false
6210}
6211
6212// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6213func (ahe ApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
6214	return nil, false
6215}
6216
6217// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6218func (ahe ApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
6219	return &ahe, true
6220}
6221
6222// ApplicationTypeApplicationsHealthEvaluation represents health evaluation for applications of a particular
6223// application type. The application type applications evaluation can be returned when cluster health evaluation
6224// returns unhealthy aggregated health state, either Error or Warning. It contains health evaluations for each
6225// unhealthy application of the included application type that impacted current aggregated health state.
6226type ApplicationTypeApplicationsHealthEvaluation struct {
6227	// ApplicationTypeName - The application type name as defined in the application manifest.
6228	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
6229	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap.
6230	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
6231	// TotalCount - Total number of applications of the application type found in the health store.
6232	TotalCount *int64 `json:"TotalCount,omitempty"`
6233	// 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.
6234	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
6235	// 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'
6236	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
6237	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
6238	Description *string `json:"Description,omitempty"`
6239	// 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'
6240	Kind Kind `json:"Kind,omitempty"`
6241}
6242
6243// MarshalJSON is the custom marshaler for ApplicationTypeApplicationsHealthEvaluation.
6244func (atahe ApplicationTypeApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
6245	atahe.Kind = KindApplicationTypeApplications
6246	objectMap := make(map[string]interface{})
6247	if atahe.ApplicationTypeName != nil {
6248		objectMap["ApplicationTypeName"] = atahe.ApplicationTypeName
6249	}
6250	if atahe.MaxPercentUnhealthyApplications != nil {
6251		objectMap["MaxPercentUnhealthyApplications"] = atahe.MaxPercentUnhealthyApplications
6252	}
6253	if atahe.TotalCount != nil {
6254		objectMap["TotalCount"] = atahe.TotalCount
6255	}
6256	if atahe.UnhealthyEvaluations != nil {
6257		objectMap["UnhealthyEvaluations"] = atahe.UnhealthyEvaluations
6258	}
6259	if atahe.AggregatedHealthState != "" {
6260		objectMap["AggregatedHealthState"] = atahe.AggregatedHealthState
6261	}
6262	if atahe.Description != nil {
6263		objectMap["Description"] = atahe.Description
6264	}
6265	if atahe.Kind != "" {
6266		objectMap["Kind"] = atahe.Kind
6267	}
6268	return json.Marshal(objectMap)
6269}
6270
6271// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6272func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
6273	return nil, false
6274}
6275
6276// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6277func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
6278	return nil, false
6279}
6280
6281// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6282func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
6283	return &atahe, true
6284}
6285
6286// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6287func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
6288	return nil, false
6289}
6290
6291// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6292func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
6293	return nil, false
6294}
6295
6296// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6297func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
6298	return nil, false
6299}
6300
6301// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6302func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
6303	return nil, false
6304}
6305
6306// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6307func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
6308	return nil, false
6309}
6310
6311// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6312func (atahe ApplicationTypeApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
6313	return nil, false
6314}
6315
6316// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6317func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
6318	return nil, false
6319}
6320
6321// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6322func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
6323	return nil, false
6324}
6325
6326// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6327func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
6328	return nil, false
6329}
6330
6331// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6332func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
6333	return nil, false
6334}
6335
6336// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6337func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
6338	return nil, false
6339}
6340
6341// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6342func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
6343	return nil, false
6344}
6345
6346// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6347func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
6348	return nil, false
6349}
6350
6351// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6352func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
6353	return nil, false
6354}
6355
6356// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6357func (atahe ApplicationTypeApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
6358	return nil, false
6359}
6360
6361// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6362func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
6363	return nil, false
6364}
6365
6366// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6367func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
6368	return nil, false
6369}
6370
6371// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6372func (atahe ApplicationTypeApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
6373	return nil, false
6374}
6375
6376// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6377func (atahe ApplicationTypeApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
6378	return &atahe, true
6379}
6380
6381// ApplicationTypeHealthPolicyMapItem defines an item in ApplicationTypeHealthPolicyMap.
6382type ApplicationTypeHealthPolicyMapItem struct {
6383	// Key - The key of the application type health policy map item. This is the name of the application type.
6384	Key *string `json:"Key,omitempty"`
6385	// Value - The value of the application type health policy map item.
6386	// The max percent unhealthy applications allowed for the application type. Must be between zero and 100.
6387	Value *int32 `json:"Value,omitempty"`
6388}
6389
6390// ApplicationTypeImageStorePath path description for the application package in the image store specified during
6391// the prior copy operation.
6392type ApplicationTypeImageStorePath struct {
6393	// ApplicationTypeBuildPath - The relative image store path to the application package.
6394	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
6395}
6396
6397// ApplicationTypeInfo information about an application type.
6398type ApplicationTypeInfo struct {
6399	// Name - The application type name as defined in the application manifest.
6400	Name *string `json:"Name,omitempty"`
6401	// Version - The version of the application type as defined in the application manifest.
6402	Version *string `json:"Version,omitempty"`
6403	// DefaultParameterList - List of application type parameters that can be overridden when creating or updating the application.
6404	DefaultParameterList *[]ApplicationParameter `json:"DefaultParameterList,omitempty"`
6405	// Status - The status of the application type. Possible values include: 'ApplicationTypeStatusInvalid', 'ApplicationTypeStatusProvisioning', 'ApplicationTypeStatusAvailable', 'ApplicationTypeStatusUnprovisioning', 'ApplicationTypeStatusFailed'
6406	Status ApplicationTypeStatus `json:"Status,omitempty"`
6407	// StatusDetails - Additional detailed information about the status of the application type.
6408	StatusDetails *string `json:"StatusDetails,omitempty"`
6409	// ApplicationTypeDefinitionKind - The mechanism used to define a Service Fabric application type. Possible values include: 'ApplicationTypeDefinitionKindInvalid', 'ApplicationTypeDefinitionKindServiceFabricApplicationPackage', 'ApplicationTypeDefinitionKindCompose'
6410	ApplicationTypeDefinitionKind ApplicationTypeDefinitionKind `json:"ApplicationTypeDefinitionKind,omitempty"`
6411}
6412
6413// ApplicationTypeManifest contains the manifest describing an application type registered in a Service Fabric
6414// cluster.
6415type ApplicationTypeManifest struct {
6416	autorest.Response `json:"-"`
6417	// Manifest - The XML manifest as a string.
6418	Manifest *string `json:"Manifest,omitempty"`
6419}
6420
6421// ApplicationUpgradeCompleteEvent application Upgrade Complete event.
6422type ApplicationUpgradeCompleteEvent struct {
6423	// ApplicationTypeName - Application type name.
6424	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
6425	// ApplicationTypeVersion - Application type version.
6426	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
6427	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
6428	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
6429	// 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.
6430	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6431	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6432	ApplicationID *string `json:"ApplicationId,omitempty"`
6433	// EventInstanceID - The identifier for the FabricEvent instance.
6434	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
6435	// TimeStamp - The time event was logged.
6436	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
6437	// HasCorrelatedEvents - Shows there is existing related events available.
6438	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
6439	// 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'
6440	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
6441}
6442
6443// MarshalJSON is the custom marshaler for ApplicationUpgradeCompleteEvent.
6444func (auce ApplicationUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
6445	auce.Kind = KindApplicationUpgradeComplete
6446	objectMap := make(map[string]interface{})
6447	if auce.ApplicationTypeName != nil {
6448		objectMap["ApplicationTypeName"] = auce.ApplicationTypeName
6449	}
6450	if auce.ApplicationTypeVersion != nil {
6451		objectMap["ApplicationTypeVersion"] = auce.ApplicationTypeVersion
6452	}
6453	if auce.OverallUpgradeElapsedTimeInMs != nil {
6454		objectMap["OverallUpgradeElapsedTimeInMs"] = auce.OverallUpgradeElapsedTimeInMs
6455	}
6456	if auce.ApplicationID != nil {
6457		objectMap["ApplicationId"] = auce.ApplicationID
6458	}
6459	if auce.EventInstanceID != nil {
6460		objectMap["EventInstanceId"] = auce.EventInstanceID
6461	}
6462	if auce.TimeStamp != nil {
6463		objectMap["TimeStamp"] = auce.TimeStamp
6464	}
6465	if auce.HasCorrelatedEvents != nil {
6466		objectMap["HasCorrelatedEvents"] = auce.HasCorrelatedEvents
6467	}
6468	if auce.Kind != "" {
6469		objectMap["Kind"] = auce.Kind
6470	}
6471	return json.Marshal(objectMap)
6472}
6473
6474// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6475func (auce ApplicationUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
6476	return nil, false
6477}
6478
6479// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6480func (auce ApplicationUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
6481	return &auce, true
6482}
6483
6484// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6485func (auce ApplicationUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
6486	return nil, false
6487}
6488
6489// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6490func (auce ApplicationUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
6491	return nil, false
6492}
6493
6494// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6495func (auce ApplicationUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
6496	return nil, false
6497}
6498
6499// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6500func (auce ApplicationUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
6501	return nil, false
6502}
6503
6504// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6505func (auce ApplicationUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
6506	return nil, false
6507}
6508
6509// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6510func (auce ApplicationUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
6511	return nil, false
6512}
6513
6514// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6515func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
6516	return nil, false
6517}
6518
6519// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6520func (auce ApplicationUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
6521	return nil, false
6522}
6523
6524// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6525func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
6526	return nil, false
6527}
6528
6529// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6530func (auce ApplicationUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
6531	return nil, false
6532}
6533
6534// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6535func (auce ApplicationUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
6536	return nil, false
6537}
6538
6539// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6540func (auce ApplicationUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
6541	return nil, false
6542}
6543
6544// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6545func (auce ApplicationUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
6546	return nil, false
6547}
6548
6549// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6550func (auce ApplicationUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
6551	return nil, false
6552}
6553
6554// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6555func (auce ApplicationUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
6556	return nil, false
6557}
6558
6559// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6560func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
6561	return nil, false
6562}
6563
6564// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6565func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
6566	return nil, false
6567}
6568
6569// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6570func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
6571	return &auce, true
6572}
6573
6574// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6575func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
6576	return nil, false
6577}
6578
6579// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6580func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
6581	return nil, false
6582}
6583
6584// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6585func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
6586	return nil, false
6587}
6588
6589// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6590func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
6591	return nil, false
6592}
6593
6594// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6595func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
6596	return nil, false
6597}
6598
6599// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6600func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
6601	return nil, false
6602}
6603
6604// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6605func (auce ApplicationUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
6606	return nil, false
6607}
6608
6609// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6610func (auce ApplicationUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
6611	return nil, false
6612}
6613
6614// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6615func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
6616	return nil, false
6617}
6618
6619// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6620func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
6621	return nil, false
6622}
6623
6624// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6625func (auce ApplicationUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
6626	return nil, false
6627}
6628
6629// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6630func (auce ApplicationUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
6631	return nil, false
6632}
6633
6634// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6635func (auce ApplicationUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
6636	return nil, false
6637}
6638
6639// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6640func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
6641	return nil, false
6642}
6643
6644// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6645func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
6646	return nil, false
6647}
6648
6649// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6650func (auce ApplicationUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
6651	return nil, false
6652}
6653
6654// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6655func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
6656	return nil, false
6657}
6658
6659// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6660func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
6661	return nil, false
6662}
6663
6664// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6665func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
6666	return nil, false
6667}
6668
6669// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6670func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
6671	return nil, false
6672}
6673
6674// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6675func (auce ApplicationUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
6676	return nil, false
6677}
6678
6679// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6680func (auce ApplicationUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
6681	return nil, false
6682}
6683
6684// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6685func (auce ApplicationUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
6686	return nil, false
6687}
6688
6689// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6690func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
6691	return nil, false
6692}
6693
6694// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6695func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
6696	return nil, false
6697}
6698
6699// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6700func (auce ApplicationUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
6701	return nil, false
6702}
6703
6704// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6705func (auce ApplicationUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
6706	return nil, false
6707}
6708
6709// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6710func (auce ApplicationUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
6711	return nil, false
6712}
6713
6714// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6715func (auce ApplicationUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
6716	return nil, false
6717}
6718
6719// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6720func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
6721	return nil, false
6722}
6723
6724// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6725func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
6726	return nil, false
6727}
6728
6729// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6730func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
6731	return nil, false
6732}
6733
6734// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6735func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
6736	return nil, false
6737}
6738
6739// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6740func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
6741	return nil, false
6742}
6743
6744// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6745func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
6746	return nil, false
6747}
6748
6749// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6750func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
6751	return nil, false
6752}
6753
6754// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6755func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
6756	return nil, false
6757}
6758
6759// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6760func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
6761	return nil, false
6762}
6763
6764// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6765func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
6766	return nil, false
6767}
6768
6769// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6770func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
6771	return nil, false
6772}
6773
6774// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6775func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
6776	return nil, false
6777}
6778
6779// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6780func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
6781	return nil, false
6782}
6783
6784// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6785func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
6786	return nil, false
6787}
6788
6789// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6790func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
6791	return nil, false
6792}
6793
6794// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6795func (auce ApplicationUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
6796	return nil, false
6797}
6798
6799// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6800func (auce ApplicationUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
6801	return nil, false
6802}
6803
6804// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6805func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
6806	return nil, false
6807}
6808
6809// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6810func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
6811	return nil, false
6812}
6813
6814// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6815func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
6816	return nil, false
6817}
6818
6819// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6820func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
6821	return nil, false
6822}
6823
6824// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6825func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
6826	return nil, false
6827}
6828
6829// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6830func (auce ApplicationUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
6831	return nil, false
6832}
6833
6834// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6835func (auce ApplicationUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
6836	return nil, false
6837}
6838
6839// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6840func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
6841	return nil, false
6842}
6843
6844// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6845func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
6846	return nil, false
6847}
6848
6849// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6850func (auce ApplicationUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
6851	return nil, false
6852}
6853
6854// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6855func (auce ApplicationUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
6856	return &auce, true
6857}
6858
6859// ApplicationUpgradeDescription describes the parameters for an application upgrade. Please note that upgrade
6860// description replaces the existing application description. This means that if the parameters are not specified,
6861// the existing parameters on the applications will be overwritten with the empty parameters list. This would
6862// results in application using the default value of the parameters from the application manifest. If you do not
6863// want to change any existing parameter values, please get the application parameters first using the
6864// GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.
6865type ApplicationUpgradeDescription struct {
6866	// Name - The name of the target application, including the 'fabric:' URI scheme.
6867	Name *string `json:"Name,omitempty"`
6868	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
6869	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
6870	// Parameters - List of application parameters with overridden values from their default values specified in the application manifest.
6871	Parameters *[]ApplicationParameter `json:"Parameters,omitempty"`
6872	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
6873	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
6874	// 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'
6875	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
6876	// 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).
6877	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
6878	// 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).
6879	ForceRestart *bool `json:"ForceRestart,omitempty"`
6880	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
6881	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
6882	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
6883	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
6884}
6885
6886// ApplicationUpgradeDomainCompleteEvent application Upgrade Domain Complete event.
6887type ApplicationUpgradeDomainCompleteEvent struct {
6888	// ApplicationTypeName - Application type name.
6889	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
6890	// CurrentApplicationTypeVersion - Current Application type version.
6891	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
6892	// ApplicationTypeVersion - Target Application type version.
6893	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
6894	// UpgradeState - State of upgrade.
6895	UpgradeState *string `json:"UpgradeState,omitempty"`
6896	// UpgradeDomains - Upgrade domains.
6897	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
6898	// UpgradeDomainElapsedTimeInMs - Upgrade time of domain in milli-seconds.
6899	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
6900	// 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.
6901	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6902	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6903	ApplicationID *string `json:"ApplicationId,omitempty"`
6904	// EventInstanceID - The identifier for the FabricEvent instance.
6905	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
6906	// TimeStamp - The time event was logged.
6907	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
6908	// HasCorrelatedEvents - Shows there is existing related events available.
6909	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
6910	// 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'
6911	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
6912}
6913
6914// MarshalJSON is the custom marshaler for ApplicationUpgradeDomainCompleteEvent.
6915func (audce ApplicationUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
6916	audce.Kind = KindApplicationUpgradeDomainComplete
6917	objectMap := make(map[string]interface{})
6918	if audce.ApplicationTypeName != nil {
6919		objectMap["ApplicationTypeName"] = audce.ApplicationTypeName
6920	}
6921	if audce.CurrentApplicationTypeVersion != nil {
6922		objectMap["CurrentApplicationTypeVersion"] = audce.CurrentApplicationTypeVersion
6923	}
6924	if audce.ApplicationTypeVersion != nil {
6925		objectMap["ApplicationTypeVersion"] = audce.ApplicationTypeVersion
6926	}
6927	if audce.UpgradeState != nil {
6928		objectMap["UpgradeState"] = audce.UpgradeState
6929	}
6930	if audce.UpgradeDomains != nil {
6931		objectMap["UpgradeDomains"] = audce.UpgradeDomains
6932	}
6933	if audce.UpgradeDomainElapsedTimeInMs != nil {
6934		objectMap["UpgradeDomainElapsedTimeInMs"] = audce.UpgradeDomainElapsedTimeInMs
6935	}
6936	if audce.ApplicationID != nil {
6937		objectMap["ApplicationId"] = audce.ApplicationID
6938	}
6939	if audce.EventInstanceID != nil {
6940		objectMap["EventInstanceId"] = audce.EventInstanceID
6941	}
6942	if audce.TimeStamp != nil {
6943		objectMap["TimeStamp"] = audce.TimeStamp
6944	}
6945	if audce.HasCorrelatedEvents != nil {
6946		objectMap["HasCorrelatedEvents"] = audce.HasCorrelatedEvents
6947	}
6948	if audce.Kind != "" {
6949		objectMap["Kind"] = audce.Kind
6950	}
6951	return json.Marshal(objectMap)
6952}
6953
6954// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6955func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
6956	return nil, false
6957}
6958
6959// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6960func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
6961	return &audce, true
6962}
6963
6964// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6965func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
6966	return nil, false
6967}
6968
6969// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6970func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
6971	return nil, false
6972}
6973
6974// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6975func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
6976	return nil, false
6977}
6978
6979// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6980func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
6981	return nil, false
6982}
6983
6984// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6985func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
6986	return nil, false
6987}
6988
6989// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6990func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
6991	return nil, false
6992}
6993
6994// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
6995func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
6996	return nil, false
6997}
6998
6999// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7000func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7001	return nil, false
7002}
7003
7004// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7005func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7006	return nil, false
7007}
7008
7009// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7010func (audce ApplicationUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7011	return nil, false
7012}
7013
7014// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7015func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7016	return nil, false
7017}
7018
7019// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7020func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
7021	return nil, false
7022}
7023
7024// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7025func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7026	return nil, false
7027}
7028
7029// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7030func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7031	return nil, false
7032}
7033
7034// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7035func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7036	return nil, false
7037}
7038
7039// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7040func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7041	return nil, false
7042}
7043
7044// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7045func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7046	return nil, false
7047}
7048
7049// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7050func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7051	return nil, false
7052}
7053
7054// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7055func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7056	return &audce, true
7057}
7058
7059// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7060func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7061	return nil, false
7062}
7063
7064// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7065func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7066	return nil, false
7067}
7068
7069// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7070func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7071	return nil, false
7072}
7073
7074// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7075func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7076	return nil, false
7077}
7078
7079// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7080func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7081	return nil, false
7082}
7083
7084// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7085func (audce ApplicationUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7086	return nil, false
7087}
7088
7089// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7090func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7091	return nil, false
7092}
7093
7094// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7095func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7096	return nil, false
7097}
7098
7099// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7100func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7101	return nil, false
7102}
7103
7104// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7105func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7106	return nil, false
7107}
7108
7109// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7110func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7111	return nil, false
7112}
7113
7114// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7115func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7116	return nil, false
7117}
7118
7119// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7120func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7121	return nil, false
7122}
7123
7124// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7125func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7126	return nil, false
7127}
7128
7129// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7130func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7131	return nil, false
7132}
7133
7134// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7135func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7136	return nil, false
7137}
7138
7139// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7140func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7141	return nil, false
7142}
7143
7144// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7145func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7146	return nil, false
7147}
7148
7149// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7150func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7151	return nil, false
7152}
7153
7154// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7155func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7156	return nil, false
7157}
7158
7159// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7160func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7161	return nil, false
7162}
7163
7164// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7165func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7166	return nil, false
7167}
7168
7169// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7170func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7171	return nil, false
7172}
7173
7174// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7175func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7176	return nil, false
7177}
7178
7179// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7180func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7181	return nil, false
7182}
7183
7184// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7185func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7186	return nil, false
7187}
7188
7189// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7190func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7191	return nil, false
7192}
7193
7194// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7195func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7196	return nil, false
7197}
7198
7199// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7200func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7201	return nil, false
7202}
7203
7204// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7205func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7206	return nil, false
7207}
7208
7209// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7210func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7211	return nil, false
7212}
7213
7214// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7215func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7216	return nil, false
7217}
7218
7219// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7220func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7221	return nil, false
7222}
7223
7224// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7225func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7226	return nil, false
7227}
7228
7229// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7230func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7231	return nil, false
7232}
7233
7234// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7235func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7236	return nil, false
7237}
7238
7239// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7240func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7241	return nil, false
7242}
7243
7244// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7245func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7246	return nil, false
7247}
7248
7249// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7250func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7251	return nil, false
7252}
7253
7254// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7255func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7256	return nil, false
7257}
7258
7259// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7260func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7261	return nil, false
7262}
7263
7264// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7265func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7266	return nil, false
7267}
7268
7269// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7270func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7271	return nil, false
7272}
7273
7274// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7275func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7276	return nil, false
7277}
7278
7279// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7280func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7281	return nil, false
7282}
7283
7284// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7285func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7286	return nil, false
7287}
7288
7289// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7290func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7291	return nil, false
7292}
7293
7294// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7295func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7296	return nil, false
7297}
7298
7299// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7300func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7301	return nil, false
7302}
7303
7304// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7305func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7306	return nil, false
7307}
7308
7309// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7310func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7311	return nil, false
7312}
7313
7314// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7315func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7316	return nil, false
7317}
7318
7319// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7320func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7321	return nil, false
7322}
7323
7324// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7325func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7326	return nil, false
7327}
7328
7329// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7330func (audce ApplicationUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
7331	return nil, false
7332}
7333
7334// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7335func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7336	return &audce, true
7337}
7338
7339// ApplicationUpgradeProgressInfo describes the parameters for an application upgrade.
7340type ApplicationUpgradeProgressInfo struct {
7341	autorest.Response `json:"-"`
7342	// Name - The name of the target application, including the 'fabric:' URI scheme.
7343	Name *string `json:"Name,omitempty"`
7344	// TypeName - The application type name as defined in the application manifest.
7345	TypeName *string `json:"TypeName,omitempty"`
7346	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
7347	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
7348	// UpgradeDomains - List of upgrade domains and their statuses.
7349	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
7350	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
7351	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
7352	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
7353	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
7354	// 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'
7355	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
7356	// 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.
7357	UpgradeDescription *ApplicationUpgradeDescription `json:"UpgradeDescription,omitempty"`
7358	// UpgradeDurationInMilliseconds - The estimated total amount of time spent processing the overall upgrade.
7359	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
7360	// UpgradeDomainDurationInMilliseconds - The estimated total amount of time spent processing the current upgrade domain.
7361	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
7362	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
7363	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
7364	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
7365	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
7366	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
7367	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
7368	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
7369	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
7370	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
7371	FailureReason FailureReason `json:"FailureReason,omitempty"`
7372	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
7373	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
7374	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
7375	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
7376}
7377
7378// ApplicationUpgradeRollbackCompleteEvent application Upgrade Rollback Complete event.
7379type ApplicationUpgradeRollbackCompleteEvent struct {
7380	// ApplicationTypeName - Application type name.
7381	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
7382	// ApplicationTypeVersion - Application type version.
7383	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
7384	// FailureReason - Describes reason of failure.
7385	FailureReason *string `json:"FailureReason,omitempty"`
7386	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
7387	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
7388	// 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.
7389	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
7390	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
7391	ApplicationID *string `json:"ApplicationId,omitempty"`
7392	// EventInstanceID - The identifier for the FabricEvent instance.
7393	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7394	// TimeStamp - The time event was logged.
7395	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7396	// HasCorrelatedEvents - Shows there is existing related events available.
7397	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7398	// 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'
7399	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7400}
7401
7402// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackCompleteEvent.
7403func (aurce ApplicationUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
7404	aurce.Kind = KindApplicationUpgradeRollbackComplete
7405	objectMap := make(map[string]interface{})
7406	if aurce.ApplicationTypeName != nil {
7407		objectMap["ApplicationTypeName"] = aurce.ApplicationTypeName
7408	}
7409	if aurce.ApplicationTypeVersion != nil {
7410		objectMap["ApplicationTypeVersion"] = aurce.ApplicationTypeVersion
7411	}
7412	if aurce.FailureReason != nil {
7413		objectMap["FailureReason"] = aurce.FailureReason
7414	}
7415	if aurce.OverallUpgradeElapsedTimeInMs != nil {
7416		objectMap["OverallUpgradeElapsedTimeInMs"] = aurce.OverallUpgradeElapsedTimeInMs
7417	}
7418	if aurce.ApplicationID != nil {
7419		objectMap["ApplicationId"] = aurce.ApplicationID
7420	}
7421	if aurce.EventInstanceID != nil {
7422		objectMap["EventInstanceId"] = aurce.EventInstanceID
7423	}
7424	if aurce.TimeStamp != nil {
7425		objectMap["TimeStamp"] = aurce.TimeStamp
7426	}
7427	if aurce.HasCorrelatedEvents != nil {
7428		objectMap["HasCorrelatedEvents"] = aurce.HasCorrelatedEvents
7429	}
7430	if aurce.Kind != "" {
7431		objectMap["Kind"] = aurce.Kind
7432	}
7433	return json.Marshal(objectMap)
7434}
7435
7436// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7437func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7438	return nil, false
7439}
7440
7441// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7442func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7443	return &aurce, true
7444}
7445
7446// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7447func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
7448	return nil, false
7449}
7450
7451// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7452func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7453	return nil, false
7454}
7455
7456// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7457func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7458	return nil, false
7459}
7460
7461// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7462func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
7463	return nil, false
7464}
7465
7466// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7467func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7468	return nil, false
7469}
7470
7471// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7472func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7473	return nil, false
7474}
7475
7476// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7477func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7478	return nil, false
7479}
7480
7481// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7482func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7483	return nil, false
7484}
7485
7486// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7487func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7488	return nil, false
7489}
7490
7491// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7492func (aurce ApplicationUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7493	return nil, false
7494}
7495
7496// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7497func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7498	return nil, false
7499}
7500
7501// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7502func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
7503	return nil, false
7504}
7505
7506// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7507func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7508	return nil, false
7509}
7510
7511// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7512func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7513	return nil, false
7514}
7515
7516// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7517func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7518	return nil, false
7519}
7520
7521// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7522func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7523	return nil, false
7524}
7525
7526// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7527func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7528	return nil, false
7529}
7530
7531// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7532func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7533	return nil, false
7534}
7535
7536// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7537func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7538	return nil, false
7539}
7540
7541// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7542func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7543	return &aurce, true
7544}
7545
7546// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7547func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7548	return nil, false
7549}
7550
7551// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7552func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7553	return nil, false
7554}
7555
7556// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7557func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7558	return nil, false
7559}
7560
7561// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7562func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7563	return nil, false
7564}
7565
7566// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7567func (aurce ApplicationUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7568	return nil, false
7569}
7570
7571// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7572func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7573	return nil, false
7574}
7575
7576// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7577func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7578	return nil, false
7579}
7580
7581// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7582func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7583	return nil, false
7584}
7585
7586// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7587func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7588	return nil, false
7589}
7590
7591// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7592func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7593	return nil, false
7594}
7595
7596// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7597func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7598	return nil, false
7599}
7600
7601// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7602func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7603	return nil, false
7604}
7605
7606// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7607func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7608	return nil, false
7609}
7610
7611// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7612func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7613	return nil, false
7614}
7615
7616// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7617func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7618	return nil, false
7619}
7620
7621// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7622func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7623	return nil, false
7624}
7625
7626// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7627func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7628	return nil, false
7629}
7630
7631// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7632func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7633	return nil, false
7634}
7635
7636// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7637func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7638	return nil, false
7639}
7640
7641// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7642func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7643	return nil, false
7644}
7645
7646// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7647func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7648	return nil, false
7649}
7650
7651// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7652func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7653	return nil, false
7654}
7655
7656// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7657func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7658	return nil, false
7659}
7660
7661// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7662func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7663	return nil, false
7664}
7665
7666// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7667func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7668	return nil, false
7669}
7670
7671// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7672func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7673	return nil, false
7674}
7675
7676// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7677func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7678	return nil, false
7679}
7680
7681// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7682func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7683	return nil, false
7684}
7685
7686// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7687func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7688	return nil, false
7689}
7690
7691// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7692func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7693	return nil, false
7694}
7695
7696// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7697func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7698	return nil, false
7699}
7700
7701// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7702func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7703	return nil, false
7704}
7705
7706// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7707func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7708	return nil, false
7709}
7710
7711// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7712func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7713	return nil, false
7714}
7715
7716// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7717func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7718	return nil, false
7719}
7720
7721// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7722func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7723	return nil, false
7724}
7725
7726// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7727func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7728	return nil, false
7729}
7730
7731// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7732func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7733	return nil, false
7734}
7735
7736// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7737func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7738	return nil, false
7739}
7740
7741// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7742func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7743	return nil, false
7744}
7745
7746// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7747func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7748	return nil, false
7749}
7750
7751// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7752func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7753	return nil, false
7754}
7755
7756// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7757func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7758	return nil, false
7759}
7760
7761// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7762func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7763	return nil, false
7764}
7765
7766// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7767func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7768	return nil, false
7769}
7770
7771// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7772func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7773	return nil, false
7774}
7775
7776// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7777func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7778	return nil, false
7779}
7780
7781// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7782func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7783	return nil, false
7784}
7785
7786// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7787func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7788	return nil, false
7789}
7790
7791// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7792func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7793	return nil, false
7794}
7795
7796// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7797func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7798	return nil, false
7799}
7800
7801// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7802func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7803	return nil, false
7804}
7805
7806// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7807func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7808	return nil, false
7809}
7810
7811// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7812func (aurce ApplicationUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
7813	return nil, false
7814}
7815
7816// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7817func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7818	return &aurce, true
7819}
7820
7821// ApplicationUpgradeRollbackStartEvent application Upgrade Rollback Start event.
7822type ApplicationUpgradeRollbackStartEvent struct {
7823	// ApplicationTypeName - Application type name.
7824	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
7825	// CurrentApplicationTypeVersion - Current Application type version.
7826	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
7827	// ApplicationTypeVersion - Target Application type version.
7828	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
7829	// FailureReason - Describes reason of failure.
7830	FailureReason *string `json:"FailureReason,omitempty"`
7831	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
7832	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
7833	// 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.
7834	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
7835	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
7836	ApplicationID *string `json:"ApplicationId,omitempty"`
7837	// EventInstanceID - The identifier for the FabricEvent instance.
7838	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7839	// TimeStamp - The time event was logged.
7840	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7841	// HasCorrelatedEvents - Shows there is existing related events available.
7842	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7843	// 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'
7844	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7845}
7846
7847// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackStartEvent.
7848func (aurse ApplicationUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
7849	aurse.Kind = KindApplicationUpgradeRollbackStart
7850	objectMap := make(map[string]interface{})
7851	if aurse.ApplicationTypeName != nil {
7852		objectMap["ApplicationTypeName"] = aurse.ApplicationTypeName
7853	}
7854	if aurse.CurrentApplicationTypeVersion != nil {
7855		objectMap["CurrentApplicationTypeVersion"] = aurse.CurrentApplicationTypeVersion
7856	}
7857	if aurse.ApplicationTypeVersion != nil {
7858		objectMap["ApplicationTypeVersion"] = aurse.ApplicationTypeVersion
7859	}
7860	if aurse.FailureReason != nil {
7861		objectMap["FailureReason"] = aurse.FailureReason
7862	}
7863	if aurse.OverallUpgradeElapsedTimeInMs != nil {
7864		objectMap["OverallUpgradeElapsedTimeInMs"] = aurse.OverallUpgradeElapsedTimeInMs
7865	}
7866	if aurse.ApplicationID != nil {
7867		objectMap["ApplicationId"] = aurse.ApplicationID
7868	}
7869	if aurse.EventInstanceID != nil {
7870		objectMap["EventInstanceId"] = aurse.EventInstanceID
7871	}
7872	if aurse.TimeStamp != nil {
7873		objectMap["TimeStamp"] = aurse.TimeStamp
7874	}
7875	if aurse.HasCorrelatedEvents != nil {
7876		objectMap["HasCorrelatedEvents"] = aurse.HasCorrelatedEvents
7877	}
7878	if aurse.Kind != "" {
7879		objectMap["Kind"] = aurse.Kind
7880	}
7881	return json.Marshal(objectMap)
7882}
7883
7884// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7885func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7886	return nil, false
7887}
7888
7889// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7890func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7891	return &aurse, true
7892}
7893
7894// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7895func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
7896	return nil, false
7897}
7898
7899// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7900func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7901	return nil, false
7902}
7903
7904// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7905func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7906	return nil, false
7907}
7908
7909// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7910func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
7911	return nil, false
7912}
7913
7914// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7915func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7916	return nil, false
7917}
7918
7919// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7920func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7921	return nil, false
7922}
7923
7924// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7925func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7926	return nil, false
7927}
7928
7929// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7930func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7931	return nil, false
7932}
7933
7934// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7935func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7936	return nil, false
7937}
7938
7939// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7940func (aurse ApplicationUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7941	return nil, false
7942}
7943
7944// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7945func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7946	return nil, false
7947}
7948
7949// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7950func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
7951	return nil, false
7952}
7953
7954// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7955func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7956	return nil, false
7957}
7958
7959// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7960func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7961	return nil, false
7962}
7963
7964// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7965func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7966	return nil, false
7967}
7968
7969// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7970func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7971	return nil, false
7972}
7973
7974// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7975func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7976	return nil, false
7977}
7978
7979// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7980func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7981	return nil, false
7982}
7983
7984// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7985func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7986	return nil, false
7987}
7988
7989// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7990func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7991	return nil, false
7992}
7993
7994// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
7995func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7996	return &aurse, true
7997}
7998
7999// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8000func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8001	return nil, false
8002}
8003
8004// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8005func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8006	return nil, false
8007}
8008
8009// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8010func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8011	return nil, false
8012}
8013
8014// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8015func (aurse ApplicationUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8016	return nil, false
8017}
8018
8019// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8020func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8021	return nil, false
8022}
8023
8024// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8025func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8026	return nil, false
8027}
8028
8029// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8030func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8031	return nil, false
8032}
8033
8034// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8035func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8036	return nil, false
8037}
8038
8039// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8040func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8041	return nil, false
8042}
8043
8044// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8045func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8046	return nil, false
8047}
8048
8049// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8050func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8051	return nil, false
8052}
8053
8054// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8055func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8056	return nil, false
8057}
8058
8059// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8060func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8061	return nil, false
8062}
8063
8064// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8065func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8066	return nil, false
8067}
8068
8069// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8070func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8071	return nil, false
8072}
8073
8074// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8075func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8076	return nil, false
8077}
8078
8079// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8080func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8081	return nil, false
8082}
8083
8084// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8085func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8086	return nil, false
8087}
8088
8089// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8090func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8091	return nil, false
8092}
8093
8094// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8095func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8096	return nil, false
8097}
8098
8099// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8100func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8101	return nil, false
8102}
8103
8104// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8105func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8106	return nil, false
8107}
8108
8109// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8110func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8111	return nil, false
8112}
8113
8114// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8115func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8116	return nil, false
8117}
8118
8119// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8120func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8121	return nil, false
8122}
8123
8124// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8125func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8126	return nil, false
8127}
8128
8129// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8130func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8131	return nil, false
8132}
8133
8134// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8135func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8136	return nil, false
8137}
8138
8139// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8140func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8141	return nil, false
8142}
8143
8144// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8145func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8146	return nil, false
8147}
8148
8149// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8150func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8151	return nil, false
8152}
8153
8154// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8155func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8156	return nil, false
8157}
8158
8159// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8160func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8161	return nil, false
8162}
8163
8164// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8165func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8166	return nil, false
8167}
8168
8169// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8170func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8171	return nil, false
8172}
8173
8174// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8175func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8176	return nil, false
8177}
8178
8179// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8180func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8181	return nil, false
8182}
8183
8184// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8185func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8186	return nil, false
8187}
8188
8189// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8190func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8191	return nil, false
8192}
8193
8194// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8195func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8196	return nil, false
8197}
8198
8199// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8200func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8201	return nil, false
8202}
8203
8204// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8205func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8206	return nil, false
8207}
8208
8209// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8210func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8211	return nil, false
8212}
8213
8214// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8215func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8216	return nil, false
8217}
8218
8219// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8220func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8221	return nil, false
8222}
8223
8224// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8225func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8226	return nil, false
8227}
8228
8229// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8230func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8231	return nil, false
8232}
8233
8234// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8235func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8236	return nil, false
8237}
8238
8239// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8240func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8241	return nil, false
8242}
8243
8244// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8245func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8246	return nil, false
8247}
8248
8249// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8250func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8251	return nil, false
8252}
8253
8254// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8255func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8256	return nil, false
8257}
8258
8259// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8260func (aurse ApplicationUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
8261	return nil, false
8262}
8263
8264// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8265func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8266	return &aurse, true
8267}
8268
8269// ApplicationUpgradeStartEvent application Upgrade Start event.
8270type ApplicationUpgradeStartEvent struct {
8271	// ApplicationTypeName - Application type name.
8272	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
8273	// CurrentApplicationTypeVersion - Current Application type version.
8274	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
8275	// ApplicationTypeVersion - Target Application type version.
8276	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
8277	// UpgradeType - Type of upgrade.
8278	UpgradeType *string `json:"UpgradeType,omitempty"`
8279	// RollingUpgradeMode - Mode of upgrade.
8280	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
8281	// FailureAction - Action if failed.
8282	FailureAction *string `json:"FailureAction,omitempty"`
8283	// 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.
8284	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
8285	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
8286	ApplicationID *string `json:"ApplicationId,omitempty"`
8287	// EventInstanceID - The identifier for the FabricEvent instance.
8288	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8289	// TimeStamp - The time event was logged.
8290	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8291	// HasCorrelatedEvents - Shows there is existing related events available.
8292	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
8293	// 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'
8294	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
8295}
8296
8297// MarshalJSON is the custom marshaler for ApplicationUpgradeStartEvent.
8298func (ause ApplicationUpgradeStartEvent) MarshalJSON() ([]byte, error) {
8299	ause.Kind = KindApplicationUpgradeStart
8300	objectMap := make(map[string]interface{})
8301	if ause.ApplicationTypeName != nil {
8302		objectMap["ApplicationTypeName"] = ause.ApplicationTypeName
8303	}
8304	if ause.CurrentApplicationTypeVersion != nil {
8305		objectMap["CurrentApplicationTypeVersion"] = ause.CurrentApplicationTypeVersion
8306	}
8307	if ause.ApplicationTypeVersion != nil {
8308		objectMap["ApplicationTypeVersion"] = ause.ApplicationTypeVersion
8309	}
8310	if ause.UpgradeType != nil {
8311		objectMap["UpgradeType"] = ause.UpgradeType
8312	}
8313	if ause.RollingUpgradeMode != nil {
8314		objectMap["RollingUpgradeMode"] = ause.RollingUpgradeMode
8315	}
8316	if ause.FailureAction != nil {
8317		objectMap["FailureAction"] = ause.FailureAction
8318	}
8319	if ause.ApplicationID != nil {
8320		objectMap["ApplicationId"] = ause.ApplicationID
8321	}
8322	if ause.EventInstanceID != nil {
8323		objectMap["EventInstanceId"] = ause.EventInstanceID
8324	}
8325	if ause.TimeStamp != nil {
8326		objectMap["TimeStamp"] = ause.TimeStamp
8327	}
8328	if ause.HasCorrelatedEvents != nil {
8329		objectMap["HasCorrelatedEvents"] = ause.HasCorrelatedEvents
8330	}
8331	if ause.Kind != "" {
8332		objectMap["Kind"] = ause.Kind
8333	}
8334	return json.Marshal(objectMap)
8335}
8336
8337// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8338func (ause ApplicationUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
8339	return nil, false
8340}
8341
8342// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8343func (ause ApplicationUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
8344	return &ause, true
8345}
8346
8347// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8348func (ause ApplicationUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
8349	return nil, false
8350}
8351
8352// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8353func (ause ApplicationUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
8354	return nil, false
8355}
8356
8357// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8358func (ause ApplicationUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
8359	return nil, false
8360}
8361
8362// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8363func (ause ApplicationUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
8364	return nil, false
8365}
8366
8367// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8368func (ause ApplicationUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
8369	return nil, false
8370}
8371
8372// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8373func (ause ApplicationUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
8374	return nil, false
8375}
8376
8377// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8378func (ause ApplicationUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
8379	return nil, false
8380}
8381
8382// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8383func (ause ApplicationUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
8384	return nil, false
8385}
8386
8387// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8388func (ause ApplicationUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
8389	return nil, false
8390}
8391
8392// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8393func (ause ApplicationUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
8394	return nil, false
8395}
8396
8397// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8398func (ause ApplicationUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
8399	return nil, false
8400}
8401
8402// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8403func (ause ApplicationUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
8404	return nil, false
8405}
8406
8407// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8408func (ause ApplicationUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
8409	return nil, false
8410}
8411
8412// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8413func (ause ApplicationUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
8414	return nil, false
8415}
8416
8417// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8418func (ause ApplicationUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
8419	return nil, false
8420}
8421
8422// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8423func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
8424	return nil, false
8425}
8426
8427// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8428func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
8429	return nil, false
8430}
8431
8432// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8433func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
8434	return nil, false
8435}
8436
8437// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8438func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
8439	return nil, false
8440}
8441
8442// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8443func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
8444	return nil, false
8445}
8446
8447// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8448func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
8449	return nil, false
8450}
8451
8452// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8453func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8454	return &ause, true
8455}
8456
8457// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8458func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8459	return nil, false
8460}
8461
8462// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8463func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8464	return nil, false
8465}
8466
8467// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8468func (ause ApplicationUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8469	return nil, false
8470}
8471
8472// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8473func (ause ApplicationUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8474	return nil, false
8475}
8476
8477// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8478func (ause ApplicationUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8479	return nil, false
8480}
8481
8482// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8483func (ause ApplicationUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8484	return nil, false
8485}
8486
8487// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8488func (ause ApplicationUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8489	return nil, false
8490}
8491
8492// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8493func (ause ApplicationUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8494	return nil, false
8495}
8496
8497// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8498func (ause ApplicationUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8499	return nil, false
8500}
8501
8502// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8503func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8504	return nil, false
8505}
8506
8507// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8508func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8509	return nil, false
8510}
8511
8512// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8513func (ause ApplicationUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8514	return nil, false
8515}
8516
8517// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8518func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8519	return nil, false
8520}
8521
8522// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8523func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8524	return nil, false
8525}
8526
8527// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8528func (ause ApplicationUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8529	return nil, false
8530}
8531
8532// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8533func (ause ApplicationUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8534	return nil, false
8535}
8536
8537// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8538func (ause ApplicationUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8539	return nil, false
8540}
8541
8542// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8543func (ause ApplicationUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8544	return nil, false
8545}
8546
8547// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8548func (ause ApplicationUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8549	return nil, false
8550}
8551
8552// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8553func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8554	return nil, false
8555}
8556
8557// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8558func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8559	return nil, false
8560}
8561
8562// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8563func (ause ApplicationUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8564	return nil, false
8565}
8566
8567// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8568func (ause ApplicationUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8569	return nil, false
8570}
8571
8572// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8573func (ause ApplicationUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8574	return nil, false
8575}
8576
8577// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8578func (ause ApplicationUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8579	return nil, false
8580}
8581
8582// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8583func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8584	return nil, false
8585}
8586
8587// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8588func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8589	return nil, false
8590}
8591
8592// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8593func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8594	return nil, false
8595}
8596
8597// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8598func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8599	return nil, false
8600}
8601
8602// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8603func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8604	return nil, false
8605}
8606
8607// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8608func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8609	return nil, false
8610}
8611
8612// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8613func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8614	return nil, false
8615}
8616
8617// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8618func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8619	return nil, false
8620}
8621
8622// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8623func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8624	return nil, false
8625}
8626
8627// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8628func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8629	return nil, false
8630}
8631
8632// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8633func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8634	return nil, false
8635}
8636
8637// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8638func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8639	return nil, false
8640}
8641
8642// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8643func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8644	return nil, false
8645}
8646
8647// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8648func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8649	return nil, false
8650}
8651
8652// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8653func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8654	return nil, false
8655}
8656
8657// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8658func (ause ApplicationUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8659	return nil, false
8660}
8661
8662// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8663func (ause ApplicationUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8664	return nil, false
8665}
8666
8667// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8668func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8669	return nil, false
8670}
8671
8672// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8673func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8674	return nil, false
8675}
8676
8677// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8678func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8679	return nil, false
8680}
8681
8682// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8683func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8684	return nil, false
8685}
8686
8687// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8688func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8689	return nil, false
8690}
8691
8692// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8693func (ause ApplicationUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8694	return nil, false
8695}
8696
8697// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8698func (ause ApplicationUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8699	return nil, false
8700}
8701
8702// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8703func (ause ApplicationUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8704	return nil, false
8705}
8706
8707// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8708func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8709	return nil, false
8710}
8711
8712// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8713func (ause ApplicationUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
8714	return nil, false
8715}
8716
8717// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8718func (ause ApplicationUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8719	return &ause, true
8720}
8721
8722// ApplicationUpgradeUpdateDescription describes the parameters for updating an ongoing application upgrade.
8723type ApplicationUpgradeUpdateDescription struct {
8724	// Name - The name of the application, including the 'fabric:' URI scheme.
8725	Name *string `json:"Name,omitempty"`
8726	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
8727	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
8728	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
8729	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
8730	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
8731	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
8732}
8733
8734// AveragePartitionLoadScalingTrigger represents a scaling trigger related to an average load of a metric/resource
8735// of a partition.
8736type AveragePartitionLoadScalingTrigger struct {
8737	// MetricName - The name of the metric for which usage should be tracked.
8738	MetricName *string `json:"MetricName,omitempty"`
8739	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
8740	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
8741	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
8742	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
8743	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
8744	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
8745	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
8746	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
8747}
8748
8749// MarshalJSON is the custom marshaler for AveragePartitionLoadScalingTrigger.
8750func (aplst AveragePartitionLoadScalingTrigger) MarshalJSON() ([]byte, error) {
8751	aplst.Kind = KindAveragePartitionLoad
8752	objectMap := make(map[string]interface{})
8753	if aplst.MetricName != nil {
8754		objectMap["MetricName"] = aplst.MetricName
8755	}
8756	if aplst.LowerLoadThreshold != nil {
8757		objectMap["LowerLoadThreshold"] = aplst.LowerLoadThreshold
8758	}
8759	if aplst.UpperLoadThreshold != nil {
8760		objectMap["UpperLoadThreshold"] = aplst.UpperLoadThreshold
8761	}
8762	if aplst.ScaleIntervalInSeconds != nil {
8763		objectMap["ScaleIntervalInSeconds"] = aplst.ScaleIntervalInSeconds
8764	}
8765	if aplst.Kind != "" {
8766		objectMap["Kind"] = aplst.Kind
8767	}
8768	return json.Marshal(objectMap)
8769}
8770
8771// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8772func (aplst AveragePartitionLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
8773	return &aplst, true
8774}
8775
8776// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8777func (aplst AveragePartitionLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
8778	return nil, false
8779}
8780
8781// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8782func (aplst AveragePartitionLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
8783	return nil, false
8784}
8785
8786// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8787func (aplst AveragePartitionLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
8788	return &aplst, true
8789}
8790
8791// AverageServiceLoadScalingTrigger represents a scaling policy related to an average load of a metric/resource of
8792// a service.
8793type AverageServiceLoadScalingTrigger struct {
8794	// MetricName - The name of the metric for which usage should be tracked.
8795	MetricName *string `json:"MetricName,omitempty"`
8796	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
8797	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
8798	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
8799	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
8800	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
8801	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
8802	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
8803	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
8804}
8805
8806// MarshalJSON is the custom marshaler for AverageServiceLoadScalingTrigger.
8807func (aslst AverageServiceLoadScalingTrigger) MarshalJSON() ([]byte, error) {
8808	aslst.Kind = KindAverageServiceLoad
8809	objectMap := make(map[string]interface{})
8810	if aslst.MetricName != nil {
8811		objectMap["MetricName"] = aslst.MetricName
8812	}
8813	if aslst.LowerLoadThreshold != nil {
8814		objectMap["LowerLoadThreshold"] = aslst.LowerLoadThreshold
8815	}
8816	if aslst.UpperLoadThreshold != nil {
8817		objectMap["UpperLoadThreshold"] = aslst.UpperLoadThreshold
8818	}
8819	if aslst.ScaleIntervalInSeconds != nil {
8820		objectMap["ScaleIntervalInSeconds"] = aslst.ScaleIntervalInSeconds
8821	}
8822	if aslst.Kind != "" {
8823		objectMap["Kind"] = aslst.Kind
8824	}
8825	return json.Marshal(objectMap)
8826}
8827
8828// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
8829func (aslst AverageServiceLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
8830	return nil, false
8831}
8832
8833// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
8834func (aslst AverageServiceLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
8835	return &aslst, true
8836}
8837
8838// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
8839func (aslst AverageServiceLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
8840	return nil, false
8841}
8842
8843// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
8844func (aslst AverageServiceLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
8845	return &aslst, true
8846}
8847
8848// AzureBlobBackupStorageDescription describes the parameters for Azure blob store used for storing and enumerating
8849// backups.
8850type AzureBlobBackupStorageDescription struct {
8851	// ConnectionString - The connection string to connect to the Azure blob store.
8852	ConnectionString *string `json:"ConnectionString,omitempty"`
8853	// ContainerName - The name of the container in the blob store to store and enumerate backups from.
8854	ContainerName *string `json:"ContainerName,omitempty"`
8855	// FriendlyName - Friendly name for this backup storage.
8856	FriendlyName *string `json:"FriendlyName,omitempty"`
8857	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
8858	StorageKind StorageKind `json:"StorageKind,omitempty"`
8859}
8860
8861// MarshalJSON is the custom marshaler for AzureBlobBackupStorageDescription.
8862func (abbsd AzureBlobBackupStorageDescription) MarshalJSON() ([]byte, error) {
8863	abbsd.StorageKind = StorageKindAzureBlobStore
8864	objectMap := make(map[string]interface{})
8865	if abbsd.ConnectionString != nil {
8866		objectMap["ConnectionString"] = abbsd.ConnectionString
8867	}
8868	if abbsd.ContainerName != nil {
8869		objectMap["ContainerName"] = abbsd.ContainerName
8870	}
8871	if abbsd.FriendlyName != nil {
8872		objectMap["FriendlyName"] = abbsd.FriendlyName
8873	}
8874	if abbsd.StorageKind != "" {
8875		objectMap["StorageKind"] = abbsd.StorageKind
8876	}
8877	return json.Marshal(objectMap)
8878}
8879
8880// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
8881func (abbsd AzureBlobBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
8882	return &abbsd, true
8883}
8884
8885// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
8886func (abbsd AzureBlobBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
8887	return nil, false
8888}
8889
8890// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
8891func (abbsd AzureBlobBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
8892	return nil, false
8893}
8894
8895// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
8896func (abbsd AzureBlobBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
8897	return &abbsd, true
8898}
8899
8900// BasicBackupConfigurationInfo describes the backup configuration information.
8901type BasicBackupConfigurationInfo interface {
8902	AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool)
8903	AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool)
8904	AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool)
8905	AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool)
8906}
8907
8908// BackupConfigurationInfo describes the backup configuration information.
8909type BackupConfigurationInfo struct {
8910	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
8911	PolicyName *string `json:"PolicyName,omitempty"`
8912	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
8913	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
8914	// SuspensionInfo - Describes the backup suspension details.
8915	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
8916	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
8917	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
8918}
8919
8920func unmarshalBasicBackupConfigurationInfo(body []byte) (BasicBackupConfigurationInfo, error) {
8921	var m map[string]interface{}
8922	err := json.Unmarshal(body, &m)
8923	if err != nil {
8924		return nil, err
8925	}
8926
8927	switch m["Kind"] {
8928	case string(KindBasicBackupConfigurationInfoKindApplication):
8929		var abci ApplicationBackupConfigurationInfo
8930		err := json.Unmarshal(body, &abci)
8931		return abci, err
8932	case string(KindBasicBackupConfigurationInfoKindService):
8933		var sbci ServiceBackupConfigurationInfo
8934		err := json.Unmarshal(body, &sbci)
8935		return sbci, err
8936	case string(KindBasicBackupConfigurationInfoKindPartition):
8937		var pbci PartitionBackupConfigurationInfo
8938		err := json.Unmarshal(body, &pbci)
8939		return pbci, err
8940	default:
8941		var bci BackupConfigurationInfo
8942		err := json.Unmarshal(body, &bci)
8943		return bci, err
8944	}
8945}
8946func unmarshalBasicBackupConfigurationInfoArray(body []byte) ([]BasicBackupConfigurationInfo, error) {
8947	var rawMessages []*json.RawMessage
8948	err := json.Unmarshal(body, &rawMessages)
8949	if err != nil {
8950		return nil, err
8951	}
8952
8953	bciArray := make([]BasicBackupConfigurationInfo, len(rawMessages))
8954
8955	for index, rawMessage := range rawMessages {
8956		bci, err := unmarshalBasicBackupConfigurationInfo(*rawMessage)
8957		if err != nil {
8958			return nil, err
8959		}
8960		bciArray[index] = bci
8961	}
8962	return bciArray, nil
8963}
8964
8965// MarshalJSON is the custom marshaler for BackupConfigurationInfo.
8966func (bci BackupConfigurationInfo) MarshalJSON() ([]byte, error) {
8967	bci.Kind = KindBasicBackupConfigurationInfoKindBackupConfigurationInfo
8968	objectMap := make(map[string]interface{})
8969	if bci.PolicyName != nil {
8970		objectMap["PolicyName"] = bci.PolicyName
8971	}
8972	if bci.PolicyInheritedFrom != "" {
8973		objectMap["PolicyInheritedFrom"] = bci.PolicyInheritedFrom
8974	}
8975	if bci.SuspensionInfo != nil {
8976		objectMap["SuspensionInfo"] = bci.SuspensionInfo
8977	}
8978	if bci.Kind != "" {
8979		objectMap["Kind"] = bci.Kind
8980	}
8981	return json.Marshal(objectMap)
8982}
8983
8984// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
8985func (bci BackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
8986	return nil, false
8987}
8988
8989// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
8990func (bci BackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
8991	return nil, false
8992}
8993
8994// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
8995func (bci BackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
8996	return nil, false
8997}
8998
8999// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
9000func (bci BackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
9001	return &bci, true
9002}
9003
9004// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
9005func (bci BackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
9006	return &bci, true
9007}
9008
9009// BasicBackupEntity describes the Service Fabric entity that is configured for backup.
9010type BasicBackupEntity interface {
9011	AsApplicationBackupEntity() (*ApplicationBackupEntity, bool)
9012	AsServiceBackupEntity() (*ServiceBackupEntity, bool)
9013	AsPartitionBackupEntity() (*PartitionBackupEntity, bool)
9014	AsBackupEntity() (*BackupEntity, bool)
9015}
9016
9017// BackupEntity describes the Service Fabric entity that is configured for backup.
9018type BackupEntity struct {
9019	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
9020	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
9021}
9022
9023func unmarshalBasicBackupEntity(body []byte) (BasicBackupEntity, error) {
9024	var m map[string]interface{}
9025	err := json.Unmarshal(body, &m)
9026	if err != nil {
9027		return nil, err
9028	}
9029
9030	switch m["EntityKind"] {
9031	case string(EntityKindApplication1):
9032		var abe ApplicationBackupEntity
9033		err := json.Unmarshal(body, &abe)
9034		return abe, err
9035	case string(EntityKindService1):
9036		var sbe ServiceBackupEntity
9037		err := json.Unmarshal(body, &sbe)
9038		return sbe, err
9039	case string(EntityKindPartition1):
9040		var pbe PartitionBackupEntity
9041		err := json.Unmarshal(body, &pbe)
9042		return pbe, err
9043	default:
9044		var be BackupEntity
9045		err := json.Unmarshal(body, &be)
9046		return be, err
9047	}
9048}
9049func unmarshalBasicBackupEntityArray(body []byte) ([]BasicBackupEntity, error) {
9050	var rawMessages []*json.RawMessage
9051	err := json.Unmarshal(body, &rawMessages)
9052	if err != nil {
9053		return nil, err
9054	}
9055
9056	beArray := make([]BasicBackupEntity, len(rawMessages))
9057
9058	for index, rawMessage := range rawMessages {
9059		be, err := unmarshalBasicBackupEntity(*rawMessage)
9060		if err != nil {
9061			return nil, err
9062		}
9063		beArray[index] = be
9064	}
9065	return beArray, nil
9066}
9067
9068// MarshalJSON is the custom marshaler for BackupEntity.
9069func (be BackupEntity) MarshalJSON() ([]byte, error) {
9070	be.EntityKind = EntityKindBackupEntity
9071	objectMap := make(map[string]interface{})
9072	if be.EntityKind != "" {
9073		objectMap["EntityKind"] = be.EntityKind
9074	}
9075	return json.Marshal(objectMap)
9076}
9077
9078// AsApplicationBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9079func (be BackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
9080	return nil, false
9081}
9082
9083// AsServiceBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9084func (be BackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
9085	return nil, false
9086}
9087
9088// AsPartitionBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9089func (be BackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
9090	return nil, false
9091}
9092
9093// AsBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9094func (be BackupEntity) AsBackupEntity() (*BackupEntity, bool) {
9095	return &be, true
9096}
9097
9098// AsBasicBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9099func (be BackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
9100	return &be, true
9101}
9102
9103// BackupEpoch an Epoch is a configuration number for the partition as a whole. When the configuration of the
9104// replica set changes, for example when the Primary replica changes, the operations that are replicated from the
9105// new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary replica.
9106type BackupEpoch struct {
9107	// 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.
9108	ConfigurationNumber *string `json:"ConfigurationNumber,omitempty"`
9109	// DataLossNumber - The current dataloss 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.
9110	DataLossNumber *string `json:"DataLossNumber,omitempty"`
9111}
9112
9113// BackupInfo represents a backup point which can be used to trigger a restore.
9114type BackupInfo struct {
9115	// BackupID - Unique backup ID .
9116	BackupID *uuid.UUID `json:"BackupId,omitempty"`
9117	// 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.
9118	BackupChainID *uuid.UUID `json:"BackupChainId,omitempty"`
9119	// ApplicationName - Name of the Service Fabric application this partition backup belongs to.
9120	ApplicationName *string `json:"ApplicationName,omitempty"`
9121	// ServiceName - Name of the Service Fabric service this partition backup belongs to.
9122	ServiceName *string `json:"ServiceName,omitempty"`
9123	// PartitionInformation - Information about the partition to which this backup belongs to
9124	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
9125	// BackupLocation - Location of the backup, relative to the backup store.
9126	BackupLocation *string `json:"BackupLocation,omitempty"`
9127	// BackupType - Describes the type of backup, whether its full or incremental. Possible values include: 'BackupTypeInvalid', 'BackupTypeFull', 'BackupTypeIncremental'
9128	BackupType BackupType `json:"BackupType,omitempty"`
9129	// EpochOfLastBackupRecord - Epoch of the last record in this backup.
9130	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
9131	// LsnOfLastBackupRecord - LSN of the last record in this backup.
9132	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
9133	// CreationTimeUtc - The date time when this backup was taken.
9134	CreationTimeUtc *date.Time `json:"CreationTimeUtc,omitempty"`
9135	// FailureError - Denotes the failure encountered in getting backup point information.
9136	FailureError *FabricErrorError `json:"FailureError,omitempty"`
9137}
9138
9139// UnmarshalJSON is the custom unmarshaler for BackupInfo struct.
9140func (bi *BackupInfo) UnmarshalJSON(body []byte) error {
9141	var m map[string]*json.RawMessage
9142	err := json.Unmarshal(body, &m)
9143	if err != nil {
9144		return err
9145	}
9146	for k, v := range m {
9147		switch k {
9148		case "BackupId":
9149			if v != nil {
9150				var backupID uuid.UUID
9151				err = json.Unmarshal(*v, &backupID)
9152				if err != nil {
9153					return err
9154				}
9155				bi.BackupID = &backupID
9156			}
9157		case "BackupChainId":
9158			if v != nil {
9159				var backupChainID uuid.UUID
9160				err = json.Unmarshal(*v, &backupChainID)
9161				if err != nil {
9162					return err
9163				}
9164				bi.BackupChainID = &backupChainID
9165			}
9166		case "ApplicationName":
9167			if v != nil {
9168				var applicationName string
9169				err = json.Unmarshal(*v, &applicationName)
9170				if err != nil {
9171					return err
9172				}
9173				bi.ApplicationName = &applicationName
9174			}
9175		case "ServiceName":
9176			if v != nil {
9177				var serviceName string
9178				err = json.Unmarshal(*v, &serviceName)
9179				if err != nil {
9180					return err
9181				}
9182				bi.ServiceName = &serviceName
9183			}
9184		case "PartitionInformation":
9185			if v != nil {
9186				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
9187				if err != nil {
9188					return err
9189				}
9190				bi.PartitionInformation = partitionInformation
9191			}
9192		case "BackupLocation":
9193			if v != nil {
9194				var backupLocation string
9195				err = json.Unmarshal(*v, &backupLocation)
9196				if err != nil {
9197					return err
9198				}
9199				bi.BackupLocation = &backupLocation
9200			}
9201		case "BackupType":
9202			if v != nil {
9203				var backupType BackupType
9204				err = json.Unmarshal(*v, &backupType)
9205				if err != nil {
9206					return err
9207				}
9208				bi.BackupType = backupType
9209			}
9210		case "EpochOfLastBackupRecord":
9211			if v != nil {
9212				var epochOfLastBackupRecord BackupEpoch
9213				err = json.Unmarshal(*v, &epochOfLastBackupRecord)
9214				if err != nil {
9215					return err
9216				}
9217				bi.EpochOfLastBackupRecord = &epochOfLastBackupRecord
9218			}
9219		case "LsnOfLastBackupRecord":
9220			if v != nil {
9221				var lsnOfLastBackupRecord string
9222				err = json.Unmarshal(*v, &lsnOfLastBackupRecord)
9223				if err != nil {
9224					return err
9225				}
9226				bi.LsnOfLastBackupRecord = &lsnOfLastBackupRecord
9227			}
9228		case "CreationTimeUtc":
9229			if v != nil {
9230				var creationTimeUtc date.Time
9231				err = json.Unmarshal(*v, &creationTimeUtc)
9232				if err != nil {
9233					return err
9234				}
9235				bi.CreationTimeUtc = &creationTimeUtc
9236			}
9237		case "FailureError":
9238			if v != nil {
9239				var failureError FabricErrorError
9240				err = json.Unmarshal(*v, &failureError)
9241				if err != nil {
9242					return err
9243				}
9244				bi.FailureError = &failureError
9245			}
9246		}
9247	}
9248
9249	return nil
9250}
9251
9252// BackupPartitionDescription describes the parameters for triggering partition's backup.
9253type BackupPartitionDescription struct {
9254	// BackupStorage - Specifies the details of the backup storage where to save the backup.
9255	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
9256}
9257
9258// UnmarshalJSON is the custom unmarshaler for BackupPartitionDescription struct.
9259func (bpd *BackupPartitionDescription) UnmarshalJSON(body []byte) error {
9260	var m map[string]*json.RawMessage
9261	err := json.Unmarshal(body, &m)
9262	if err != nil {
9263		return err
9264	}
9265	for k, v := range m {
9266		switch k {
9267		case "BackupStorage":
9268			if v != nil {
9269				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
9270				if err != nil {
9271					return err
9272				}
9273				bpd.BackupStorage = backupStorage
9274			}
9275		}
9276	}
9277
9278	return nil
9279}
9280
9281// BackupPolicyDescription describes a backup policy for configuring periodic backup.
9282type BackupPolicyDescription struct {
9283	autorest.Response `json:"-"`
9284	// Name - The unique name identifying this backup policy.
9285	Name *string `json:"Name,omitempty"`
9286	// AutoRestoreOnDataLoss - Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event.
9287	AutoRestoreOnDataLoss *bool `json:"AutoRestoreOnDataLoss,omitempty"`
9288	// 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
9289	// - The replica has never taken a full backup since it has become primary,
9290	// - Some of the log records since the last backup has been truncated, or
9291	// - Replica passed the MaxAccumulatedBackupLogSizeInMB limit.
9292	MaxIncrementalBackups *int32 `json:"MaxIncrementalBackups,omitempty"`
9293	// Schedule - Describes the backup schedule parameters.
9294	Schedule BasicBackupScheduleDescription `json:"Schedule,omitempty"`
9295	// Storage - Describes the details of backup storage where to store the periodic backups.
9296	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
9297}
9298
9299// UnmarshalJSON is the custom unmarshaler for BackupPolicyDescription struct.
9300func (bpd *BackupPolicyDescription) UnmarshalJSON(body []byte) error {
9301	var m map[string]*json.RawMessage
9302	err := json.Unmarshal(body, &m)
9303	if err != nil {
9304		return err
9305	}
9306	for k, v := range m {
9307		switch k {
9308		case "Name":
9309			if v != nil {
9310				var name string
9311				err = json.Unmarshal(*v, &name)
9312				if err != nil {
9313					return err
9314				}
9315				bpd.Name = &name
9316			}
9317		case "AutoRestoreOnDataLoss":
9318			if v != nil {
9319				var autoRestoreOnDataLoss bool
9320				err = json.Unmarshal(*v, &autoRestoreOnDataLoss)
9321				if err != nil {
9322					return err
9323				}
9324				bpd.AutoRestoreOnDataLoss = &autoRestoreOnDataLoss
9325			}
9326		case "MaxIncrementalBackups":
9327			if v != nil {
9328				var maxIncrementalBackups int32
9329				err = json.Unmarshal(*v, &maxIncrementalBackups)
9330				if err != nil {
9331					return err
9332				}
9333				bpd.MaxIncrementalBackups = &maxIncrementalBackups
9334			}
9335		case "Schedule":
9336			if v != nil {
9337				schedule, err := unmarshalBasicBackupScheduleDescription(*v)
9338				if err != nil {
9339					return err
9340				}
9341				bpd.Schedule = schedule
9342			}
9343		case "Storage":
9344			if v != nil {
9345				storage, err := unmarshalBasicBackupStorageDescription(*v)
9346				if err != nil {
9347					return err
9348				}
9349				bpd.Storage = storage
9350			}
9351		}
9352	}
9353
9354	return nil
9355}
9356
9357// BackupProgressInfo describes the progress of a partition's backup.
9358type BackupProgressInfo struct {
9359	autorest.Response `json:"-"`
9360	// BackupState - Represents the current state of the partition backup operation. Possible values include: 'BackupStateInvalid', 'BackupStateAccepted', 'BackupStateBackupInProgress', 'BackupStateSuccess', 'BackupStateFailure', 'BackupStateTimeout'
9361	BackupState BackupState `json:"BackupState,omitempty"`
9362	// TimeStampUtc - TimeStamp in UTC when operation succeeded or failed.
9363	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
9364	// BackupID - Unique ID of the newly created backup.
9365	BackupID *uuid.UUID `json:"BackupId,omitempty"`
9366	// BackupLocation - Location, relative to the backup store, of the newly created backup.
9367	BackupLocation *string `json:"BackupLocation,omitempty"`
9368	// EpochOfLastBackupRecord - Specifies the epoch of the last record included in backup.
9369	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
9370	// LsnOfLastBackupRecord - The LSN of last record included in backup.
9371	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
9372	// FailureError - Denotes the failure encountered in performing backup operation.
9373	FailureError *FabricErrorError `json:"FailureError,omitempty"`
9374}
9375
9376// BasicBackupScheduleDescription describes the backup schedule parameters.
9377type BasicBackupScheduleDescription interface {
9378	AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool)
9379	AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool)
9380	AsBackupScheduleDescription() (*BackupScheduleDescription, bool)
9381}
9382
9383// BackupScheduleDescription describes the backup schedule parameters.
9384type BackupScheduleDescription struct {
9385	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
9386	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
9387}
9388
9389func unmarshalBasicBackupScheduleDescription(body []byte) (BasicBackupScheduleDescription, error) {
9390	var m map[string]interface{}
9391	err := json.Unmarshal(body, &m)
9392	if err != nil {
9393		return nil, err
9394	}
9395
9396	switch m["ScheduleKind"] {
9397	case string(ScheduleKindFrequencyBased):
9398		var fbbsd FrequencyBasedBackupScheduleDescription
9399		err := json.Unmarshal(body, &fbbsd)
9400		return fbbsd, err
9401	case string(ScheduleKindTimeBased):
9402		var tbbsd TimeBasedBackupScheduleDescription
9403		err := json.Unmarshal(body, &tbbsd)
9404		return tbbsd, err
9405	default:
9406		var bsd BackupScheduleDescription
9407		err := json.Unmarshal(body, &bsd)
9408		return bsd, err
9409	}
9410}
9411func unmarshalBasicBackupScheduleDescriptionArray(body []byte) ([]BasicBackupScheduleDescription, error) {
9412	var rawMessages []*json.RawMessage
9413	err := json.Unmarshal(body, &rawMessages)
9414	if err != nil {
9415		return nil, err
9416	}
9417
9418	bsdArray := make([]BasicBackupScheduleDescription, len(rawMessages))
9419
9420	for index, rawMessage := range rawMessages {
9421		bsd, err := unmarshalBasicBackupScheduleDescription(*rawMessage)
9422		if err != nil {
9423			return nil, err
9424		}
9425		bsdArray[index] = bsd
9426	}
9427	return bsdArray, nil
9428}
9429
9430// MarshalJSON is the custom marshaler for BackupScheduleDescription.
9431func (bsd BackupScheduleDescription) MarshalJSON() ([]byte, error) {
9432	bsd.ScheduleKind = ScheduleKindBackupScheduleDescription
9433	objectMap := make(map[string]interface{})
9434	if bsd.ScheduleKind != "" {
9435		objectMap["ScheduleKind"] = bsd.ScheduleKind
9436	}
9437	return json.Marshal(objectMap)
9438}
9439
9440// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9441func (bsd BackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
9442	return nil, false
9443}
9444
9445// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9446func (bsd BackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
9447	return nil, false
9448}
9449
9450// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9451func (bsd BackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
9452	return &bsd, true
9453}
9454
9455// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9456func (bsd BackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
9457	return &bsd, true
9458}
9459
9460// BasicBackupStorageDescription describes the parameters for the backup storage.
9461type BasicBackupStorageDescription interface {
9462	AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool)
9463	AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool)
9464	AsBackupStorageDescription() (*BackupStorageDescription, bool)
9465}
9466
9467// BackupStorageDescription describes the parameters for the backup storage.
9468type BackupStorageDescription struct {
9469	// FriendlyName - Friendly name for this backup storage.
9470	FriendlyName *string `json:"FriendlyName,omitempty"`
9471	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
9472	StorageKind StorageKind `json:"StorageKind,omitempty"`
9473}
9474
9475func unmarshalBasicBackupStorageDescription(body []byte) (BasicBackupStorageDescription, error) {
9476	var m map[string]interface{}
9477	err := json.Unmarshal(body, &m)
9478	if err != nil {
9479		return nil, err
9480	}
9481
9482	switch m["StorageKind"] {
9483	case string(StorageKindAzureBlobStore):
9484		var abbsd AzureBlobBackupStorageDescription
9485		err := json.Unmarshal(body, &abbsd)
9486		return abbsd, err
9487	case string(StorageKindFileShare):
9488		var fsbsd FileShareBackupStorageDescription
9489		err := json.Unmarshal(body, &fsbsd)
9490		return fsbsd, err
9491	default:
9492		var bsd BackupStorageDescription
9493		err := json.Unmarshal(body, &bsd)
9494		return bsd, err
9495	}
9496}
9497func unmarshalBasicBackupStorageDescriptionArray(body []byte) ([]BasicBackupStorageDescription, error) {
9498	var rawMessages []*json.RawMessage
9499	err := json.Unmarshal(body, &rawMessages)
9500	if err != nil {
9501		return nil, err
9502	}
9503
9504	bsdArray := make([]BasicBackupStorageDescription, len(rawMessages))
9505
9506	for index, rawMessage := range rawMessages {
9507		bsd, err := unmarshalBasicBackupStorageDescription(*rawMessage)
9508		if err != nil {
9509			return nil, err
9510		}
9511		bsdArray[index] = bsd
9512	}
9513	return bsdArray, nil
9514}
9515
9516// MarshalJSON is the custom marshaler for BackupStorageDescription.
9517func (bsd BackupStorageDescription) MarshalJSON() ([]byte, error) {
9518	bsd.StorageKind = StorageKindBackupStorageDescription
9519	objectMap := make(map[string]interface{})
9520	if bsd.FriendlyName != nil {
9521		objectMap["FriendlyName"] = bsd.FriendlyName
9522	}
9523	if bsd.StorageKind != "" {
9524		objectMap["StorageKind"] = bsd.StorageKind
9525	}
9526	return json.Marshal(objectMap)
9527}
9528
9529// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9530func (bsd BackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
9531	return nil, false
9532}
9533
9534// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9535func (bsd BackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
9536	return nil, false
9537}
9538
9539// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9540func (bsd BackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
9541	return &bsd, true
9542}
9543
9544// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9545func (bsd BackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
9546	return &bsd, true
9547}
9548
9549// BackupSuspensionInfo describes the backup suspension details.
9550type BackupSuspensionInfo struct {
9551	// IsSuspended - Indicates whether periodic backup is suspended at this level or not.
9552	IsSuspended *bool `json:"IsSuspended,omitempty"`
9553	// SuspensionInheritedFrom - Specifies the scope at which the backup suspension was applied. Possible values include: 'BackupSuspensionScopeInvalid', 'BackupSuspensionScopePartition', 'BackupSuspensionScopeService', 'BackupSuspensionScopeApplication'
9554	SuspensionInheritedFrom BackupSuspensionScope `json:"SuspensionInheritedFrom,omitempty"`
9555}
9556
9557// BinaryPropertyValue describes a Service Fabric property value of type Binary.
9558type BinaryPropertyValue struct {
9559	// Data - Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.
9560	Data *[]int32 `json:"Data,omitempty"`
9561	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
9562	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
9563}
9564
9565// MarshalJSON is the custom marshaler for BinaryPropertyValue.
9566func (bpv BinaryPropertyValue) MarshalJSON() ([]byte, error) {
9567	bpv.Kind = KindBinary
9568	objectMap := make(map[string]interface{})
9569	if bpv.Data != nil {
9570		objectMap["Data"] = bpv.Data
9571	}
9572	if bpv.Kind != "" {
9573		objectMap["Kind"] = bpv.Kind
9574	}
9575	return json.Marshal(objectMap)
9576}
9577
9578// AsBinaryPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9579func (bpv BinaryPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
9580	return &bpv, true
9581}
9582
9583// AsInt64PropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9584func (bpv BinaryPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
9585	return nil, false
9586}
9587
9588// AsDoublePropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9589func (bpv BinaryPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
9590	return nil, false
9591}
9592
9593// AsStringPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9594func (bpv BinaryPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
9595	return nil, false
9596}
9597
9598// AsGUIDPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9599func (bpv BinaryPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
9600	return nil, false
9601}
9602
9603// AsPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9604func (bpv BinaryPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
9605	return nil, false
9606}
9607
9608// AsBasicPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9609func (bpv BinaryPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
9610	return &bpv, true
9611}
9612
9613// Chaos contains a description of Chaos.
9614type Chaos struct {
9615	autorest.Response `json:"-"`
9616	// ChaosParameters - If Chaos is running, these are the parameters Chaos is running with.
9617	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
9618	// Status - Current status of the Chaos run. Possible values include: 'ChaosStatusInvalid', 'ChaosStatusRunning', 'ChaosStatusStopped'
9619	Status ChaosStatus `json:"Status,omitempty"`
9620	// ScheduleStatus - Current status of the schedule. Possible values include: 'ChaosScheduleStatusInvalid', 'ChaosScheduleStatusStopped', 'ChaosScheduleStatusActive', 'ChaosScheduleStatusExpired', 'ChaosScheduleStatusPending'
9621	ScheduleStatus ChaosScheduleStatus `json:"ScheduleStatus,omitempty"`
9622}
9623
9624// ChaosContext describes a map, which is a collection of (string, string) type key-value pairs. The map can be
9625// used to record information about
9626// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095
9627// characters long.
9628// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
9629type ChaosContext struct {
9630	// Map - Describes a map that contains a collection of ChaosContextMapItem's.
9631	Map map[string]*string `json:"Map"`
9632}
9633
9634// MarshalJSON is the custom marshaler for ChaosContext.
9635func (cc ChaosContext) MarshalJSON() ([]byte, error) {
9636	objectMap := make(map[string]interface{})
9637	if cc.Map != nil {
9638		objectMap["Map"] = cc.Map
9639	}
9640	return json.Marshal(objectMap)
9641}
9642
9643// BasicChaosEvent represents an event generated during a Chaos run.
9644type BasicChaosEvent interface {
9645	AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool)
9646	AsStartedChaosEvent() (*StartedChaosEvent, bool)
9647	AsStoppedChaosEvent() (*StoppedChaosEvent, bool)
9648	AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool)
9649	AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool)
9650	AsWaitingChaosEvent() (*WaitingChaosEvent, bool)
9651	AsChaosEvent() (*ChaosEvent, bool)
9652}
9653
9654// ChaosEvent represents an event generated during a Chaos run.
9655type ChaosEvent struct {
9656	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
9657	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
9658	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
9659	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
9660}
9661
9662func unmarshalBasicChaosEvent(body []byte) (BasicChaosEvent, error) {
9663	var m map[string]interface{}
9664	err := json.Unmarshal(body, &m)
9665	if err != nil {
9666		return nil, err
9667	}
9668
9669	switch m["Kind"] {
9670	case string(KindExecutingFaults):
9671		var efce ExecutingFaultsChaosEvent
9672		err := json.Unmarshal(body, &efce)
9673		return efce, err
9674	case string(KindStarted):
9675		var sce StartedChaosEvent
9676		err := json.Unmarshal(body, &sce)
9677		return sce, err
9678	case string(KindStopped):
9679		var sce StoppedChaosEvent
9680		err := json.Unmarshal(body, &sce)
9681		return sce, err
9682	case string(KindTestError):
9683		var tece TestErrorChaosEvent
9684		err := json.Unmarshal(body, &tece)
9685		return tece, err
9686	case string(KindValidationFailed):
9687		var vfce ValidationFailedChaosEvent
9688		err := json.Unmarshal(body, &vfce)
9689		return vfce, err
9690	case string(KindWaiting):
9691		var wce WaitingChaosEvent
9692		err := json.Unmarshal(body, &wce)
9693		return wce, err
9694	default:
9695		var ce ChaosEvent
9696		err := json.Unmarshal(body, &ce)
9697		return ce, err
9698	}
9699}
9700func unmarshalBasicChaosEventArray(body []byte) ([]BasicChaosEvent, error) {
9701	var rawMessages []*json.RawMessage
9702	err := json.Unmarshal(body, &rawMessages)
9703	if err != nil {
9704		return nil, err
9705	}
9706
9707	ceArray := make([]BasicChaosEvent, len(rawMessages))
9708
9709	for index, rawMessage := range rawMessages {
9710		ce, err := unmarshalBasicChaosEvent(*rawMessage)
9711		if err != nil {
9712			return nil, err
9713		}
9714		ceArray[index] = ce
9715	}
9716	return ceArray, nil
9717}
9718
9719// MarshalJSON is the custom marshaler for ChaosEvent.
9720func (ce ChaosEvent) MarshalJSON() ([]byte, error) {
9721	ce.Kind = KindChaosEvent
9722	objectMap := make(map[string]interface{})
9723	if ce.TimeStampUtc != nil {
9724		objectMap["TimeStampUtc"] = ce.TimeStampUtc
9725	}
9726	if ce.Kind != "" {
9727		objectMap["Kind"] = ce.Kind
9728	}
9729	return json.Marshal(objectMap)
9730}
9731
9732// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9733func (ce ChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
9734	return nil, false
9735}
9736
9737// AsStartedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9738func (ce ChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
9739	return nil, false
9740}
9741
9742// AsStoppedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9743func (ce ChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
9744	return nil, false
9745}
9746
9747// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9748func (ce ChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
9749	return nil, false
9750}
9751
9752// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9753func (ce ChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
9754	return nil, false
9755}
9756
9757// AsWaitingChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9758func (ce ChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
9759	return nil, false
9760}
9761
9762// AsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9763func (ce ChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
9764	return &ce, true
9765}
9766
9767// AsBasicChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9768func (ce ChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
9769	return &ce, true
9770}
9771
9772// ChaosEventsSegment contains the list of Chaos events and the continuation token to get the next segment.
9773type ChaosEventsSegment struct {
9774	autorest.Response `json:"-"`
9775	// 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.
9776	ContinuationToken *string `json:"ContinuationToken,omitempty"`
9777	// History - List of Chaos events that meet the user-supplied criteria.
9778	History *[]ChaosEventWrapper `json:"History,omitempty"`
9779}
9780
9781// ChaosEventWrapper wrapper object for Chaos event.
9782type ChaosEventWrapper struct {
9783	// ChaosEvent - Represents an event generated during a Chaos run.
9784	ChaosEvent BasicChaosEvent `json:"ChaosEvent,omitempty"`
9785}
9786
9787// UnmarshalJSON is the custom unmarshaler for ChaosEventWrapper struct.
9788func (cew *ChaosEventWrapper) UnmarshalJSON(body []byte) error {
9789	var m map[string]*json.RawMessage
9790	err := json.Unmarshal(body, &m)
9791	if err != nil {
9792		return err
9793	}
9794	for k, v := range m {
9795		switch k {
9796		case "ChaosEvent":
9797			if v != nil {
9798				chaosEvent, err := unmarshalBasicChaosEvent(*v)
9799				if err != nil {
9800					return err
9801				}
9802				cew.ChaosEvent = chaosEvent
9803			}
9804		}
9805	}
9806
9807	return nil
9808}
9809
9810// ChaosMovePrimaryFaultScheduledEvent chaos Move Primary Fault Scheduled event.
9811type ChaosMovePrimaryFaultScheduledEvent struct {
9812	// FaultGroupID - Id of fault group.
9813	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
9814	// FaultID - Id of fault.
9815	FaultID *uuid.UUID `json:"FaultId,omitempty"`
9816	// ServiceName - Service name.
9817	ServiceName *string `json:"ServiceName,omitempty"`
9818	// NodeTo - The name of a Service Fabric node.
9819	NodeTo *string `json:"NodeTo,omitempty"`
9820	// ForcedMove - Indicates a forced move.
9821	ForcedMove *bool `json:"ForcedMove,omitempty"`
9822	// 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.
9823	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
9824	// EventInstanceID - The identifier for the FabricEvent instance.
9825	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
9826	// TimeStamp - The time event was logged.
9827	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
9828	// HasCorrelatedEvents - Shows there is existing related events available.
9829	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
9830	// 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'
9831	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
9832}
9833
9834// MarshalJSON is the custom marshaler for ChaosMovePrimaryFaultScheduledEvent.
9835func (cmpfse ChaosMovePrimaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
9836	cmpfse.Kind = KindChaosMovePrimaryFaultScheduled
9837	objectMap := make(map[string]interface{})
9838	if cmpfse.FaultGroupID != nil {
9839		objectMap["FaultGroupId"] = cmpfse.FaultGroupID
9840	}
9841	if cmpfse.FaultID != nil {
9842		objectMap["FaultId"] = cmpfse.FaultID
9843	}
9844	if cmpfse.ServiceName != nil {
9845		objectMap["ServiceName"] = cmpfse.ServiceName
9846	}
9847	if cmpfse.NodeTo != nil {
9848		objectMap["NodeTo"] = cmpfse.NodeTo
9849	}
9850	if cmpfse.ForcedMove != nil {
9851		objectMap["ForcedMove"] = cmpfse.ForcedMove
9852	}
9853	if cmpfse.PartitionID != nil {
9854		objectMap["PartitionId"] = cmpfse.PartitionID
9855	}
9856	if cmpfse.EventInstanceID != nil {
9857		objectMap["EventInstanceId"] = cmpfse.EventInstanceID
9858	}
9859	if cmpfse.TimeStamp != nil {
9860		objectMap["TimeStamp"] = cmpfse.TimeStamp
9861	}
9862	if cmpfse.HasCorrelatedEvents != nil {
9863		objectMap["HasCorrelatedEvents"] = cmpfse.HasCorrelatedEvents
9864	}
9865	if cmpfse.Kind != "" {
9866		objectMap["Kind"] = cmpfse.Kind
9867	}
9868	return json.Marshal(objectMap)
9869}
9870
9871// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9872func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
9873	return nil, false
9874}
9875
9876// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9877func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
9878	return nil, false
9879}
9880
9881// AsClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9882func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
9883	return nil, false
9884}
9885
9886// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9887func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
9888	return nil, false
9889}
9890
9891// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9892func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
9893	return nil, false
9894}
9895
9896// AsNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9897func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
9898	return nil, false
9899}
9900
9901// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9902func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
9903	return nil, false
9904}
9905
9906// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9907func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
9908	return nil, false
9909}
9910
9911// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9912func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
9913	return nil, false
9914}
9915
9916// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9917func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
9918	return nil, false
9919}
9920
9921// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9922func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
9923	return &cmpfse, true
9924}
9925
9926// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9927func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
9928	return nil, false
9929}
9930
9931// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9932func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
9933	return nil, false
9934}
9935
9936// AsServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9937func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
9938	return nil, false
9939}
9940
9941// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9942func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
9943	return nil, false
9944}
9945
9946// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9947func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
9948	return nil, false
9949}
9950
9951// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9952func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
9953	return nil, false
9954}
9955
9956// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9957func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
9958	return nil, false
9959}
9960
9961// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9962func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
9963	return nil, false
9964}
9965
9966// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9967func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
9968	return nil, false
9969}
9970
9971// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9972func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
9973	return nil, false
9974}
9975
9976// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9977func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
9978	return nil, false
9979}
9980
9981// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9982func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
9983	return nil, false
9984}
9985
9986// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9987func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
9988	return nil, false
9989}
9990
9991// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9992func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
9993	return nil, false
9994}
9995
9996// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
9997func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
9998	return nil, false
9999}
10000
10001// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10002func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10003	return nil, false
10004}
10005
10006// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10007func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10008	return nil, false
10009}
10010
10011// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10012func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10013	return nil, false
10014}
10015
10016// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10017func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10018	return nil, false
10019}
10020
10021// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10022func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10023	return nil, false
10024}
10025
10026// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10027func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10028	return nil, false
10029}
10030
10031// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10032func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10033	return nil, false
10034}
10035
10036// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10037func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10038	return nil, false
10039}
10040
10041// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10042func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10043	return nil, false
10044}
10045
10046// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10047func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10048	return nil, false
10049}
10050
10051// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10052func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10053	return nil, false
10054}
10055
10056// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10057func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10058	return nil, false
10059}
10060
10061// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10062func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10063	return nil, false
10064}
10065
10066// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10067func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10068	return nil, false
10069}
10070
10071// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10072func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10073	return nil, false
10074}
10075
10076// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10077func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10078	return nil, false
10079}
10080
10081// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10082func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10083	return nil, false
10084}
10085
10086// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10087func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10088	return nil, false
10089}
10090
10091// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10092func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10093	return nil, false
10094}
10095
10096// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10097func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10098	return nil, false
10099}
10100
10101// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10102func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10103	return nil, false
10104}
10105
10106// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10107func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10108	return nil, false
10109}
10110
10111// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10112func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10113	return nil, false
10114}
10115
10116// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10117func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10118	return nil, false
10119}
10120
10121// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10122func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10123	return nil, false
10124}
10125
10126// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10127func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10128	return nil, false
10129}
10130
10131// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10132func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10133	return nil, false
10134}
10135
10136// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10137func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10138	return nil, false
10139}
10140
10141// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10142func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10143	return nil, false
10144}
10145
10146// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10147func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10148	return nil, false
10149}
10150
10151// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10152func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10153	return nil, false
10154}
10155
10156// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10157func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10158	return nil, false
10159}
10160
10161// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10162func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10163	return nil, false
10164}
10165
10166// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10167func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10168	return nil, false
10169}
10170
10171// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10172func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10173	return nil, false
10174}
10175
10176// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10177func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10178	return nil, false
10179}
10180
10181// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10182func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10183	return nil, false
10184}
10185
10186// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10187func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10188	return nil, false
10189}
10190
10191// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10192func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10193	return nil, false
10194}
10195
10196// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10197func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10198	return nil, false
10199}
10200
10201// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10202func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10203	return nil, false
10204}
10205
10206// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10207func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10208	return nil, false
10209}
10210
10211// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10212func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10213	return nil, false
10214}
10215
10216// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10217func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10218	return nil, false
10219}
10220
10221// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10222func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10223	return nil, false
10224}
10225
10226// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10227func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10228	return nil, false
10229}
10230
10231// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10232func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10233	return &cmpfse, true
10234}
10235
10236// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10237func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10238	return nil, false
10239}
10240
10241// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10242func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10243	return nil, false
10244}
10245
10246// AsFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10247func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10248	return nil, false
10249}
10250
10251// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10252func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10253	return &cmpfse, true
10254}
10255
10256// ChaosMoveSecondaryFaultScheduledEvent chaos Move Secondary Fault Scheduled event.
10257type ChaosMoveSecondaryFaultScheduledEvent struct {
10258	// FaultGroupID - Id of fault group.
10259	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
10260	// FaultID - Id of fault.
10261	FaultID *uuid.UUID `json:"FaultId,omitempty"`
10262	// ServiceName - Service name.
10263	ServiceName *string `json:"ServiceName,omitempty"`
10264	// SourceNode - The name of a Service Fabric node.
10265	SourceNode *string `json:"SourceNode,omitempty"`
10266	// DestinationNode - The name of a Service Fabric node.
10267	DestinationNode *string `json:"DestinationNode,omitempty"`
10268	// ForcedMove - Indicates a forced move.
10269	ForcedMove *bool `json:"ForcedMove,omitempty"`
10270	// 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.
10271	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
10272	// EventInstanceID - The identifier for the FabricEvent instance.
10273	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10274	// TimeStamp - The time event was logged.
10275	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10276	// HasCorrelatedEvents - Shows there is existing related events available.
10277	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10278	// 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'
10279	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10280}
10281
10282// MarshalJSON is the custom marshaler for ChaosMoveSecondaryFaultScheduledEvent.
10283func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
10284	cmsfse.Kind = KindChaosMoveSecondaryFaultScheduled
10285	objectMap := make(map[string]interface{})
10286	if cmsfse.FaultGroupID != nil {
10287		objectMap["FaultGroupId"] = cmsfse.FaultGroupID
10288	}
10289	if cmsfse.FaultID != nil {
10290		objectMap["FaultId"] = cmsfse.FaultID
10291	}
10292	if cmsfse.ServiceName != nil {
10293		objectMap["ServiceName"] = cmsfse.ServiceName
10294	}
10295	if cmsfse.SourceNode != nil {
10296		objectMap["SourceNode"] = cmsfse.SourceNode
10297	}
10298	if cmsfse.DestinationNode != nil {
10299		objectMap["DestinationNode"] = cmsfse.DestinationNode
10300	}
10301	if cmsfse.ForcedMove != nil {
10302		objectMap["ForcedMove"] = cmsfse.ForcedMove
10303	}
10304	if cmsfse.PartitionID != nil {
10305		objectMap["PartitionId"] = cmsfse.PartitionID
10306	}
10307	if cmsfse.EventInstanceID != nil {
10308		objectMap["EventInstanceId"] = cmsfse.EventInstanceID
10309	}
10310	if cmsfse.TimeStamp != nil {
10311		objectMap["TimeStamp"] = cmsfse.TimeStamp
10312	}
10313	if cmsfse.HasCorrelatedEvents != nil {
10314		objectMap["HasCorrelatedEvents"] = cmsfse.HasCorrelatedEvents
10315	}
10316	if cmsfse.Kind != "" {
10317		objectMap["Kind"] = cmsfse.Kind
10318	}
10319	return json.Marshal(objectMap)
10320}
10321
10322// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10323func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10324	return nil, false
10325}
10326
10327// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10328func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10329	return nil, false
10330}
10331
10332// AsClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10333func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
10334	return nil, false
10335}
10336
10337// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10338func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10339	return nil, false
10340}
10341
10342// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10343func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10344	return nil, false
10345}
10346
10347// AsNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10348func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
10349	return nil, false
10350}
10351
10352// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10353func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10354	return nil, false
10355}
10356
10357// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10358func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10359	return nil, false
10360}
10361
10362// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10363func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10364	return nil, false
10365}
10366
10367// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10368func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10369	return nil, false
10370}
10371
10372// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10373func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10374	return &cmsfse, true
10375}
10376
10377// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10378func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10379	return nil, false
10380}
10381
10382// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10383func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10384	return nil, false
10385}
10386
10387// AsServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10388func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
10389	return nil, false
10390}
10391
10392// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10393func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10394	return nil, false
10395}
10396
10397// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10398func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10399	return nil, false
10400}
10401
10402// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10403func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10404	return nil, false
10405}
10406
10407// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10408func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10409	return nil, false
10410}
10411
10412// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10413func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10414	return nil, false
10415}
10416
10417// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10418func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10419	return nil, false
10420}
10421
10422// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10423func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10424	return nil, false
10425}
10426
10427// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10428func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10429	return nil, false
10430}
10431
10432// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10433func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10434	return nil, false
10435}
10436
10437// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10438func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10439	return nil, false
10440}
10441
10442// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10443func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10444	return nil, false
10445}
10446
10447// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10448func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10449	return nil, false
10450}
10451
10452// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10453func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10454	return nil, false
10455}
10456
10457// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10458func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10459	return nil, false
10460}
10461
10462// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10463func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10464	return nil, false
10465}
10466
10467// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10468func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10469	return nil, false
10470}
10471
10472// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10473func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10474	return nil, false
10475}
10476
10477// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10478func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10479	return nil, false
10480}
10481
10482// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10483func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10484	return nil, false
10485}
10486
10487// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10488func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10489	return nil, false
10490}
10491
10492// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10493func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10494	return nil, false
10495}
10496
10497// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10498func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10499	return nil, false
10500}
10501
10502// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10503func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10504	return nil, false
10505}
10506
10507// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10508func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10509	return nil, false
10510}
10511
10512// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10513func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10514	return nil, false
10515}
10516
10517// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10518func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10519	return nil, false
10520}
10521
10522// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10523func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10524	return nil, false
10525}
10526
10527// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10528func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10529	return nil, false
10530}
10531
10532// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10533func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10534	return nil, false
10535}
10536
10537// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10538func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10539	return nil, false
10540}
10541
10542// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10543func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10544	return nil, false
10545}
10546
10547// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10548func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10549	return nil, false
10550}
10551
10552// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10553func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10554	return nil, false
10555}
10556
10557// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10558func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10559	return nil, false
10560}
10561
10562// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10563func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10564	return nil, false
10565}
10566
10567// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10568func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10569	return nil, false
10570}
10571
10572// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10573func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10574	return nil, false
10575}
10576
10577// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10578func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10579	return nil, false
10580}
10581
10582// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10583func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10584	return nil, false
10585}
10586
10587// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10588func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10589	return nil, false
10590}
10591
10592// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10593func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10594	return nil, false
10595}
10596
10597// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10598func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10599	return nil, false
10600}
10601
10602// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10603func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10604	return nil, false
10605}
10606
10607// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10608func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10609	return nil, false
10610}
10611
10612// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10613func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10614	return nil, false
10615}
10616
10617// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10618func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10619	return nil, false
10620}
10621
10622// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10623func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10624	return nil, false
10625}
10626
10627// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10628func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10629	return nil, false
10630}
10631
10632// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10633func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10634	return nil, false
10635}
10636
10637// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10638func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10639	return nil, false
10640}
10641
10642// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10643func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10644	return nil, false
10645}
10646
10647// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10648func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10649	return nil, false
10650}
10651
10652// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10653func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10654	return nil, false
10655}
10656
10657// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10658func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10659	return nil, false
10660}
10661
10662// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10663func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10664	return nil, false
10665}
10666
10667// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10668func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10669	return nil, false
10670}
10671
10672// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10673func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10674	return nil, false
10675}
10676
10677// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10678func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10679	return &cmsfse, true
10680}
10681
10682// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10683func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10684	return nil, false
10685}
10686
10687// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10688func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10689	return nil, false
10690}
10691
10692// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10693func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10694	return nil, false
10695}
10696
10697// AsFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10698func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10699	return nil, false
10700}
10701
10702// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10703func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10704	return &cmsfse, true
10705}
10706
10707// ChaosParameters defines all the parameters to configure a Chaos run.
10708type ChaosParameters struct {
10709	// 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).
10710	TimeToRunInSeconds *string `json:"TimeToRunInSeconds,omitempty"`
10711	// 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.
10712	// During validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.
10713	MaxClusterStabilizationTimeoutInSeconds *int64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
10714	// MaxConcurrentFaults - MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.
10715	// Chaos executes in iterations and two consecutive iterations are separated by a validation phase.
10716	// The higher the concurrency, the more aggressive the injection of faults -- inducing more complex series of states to uncover bugs.
10717	// The recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.
10718	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
10719	// EnableMoveReplicaFaults - Enables or disables the move primary and move secondary faults.
10720	EnableMoveReplicaFaults *bool `json:"EnableMoveReplicaFaults,omitempty"`
10721	// WaitTimeBetweenFaultsInSeconds - Wait time (in seconds) between consecutive faults within a single iteration.
10722	// The larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.
10723	// The recommendation is to start with a value between 1 and 5 and exercise caution while moving up.
10724	WaitTimeBetweenFaultsInSeconds *int64 `json:"WaitTimeBetweenFaultsInSeconds,omitempty"`
10725	// WaitTimeBetweenIterationsInSeconds - Time-separation (in seconds) between two consecutive iterations of Chaos.
10726	// The larger the value, the lower the fault injection rate.
10727	WaitTimeBetweenIterationsInSeconds *int64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
10728	// 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.
10729	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
10730	// Context - Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about
10731	// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.
10732	// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
10733	Context *ChaosContext `json:"Context,omitempty"`
10734	// ChaosTargetFilter - List of cluster entities to target for Chaos faults.
10735	// 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.
10736	// If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification.
10737	ChaosTargetFilter *ChaosTargetFilter `json:"ChaosTargetFilter,omitempty"`
10738}
10739
10740// ChaosParametersDictionaryItem defines an item in ChaosParametersDictionary of the Chaos Schedule.
10741type ChaosParametersDictionaryItem struct {
10742	// Key - The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs.
10743	Key *string `json:"Key,omitempty"`
10744	// Value - Defines all the parameters to configure a Chaos run.
10745	Value *ChaosParameters `json:"Value,omitempty"`
10746}
10747
10748// ChaosRemoveReplicaFaultCompletedEvent chaos Remove Replica Fault Completed event.
10749type ChaosRemoveReplicaFaultCompletedEvent struct {
10750	// FaultGroupID - Id of fault group.
10751	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
10752	// FaultID - Id of fault.
10753	FaultID *uuid.UUID `json:"FaultId,omitempty"`
10754	// ServiceURI - Service name.
10755	ServiceURI *string `json:"ServiceUri,omitempty"`
10756	// 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.
10757	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
10758	// 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.
10759	ReplicaID *int64 `json:"ReplicaId,omitempty"`
10760	// EventInstanceID - The identifier for the FabricEvent instance.
10761	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10762	// TimeStamp - The time event was logged.
10763	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10764	// HasCorrelatedEvents - Shows there is existing related events available.
10765	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10766	// 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'
10767	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10768}
10769
10770// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultCompletedEvent.
10771func (crrfce ChaosRemoveReplicaFaultCompletedEvent) MarshalJSON() ([]byte, error) {
10772	crrfce.Kind = KindChaosRemoveReplicaFaultCompleted
10773	objectMap := make(map[string]interface{})
10774	if crrfce.FaultGroupID != nil {
10775		objectMap["FaultGroupId"] = crrfce.FaultGroupID
10776	}
10777	if crrfce.FaultID != nil {
10778		objectMap["FaultId"] = crrfce.FaultID
10779	}
10780	if crrfce.ServiceURI != nil {
10781		objectMap["ServiceUri"] = crrfce.ServiceURI
10782	}
10783	if crrfce.PartitionID != nil {
10784		objectMap["PartitionId"] = crrfce.PartitionID
10785	}
10786	if crrfce.ReplicaID != nil {
10787		objectMap["ReplicaId"] = crrfce.ReplicaID
10788	}
10789	if crrfce.EventInstanceID != nil {
10790		objectMap["EventInstanceId"] = crrfce.EventInstanceID
10791	}
10792	if crrfce.TimeStamp != nil {
10793		objectMap["TimeStamp"] = crrfce.TimeStamp
10794	}
10795	if crrfce.HasCorrelatedEvents != nil {
10796		objectMap["HasCorrelatedEvents"] = crrfce.HasCorrelatedEvents
10797	}
10798	if crrfce.Kind != "" {
10799		objectMap["Kind"] = crrfce.Kind
10800	}
10801	return json.Marshal(objectMap)
10802}
10803
10804// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10805func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10806	return nil, false
10807}
10808
10809// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10810func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10811	return nil, false
10812}
10813
10814// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10815func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
10816	return nil, false
10817}
10818
10819// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10820func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10821	return nil, false
10822}
10823
10824// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10825func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10826	return nil, false
10827}
10828
10829// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10830func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
10831	return nil, false
10832}
10833
10834// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10835func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10836	return nil, false
10837}
10838
10839// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10840func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10841	return nil, false
10842}
10843
10844// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10845func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10846	return nil, false
10847}
10848
10849// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10850func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10851	return nil, false
10852}
10853
10854// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10855func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10856	return nil, false
10857}
10858
10859// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10860func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10861	return nil, false
10862}
10863
10864// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10865func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10866	return &crrfce, true
10867}
10868
10869// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10870func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
10871	return nil, false
10872}
10873
10874// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10875func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10876	return nil, false
10877}
10878
10879// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10880func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10881	return nil, false
10882}
10883
10884// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10885func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10886	return nil, false
10887}
10888
10889// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10890func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10891	return nil, false
10892}
10893
10894// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10895func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10896	return nil, false
10897}
10898
10899// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10900func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10901	return nil, false
10902}
10903
10904// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10905func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10906	return nil, false
10907}
10908
10909// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10910func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10911	return nil, false
10912}
10913
10914// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10915func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10916	return nil, false
10917}
10918
10919// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10920func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10921	return nil, false
10922}
10923
10924// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10925func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10926	return nil, false
10927}
10928
10929// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10930func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10931	return nil, false
10932}
10933
10934// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10935func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10936	return nil, false
10937}
10938
10939// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10940func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10941	return nil, false
10942}
10943
10944// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10945func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10946	return nil, false
10947}
10948
10949// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10950func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10951	return nil, false
10952}
10953
10954// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10955func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10956	return nil, false
10957}
10958
10959// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10960func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10961	return nil, false
10962}
10963
10964// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10965func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10966	return nil, false
10967}
10968
10969// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10970func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10971	return nil, false
10972}
10973
10974// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10975func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10976	return nil, false
10977}
10978
10979// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10980func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10981	return nil, false
10982}
10983
10984// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10985func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10986	return nil, false
10987}
10988
10989// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10990func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10991	return nil, false
10992}
10993
10994// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10995func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10996	return nil, false
10997}
10998
10999// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11000func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11001	return nil, false
11002}
11003
11004// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11005func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11006	return nil, false
11007}
11008
11009// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11010func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11011	return nil, false
11012}
11013
11014// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11015func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11016	return nil, false
11017}
11018
11019// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11020func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11021	return nil, false
11022}
11023
11024// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11025func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11026	return nil, false
11027}
11028
11029// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11030func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11031	return nil, false
11032}
11033
11034// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11035func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11036	return nil, false
11037}
11038
11039// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11040func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11041	return nil, false
11042}
11043
11044// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11045func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11046	return nil, false
11047}
11048
11049// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11050func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11051	return nil, false
11052}
11053
11054// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11055func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11056	return nil, false
11057}
11058
11059// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11060func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11061	return nil, false
11062}
11063
11064// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11065func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11066	return nil, false
11067}
11068
11069// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11070func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11071	return nil, false
11072}
11073
11074// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11075func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11076	return nil, false
11077}
11078
11079// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11080func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11081	return nil, false
11082}
11083
11084// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11085func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11086	return nil, false
11087}
11088
11089// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11090func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11091	return nil, false
11092}
11093
11094// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11095func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11096	return nil, false
11097}
11098
11099// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11100func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11101	return nil, false
11102}
11103
11104// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11105func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11106	return nil, false
11107}
11108
11109// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11110func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11111	return nil, false
11112}
11113
11114// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11115func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11116	return nil, false
11117}
11118
11119// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11120func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11121	return nil, false
11122}
11123
11124// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11125func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11126	return nil, false
11127}
11128
11129// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11130func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11131	return nil, false
11132}
11133
11134// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11135func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11136	return nil, false
11137}
11138
11139// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11140func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11141	return nil, false
11142}
11143
11144// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11145func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11146	return nil, false
11147}
11148
11149// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11150func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11151	return nil, false
11152}
11153
11154// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11155func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11156	return &crrfce, true
11157}
11158
11159// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11160func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11161	return nil, false
11162}
11163
11164// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11165func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11166	return nil, false
11167}
11168
11169// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11170func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11171	return nil, false
11172}
11173
11174// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11175func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11176	return nil, false
11177}
11178
11179// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11180func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
11181	return nil, false
11182}
11183
11184// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11185func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11186	return &crrfce, true
11187}
11188
11189// ChaosRemoveReplicaFaultScheduledEvent chaos Remove Replica Fault Scheduled event.
11190type ChaosRemoveReplicaFaultScheduledEvent struct {
11191	// FaultGroupID - Id of fault group.
11192	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
11193	// FaultID - Id of fault.
11194	FaultID *uuid.UUID `json:"FaultId,omitempty"`
11195	// ServiceURI - Service name.
11196	ServiceURI *string `json:"ServiceUri,omitempty"`
11197	// 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.
11198	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
11199	// 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.
11200	ReplicaID *int64 `json:"ReplicaId,omitempty"`
11201	// EventInstanceID - The identifier for the FabricEvent instance.
11202	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
11203	// TimeStamp - The time event was logged.
11204	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
11205	// HasCorrelatedEvents - Shows there is existing related events available.
11206	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
11207	// 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'
11208	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
11209}
11210
11211// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultScheduledEvent.
11212func (crrfse ChaosRemoveReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
11213	crrfse.Kind = KindChaosRemoveReplicaFaultScheduled
11214	objectMap := make(map[string]interface{})
11215	if crrfse.FaultGroupID != nil {
11216		objectMap["FaultGroupId"] = crrfse.FaultGroupID
11217	}
11218	if crrfse.FaultID != nil {
11219		objectMap["FaultId"] = crrfse.FaultID
11220	}
11221	if crrfse.ServiceURI != nil {
11222		objectMap["ServiceUri"] = crrfse.ServiceURI
11223	}
11224	if crrfse.PartitionID != nil {
11225		objectMap["PartitionId"] = crrfse.PartitionID
11226	}
11227	if crrfse.ReplicaID != nil {
11228		objectMap["ReplicaId"] = crrfse.ReplicaID
11229	}
11230	if crrfse.EventInstanceID != nil {
11231		objectMap["EventInstanceId"] = crrfse.EventInstanceID
11232	}
11233	if crrfse.TimeStamp != nil {
11234		objectMap["TimeStamp"] = crrfse.TimeStamp
11235	}
11236	if crrfse.HasCorrelatedEvents != nil {
11237		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
11238	}
11239	if crrfse.Kind != "" {
11240		objectMap["Kind"] = crrfse.Kind
11241	}
11242	return json.Marshal(objectMap)
11243}
11244
11245// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11246func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
11247	return nil, false
11248}
11249
11250// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11251func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
11252	return nil, false
11253}
11254
11255// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11256func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
11257	return nil, false
11258}
11259
11260// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11261func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
11262	return nil, false
11263}
11264
11265// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11266func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
11267	return nil, false
11268}
11269
11270// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11271func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
11272	return nil, false
11273}
11274
11275// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11276func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
11277	return nil, false
11278}
11279
11280// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11281func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11282	return nil, false
11283}
11284
11285// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11286func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11287	return nil, false
11288}
11289
11290// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11291func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11292	return nil, false
11293}
11294
11295// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11296func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11297	return nil, false
11298}
11299
11300// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11301func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11302	return nil, false
11303}
11304
11305// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11306func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11307	return &crrfse, true
11308}
11309
11310// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11311func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
11312	return nil, false
11313}
11314
11315// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11316func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11317	return nil, false
11318}
11319
11320// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11321func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11322	return nil, false
11323}
11324
11325// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11326func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11327	return nil, false
11328}
11329
11330// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11331func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11332	return nil, false
11333}
11334
11335// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11336func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11337	return nil, false
11338}
11339
11340// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11341func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11342	return nil, false
11343}
11344
11345// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11346func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11347	return nil, false
11348}
11349
11350// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11351func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11352	return nil, false
11353}
11354
11355// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11356func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11357	return nil, false
11358}
11359
11360// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11361func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11362	return nil, false
11363}
11364
11365// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11366func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
11367	return nil, false
11368}
11369
11370// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11371func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11372	return nil, false
11373}
11374
11375// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11376func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11377	return nil, false
11378}
11379
11380// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11381func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11382	return nil, false
11383}
11384
11385// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11386func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11387	return nil, false
11388}
11389
11390// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11391func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11392	return nil, false
11393}
11394
11395// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11396func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11397	return nil, false
11398}
11399
11400// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11401func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11402	return nil, false
11403}
11404
11405// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11406func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11407	return nil, false
11408}
11409
11410// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11411func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11412	return nil, false
11413}
11414
11415// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11416func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11417	return nil, false
11418}
11419
11420// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11421func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11422	return nil, false
11423}
11424
11425// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11426func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11427	return nil, false
11428}
11429
11430// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11431func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11432	return nil, false
11433}
11434
11435// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11436func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11437	return nil, false
11438}
11439
11440// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11441func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11442	return nil, false
11443}
11444
11445// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11446func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11447	return nil, false
11448}
11449
11450// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11451func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11452	return nil, false
11453}
11454
11455// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11456func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11457	return nil, false
11458}
11459
11460// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11461func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11462	return nil, false
11463}
11464
11465// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11466func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11467	return nil, false
11468}
11469
11470// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11471func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11472	return nil, false
11473}
11474
11475// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11476func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11477	return nil, false
11478}
11479
11480// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11481func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11482	return nil, false
11483}
11484
11485// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11486func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11487	return nil, false
11488}
11489
11490// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11491func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11492	return nil, false
11493}
11494
11495// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11496func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11497	return nil, false
11498}
11499
11500// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11501func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11502	return nil, false
11503}
11504
11505// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11506func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11507	return nil, false
11508}
11509
11510// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11511func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11512	return nil, false
11513}
11514
11515// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11516func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11517	return nil, false
11518}
11519
11520// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11521func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11522	return nil, false
11523}
11524
11525// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11526func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11527	return nil, false
11528}
11529
11530// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11531func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11532	return nil, false
11533}
11534
11535// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11536func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11537	return nil, false
11538}
11539
11540// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11541func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11542	return nil, false
11543}
11544
11545// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11546func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11547	return nil, false
11548}
11549
11550// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11551func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11552	return nil, false
11553}
11554
11555// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11556func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11557	return nil, false
11558}
11559
11560// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11561func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11562	return nil, false
11563}
11564
11565// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11566func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11567	return nil, false
11568}
11569
11570// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11571func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11572	return nil, false
11573}
11574
11575// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11576func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11577	return nil, false
11578}
11579
11580// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11581func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11582	return nil, false
11583}
11584
11585// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11586func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11587	return nil, false
11588}
11589
11590// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11591func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11592	return &crrfse, true
11593}
11594
11595// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11596func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11597	return nil, false
11598}
11599
11600// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11601func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11602	return nil, false
11603}
11604
11605// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11606func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11607	return nil, false
11608}
11609
11610// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11611func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11612	return nil, false
11613}
11614
11615// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11616func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11617	return nil, false
11618}
11619
11620// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11621func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
11622	return nil, false
11623}
11624
11625// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11626func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11627	return &crrfse, true
11628}
11629
11630// ChaosRestartCodePackageFaultCompletedEvent chaos Restart Code Package Fault Completed event.
11631type ChaosRestartCodePackageFaultCompletedEvent struct {
11632	// FaultGroupID - Id of fault group.
11633	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
11634	// FaultID - Id of fault.
11635	FaultID *uuid.UUID `json:"FaultId,omitempty"`
11636	// NodeName - The name of a Service Fabric node.
11637	NodeName *string `json:"NodeName,omitempty"`
11638	// ServiceManifestName - Service manifest name.
11639	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
11640	// CodePackageName - Code package name.
11641	CodePackageName *string `json:"CodePackageName,omitempty"`
11642	// ServicePackageActivationID - Id of Service package activation.
11643	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
11644	// 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.
11645	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
11646	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
11647	ApplicationID *string `json:"ApplicationId,omitempty"`
11648	// EventInstanceID - The identifier for the FabricEvent instance.
11649	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
11650	// TimeStamp - The time event was logged.
11651	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
11652	// HasCorrelatedEvents - Shows there is existing related events available.
11653	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
11654	// 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'
11655	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
11656}
11657
11658// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultCompletedEvent.
11659func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) MarshalJSON() ([]byte, error) {
11660	crcpfce.Kind = KindChaosRestartCodePackageFaultCompleted
11661	objectMap := make(map[string]interface{})
11662	if crcpfce.FaultGroupID != nil {
11663		objectMap["FaultGroupId"] = crcpfce.FaultGroupID
11664	}
11665	if crcpfce.FaultID != nil {
11666		objectMap["FaultId"] = crcpfce.FaultID
11667	}
11668	if crcpfce.NodeName != nil {
11669		objectMap["NodeName"] = crcpfce.NodeName
11670	}
11671	if crcpfce.ServiceManifestName != nil {
11672		objectMap["ServiceManifestName"] = crcpfce.ServiceManifestName
11673	}
11674	if crcpfce.CodePackageName != nil {
11675		objectMap["CodePackageName"] = crcpfce.CodePackageName
11676	}
11677	if crcpfce.ServicePackageActivationID != nil {
11678		objectMap["ServicePackageActivationId"] = crcpfce.ServicePackageActivationID
11679	}
11680	if crcpfce.ApplicationID != nil {
11681		objectMap["ApplicationId"] = crcpfce.ApplicationID
11682	}
11683	if crcpfce.EventInstanceID != nil {
11684		objectMap["EventInstanceId"] = crcpfce.EventInstanceID
11685	}
11686	if crcpfce.TimeStamp != nil {
11687		objectMap["TimeStamp"] = crcpfce.TimeStamp
11688	}
11689	if crcpfce.HasCorrelatedEvents != nil {
11690		objectMap["HasCorrelatedEvents"] = crcpfce.HasCorrelatedEvents
11691	}
11692	if crcpfce.Kind != "" {
11693		objectMap["Kind"] = crcpfce.Kind
11694	}
11695	return json.Marshal(objectMap)
11696}
11697
11698// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11699func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
11700	return nil, false
11701}
11702
11703// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11704func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
11705	return &crcpfce, true
11706}
11707
11708// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11709func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
11710	return nil, false
11711}
11712
11713// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11714func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
11715	return nil, false
11716}
11717
11718// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11719func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
11720	return nil, false
11721}
11722
11723// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11724func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
11725	return nil, false
11726}
11727
11728// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11729func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
11730	return nil, false
11731}
11732
11733// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11734func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11735	return nil, false
11736}
11737
11738// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11739func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11740	return nil, false
11741}
11742
11743// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11744func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11745	return nil, false
11746}
11747
11748// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11749func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11750	return nil, false
11751}
11752
11753// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11754func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11755	return nil, false
11756}
11757
11758// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11759func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11760	return nil, false
11761}
11762
11763// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11764func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
11765	return nil, false
11766}
11767
11768// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11769func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11770	return nil, false
11771}
11772
11773// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11774func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11775	return nil, false
11776}
11777
11778// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11779func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11780	return nil, false
11781}
11782
11783// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11784func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11785	return nil, false
11786}
11787
11788// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11789func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11790	return nil, false
11791}
11792
11793// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11794func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11795	return nil, false
11796}
11797
11798// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11799func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11800	return nil, false
11801}
11802
11803// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11804func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11805	return nil, false
11806}
11807
11808// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11809func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11810	return nil, false
11811}
11812
11813// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11814func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11815	return nil, false
11816}
11817
11818// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11819func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
11820	return nil, false
11821}
11822
11823// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11824func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11825	return nil, false
11826}
11827
11828// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11829func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11830	return nil, false
11831}
11832
11833// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11834func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11835	return nil, false
11836}
11837
11838// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11839func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11840	return nil, false
11841}
11842
11843// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11844func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11845	return nil, false
11846}
11847
11848// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11849func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11850	return nil, false
11851}
11852
11853// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11854func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11855	return nil, false
11856}
11857
11858// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11859func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11860	return nil, false
11861}
11862
11863// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11864func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11865	return nil, false
11866}
11867
11868// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11869func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11870	return nil, false
11871}
11872
11873// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11874func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11875	return nil, false
11876}
11877
11878// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11879func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11880	return nil, false
11881}
11882
11883// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11884func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11885	return nil, false
11886}
11887
11888// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11889func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11890	return nil, false
11891}
11892
11893// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11894func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11895	return nil, false
11896}
11897
11898// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11899func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11900	return nil, false
11901}
11902
11903// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11904func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11905	return nil, false
11906}
11907
11908// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11909func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11910	return nil, false
11911}
11912
11913// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11914func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11915	return nil, false
11916}
11917
11918// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11919func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11920	return nil, false
11921}
11922
11923// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11924func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11925	return nil, false
11926}
11927
11928// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11929func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11930	return nil, false
11931}
11932
11933// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11934func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11935	return nil, false
11936}
11937
11938// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11939func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11940	return nil, false
11941}
11942
11943// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11944func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11945	return nil, false
11946}
11947
11948// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11949func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11950	return nil, false
11951}
11952
11953// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11954func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11955	return nil, false
11956}
11957
11958// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11959func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11960	return nil, false
11961}
11962
11963// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11964func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11965	return nil, false
11966}
11967
11968// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11969func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11970	return nil, false
11971}
11972
11973// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11974func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11975	return nil, false
11976}
11977
11978// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11979func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11980	return nil, false
11981}
11982
11983// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11984func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11985	return nil, false
11986}
11987
11988// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11989func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11990	return nil, false
11991}
11992
11993// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11994func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11995	return nil, false
11996}
11997
11998// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11999func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12000	return nil, false
12001}
12002
12003// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12004func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12005	return nil, false
12006}
12007
12008// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12009func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12010	return nil, false
12011}
12012
12013// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12014func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12015	return nil, false
12016}
12017
12018// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12019func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
12020	return nil, false
12021}
12022
12023// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12024func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
12025	return nil, false
12026}
12027
12028// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12029func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
12030	return nil, false
12031}
12032
12033// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12034func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
12035	return nil, false
12036}
12037
12038// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12039func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
12040	return &crcpfce, true
12041}
12042
12043// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12044func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
12045	return nil, false
12046}
12047
12048// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12049func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
12050	return nil, false
12051}
12052
12053// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12054func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
12055	return nil, false
12056}
12057
12058// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12059func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
12060	return nil, false
12061}
12062
12063// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12064func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
12065	return nil, false
12066}
12067
12068// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12069func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
12070	return nil, false
12071}
12072
12073// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12074func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
12075	return nil, false
12076}
12077
12078// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12079func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
12080	return &crcpfce, true
12081}
12082
12083// ChaosRestartCodePackageFaultScheduledEvent chaos Restart Code Package Fault Scheduled event.
12084type ChaosRestartCodePackageFaultScheduledEvent struct {
12085	// FaultGroupID - Id of fault group.
12086	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
12087	// FaultID - Id of fault.
12088	FaultID *uuid.UUID `json:"FaultId,omitempty"`
12089	// NodeName - The name of a Service Fabric node.
12090	NodeName *string `json:"NodeName,omitempty"`
12091	// ServiceManifestName - Service manifest name.
12092	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
12093	// CodePackageName - Code package name.
12094	CodePackageName *string `json:"CodePackageName,omitempty"`
12095	// ServicePackageActivationID - Id of Service package activation.
12096	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
12097	// 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.
12098	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
12099	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
12100	ApplicationID *string `json:"ApplicationId,omitempty"`
12101	// EventInstanceID - The identifier for the FabricEvent instance.
12102	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12103	// TimeStamp - The time event was logged.
12104	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12105	// HasCorrelatedEvents - Shows there is existing related events available.
12106	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12107	// 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'
12108	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12109}
12110
12111// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultScheduledEvent.
12112func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) MarshalJSON() ([]byte, error) {
12113	crcpfse.Kind = KindChaosRestartCodePackageFaultScheduled
12114	objectMap := make(map[string]interface{})
12115	if crcpfse.FaultGroupID != nil {
12116		objectMap["FaultGroupId"] = crcpfse.FaultGroupID
12117	}
12118	if crcpfse.FaultID != nil {
12119		objectMap["FaultId"] = crcpfse.FaultID
12120	}
12121	if crcpfse.NodeName != nil {
12122		objectMap["NodeName"] = crcpfse.NodeName
12123	}
12124	if crcpfse.ServiceManifestName != nil {
12125		objectMap["ServiceManifestName"] = crcpfse.ServiceManifestName
12126	}
12127	if crcpfse.CodePackageName != nil {
12128		objectMap["CodePackageName"] = crcpfse.CodePackageName
12129	}
12130	if crcpfse.ServicePackageActivationID != nil {
12131		objectMap["ServicePackageActivationId"] = crcpfse.ServicePackageActivationID
12132	}
12133	if crcpfse.ApplicationID != nil {
12134		objectMap["ApplicationId"] = crcpfse.ApplicationID
12135	}
12136	if crcpfse.EventInstanceID != nil {
12137		objectMap["EventInstanceId"] = crcpfse.EventInstanceID
12138	}
12139	if crcpfse.TimeStamp != nil {
12140		objectMap["TimeStamp"] = crcpfse.TimeStamp
12141	}
12142	if crcpfse.HasCorrelatedEvents != nil {
12143		objectMap["HasCorrelatedEvents"] = crcpfse.HasCorrelatedEvents
12144	}
12145	if crcpfse.Kind != "" {
12146		objectMap["Kind"] = crcpfse.Kind
12147	}
12148	return json.Marshal(objectMap)
12149}
12150
12151// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12152func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12153	return nil, false
12154}
12155
12156// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12157func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12158	return &crcpfse, true
12159}
12160
12161// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12162func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
12163	return nil, false
12164}
12165
12166// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12167func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12168	return nil, false
12169}
12170
12171// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12172func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12173	return nil, false
12174}
12175
12176// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12177func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
12178	return nil, false
12179}
12180
12181// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12182func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12183	return nil, false
12184}
12185
12186// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12187func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12188	return nil, false
12189}
12190
12191// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12192func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12193	return nil, false
12194}
12195
12196// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12197func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12198	return nil, false
12199}
12200
12201// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12202func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12203	return nil, false
12204}
12205
12206// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12207func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12208	return nil, false
12209}
12210
12211// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12212func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12213	return nil, false
12214}
12215
12216// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12217func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
12218	return nil, false
12219}
12220
12221// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12222func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12223	return nil, false
12224}
12225
12226// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12227func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12228	return nil, false
12229}
12230
12231// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12232func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12233	return nil, false
12234}
12235
12236// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12237func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12238	return nil, false
12239}
12240
12241// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12242func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12243	return nil, false
12244}
12245
12246// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12247func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12248	return nil, false
12249}
12250
12251// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12252func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12253	return nil, false
12254}
12255
12256// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12257func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12258	return nil, false
12259}
12260
12261// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12262func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12263	return nil, false
12264}
12265
12266// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12267func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12268	return nil, false
12269}
12270
12271// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12272func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12273	return nil, false
12274}
12275
12276// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12277func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12278	return nil, false
12279}
12280
12281// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12282func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12283	return nil, false
12284}
12285
12286// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12287func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12288	return nil, false
12289}
12290
12291// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12292func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12293	return nil, false
12294}
12295
12296// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12297func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12298	return nil, false
12299}
12300
12301// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12302func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12303	return nil, false
12304}
12305
12306// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12307func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12308	return nil, false
12309}
12310
12311// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12312func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12313	return nil, false
12314}
12315
12316// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12317func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12318	return nil, false
12319}
12320
12321// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12322func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12323	return nil, false
12324}
12325
12326// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12327func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12328	return nil, false
12329}
12330
12331// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12332func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12333	return nil, false
12334}
12335
12336// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12337func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12338	return nil, false
12339}
12340
12341// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12342func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12343	return nil, false
12344}
12345
12346// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12347func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12348	return nil, false
12349}
12350
12351// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12352func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12353	return nil, false
12354}
12355
12356// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12357func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12358	return nil, false
12359}
12360
12361// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12362func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12363	return nil, false
12364}
12365
12366// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12367func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12368	return nil, false
12369}
12370
12371// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12372func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12373	return nil, false
12374}
12375
12376// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12377func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12378	return nil, false
12379}
12380
12381// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12382func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
12383	return nil, false
12384}
12385
12386// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12387func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
12388	return nil, false
12389}
12390
12391// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12392func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
12393	return nil, false
12394}
12395
12396// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12397func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
12398	return nil, false
12399}
12400
12401// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12402func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
12403	return nil, false
12404}
12405
12406// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12407func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
12408	return nil, false
12409}
12410
12411// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12412func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
12413	return nil, false
12414}
12415
12416// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12417func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
12418	return nil, false
12419}
12420
12421// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12422func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
12423	return nil, false
12424}
12425
12426// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12427func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
12428	return nil, false
12429}
12430
12431// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12432func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
12433	return nil, false
12434}
12435
12436// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12437func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
12438	return nil, false
12439}
12440
12441// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12442func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
12443	return nil, false
12444}
12445
12446// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12447func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
12448	return nil, false
12449}
12450
12451// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12452func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12453	return nil, false
12454}
12455
12456// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12457func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12458	return nil, false
12459}
12460
12461// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12462func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12463	return nil, false
12464}
12465
12466// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12467func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12468	return nil, false
12469}
12470
12471// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12472func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
12473	return nil, false
12474}
12475
12476// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12477func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
12478	return nil, false
12479}
12480
12481// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12482func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
12483	return nil, false
12484}
12485
12486// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12487func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
12488	return &crcpfse, true
12489}
12490
12491// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12492func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
12493	return nil, false
12494}
12495
12496// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12497func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
12498	return nil, false
12499}
12500
12501// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12502func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
12503	return nil, false
12504}
12505
12506// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12507func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
12508	return nil, false
12509}
12510
12511// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12512func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
12513	return nil, false
12514}
12515
12516// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12517func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
12518	return nil, false
12519}
12520
12521// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12522func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
12523	return nil, false
12524}
12525
12526// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12527func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
12528	return nil, false
12529}
12530
12531// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12532func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
12533	return &crcpfse, true
12534}
12535
12536// ChaosRestartNodeFaultCompletedEvent chaos Restart Node Fault Completed event.
12537type ChaosRestartNodeFaultCompletedEvent struct {
12538	// NodeInstanceID - Id of Node instance.
12539	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
12540	// FaultGroupID - Id of fault group.
12541	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
12542	// FaultID - Id of fault.
12543	FaultID *uuid.UUID `json:"FaultId,omitempty"`
12544	// NodeName - The name of a Service Fabric node.
12545	NodeName *string `json:"NodeName,omitempty"`
12546	// EventInstanceID - The identifier for the FabricEvent instance.
12547	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12548	// TimeStamp - The time event was logged.
12549	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12550	// HasCorrelatedEvents - Shows there is existing related events available.
12551	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12552	// 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'
12553	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12554}
12555
12556// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultCompletedEvent.
12557func (crnfce ChaosRestartNodeFaultCompletedEvent) MarshalJSON() ([]byte, error) {
12558	crnfce.Kind = KindChaosRestartNodeFaultCompleted
12559	objectMap := make(map[string]interface{})
12560	if crnfce.NodeInstanceID != nil {
12561		objectMap["NodeInstanceId"] = crnfce.NodeInstanceID
12562	}
12563	if crnfce.FaultGroupID != nil {
12564		objectMap["FaultGroupId"] = crnfce.FaultGroupID
12565	}
12566	if crnfce.FaultID != nil {
12567		objectMap["FaultId"] = crnfce.FaultID
12568	}
12569	if crnfce.NodeName != nil {
12570		objectMap["NodeName"] = crnfce.NodeName
12571	}
12572	if crnfce.EventInstanceID != nil {
12573		objectMap["EventInstanceId"] = crnfce.EventInstanceID
12574	}
12575	if crnfce.TimeStamp != nil {
12576		objectMap["TimeStamp"] = crnfce.TimeStamp
12577	}
12578	if crnfce.HasCorrelatedEvents != nil {
12579		objectMap["HasCorrelatedEvents"] = crnfce.HasCorrelatedEvents
12580	}
12581	if crnfce.Kind != "" {
12582		objectMap["Kind"] = crnfce.Kind
12583	}
12584	return json.Marshal(objectMap)
12585}
12586
12587// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12588func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12589	return nil, false
12590}
12591
12592// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12593func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12594	return nil, false
12595}
12596
12597// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12598func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
12599	return nil, false
12600}
12601
12602// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12603func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12604	return nil, false
12605}
12606
12607// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12608func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12609	return nil, false
12610}
12611
12612// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12613func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
12614	return nil, false
12615}
12616
12617// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12618func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12619	return &crnfce, true
12620}
12621
12622// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12623func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12624	return nil, false
12625}
12626
12627// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12628func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12629	return nil, false
12630}
12631
12632// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12633func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12634	return nil, false
12635}
12636
12637// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12638func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12639	return nil, false
12640}
12641
12642// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12643func (crnfce ChaosRestartNodeFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12644	return nil, false
12645}
12646
12647// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12648func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12649	return nil, false
12650}
12651
12652// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12653func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
12654	return nil, false
12655}
12656
12657// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12658func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12659	return nil, false
12660}
12661
12662// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12663func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12664	return nil, false
12665}
12666
12667// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12668func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12669	return nil, false
12670}
12671
12672// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12673func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12674	return nil, false
12675}
12676
12677// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12678func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12679	return nil, false
12680}
12681
12682// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12683func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12684	return nil, false
12685}
12686
12687// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12688func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12689	return nil, false
12690}
12691
12692// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12693func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12694	return nil, false
12695}
12696
12697// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12698func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12699	return nil, false
12700}
12701
12702// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12703func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12704	return nil, false
12705}
12706
12707// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12708func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12709	return nil, false
12710}
12711
12712// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12713func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12714	return nil, false
12715}
12716
12717// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12718func (crnfce ChaosRestartNodeFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12719	return nil, false
12720}
12721
12722// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12723func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12724	return nil, false
12725}
12726
12727// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12728func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12729	return nil, false
12730}
12731
12732// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12733func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12734	return nil, false
12735}
12736
12737// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12738func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12739	return nil, false
12740}
12741
12742// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12743func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12744	return nil, false
12745}
12746
12747// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12748func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12749	return nil, false
12750}
12751
12752// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12753func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12754	return nil, false
12755}
12756
12757// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12758func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12759	return nil, false
12760}
12761
12762// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12763func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12764	return nil, false
12765}
12766
12767// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12768func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12769	return nil, false
12770}
12771
12772// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12773func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12774	return nil, false
12775}
12776
12777// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12778func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12779	return nil, false
12780}
12781
12782// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12783func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12784	return nil, false
12785}
12786
12787// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12788func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12789	return nil, false
12790}
12791
12792// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12793func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12794	return nil, false
12795}
12796
12797// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12798func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12799	return nil, false
12800}
12801
12802// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12803func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12804	return nil, false
12805}
12806
12807// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12808func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12809	return nil, false
12810}
12811
12812// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12813func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12814	return nil, false
12815}
12816
12817// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12818func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
12819	return nil, false
12820}
12821
12822// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12823func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
12824	return nil, false
12825}
12826
12827// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12828func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
12829	return nil, false
12830}
12831
12832// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12833func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
12834	return nil, false
12835}
12836
12837// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12838func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
12839	return nil, false
12840}
12841
12842// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12843func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
12844	return nil, false
12845}
12846
12847// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12848func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
12849	return nil, false
12850}
12851
12852// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12853func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
12854	return nil, false
12855}
12856
12857// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12858func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
12859	return nil, false
12860}
12861
12862// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12863func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
12864	return nil, false
12865}
12866
12867// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12868func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
12869	return nil, false
12870}
12871
12872// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12873func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
12874	return nil, false
12875}
12876
12877// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12878func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
12879	return nil, false
12880}
12881
12882// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12883func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
12884	return nil, false
12885}
12886
12887// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12888func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12889	return nil, false
12890}
12891
12892// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12893func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12894	return nil, false
12895}
12896
12897// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12898func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12899	return nil, false
12900}
12901
12902// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12903func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12904	return nil, false
12905}
12906
12907// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12908func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
12909	return nil, false
12910}
12911
12912// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12913func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
12914	return nil, false
12915}
12916
12917// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12918func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
12919	return &crnfce, true
12920}
12921
12922// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12923func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
12924	return nil, false
12925}
12926
12927// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12928func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
12929	return nil, false
12930}
12931
12932// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12933func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
12934	return nil, false
12935}
12936
12937// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12938func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
12939	return nil, false
12940}
12941
12942// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12943func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
12944	return nil, false
12945}
12946
12947// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12948func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
12949	return nil, false
12950}
12951
12952// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12953func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
12954	return nil, false
12955}
12956
12957// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12958func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
12959	return nil, false
12960}
12961
12962// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12963func (crnfce ChaosRestartNodeFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
12964	return nil, false
12965}
12966
12967// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12968func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
12969	return &crnfce, true
12970}
12971
12972// ChaosRestartNodeFaultScheduledEvent chaos Restart Node Fault Scheduled event.
12973type ChaosRestartNodeFaultScheduledEvent struct {
12974	// NodeInstanceID - Id of Node instance.
12975	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
12976	// FaultGroupID - Id of fault group.
12977	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
12978	// FaultID - Id of fault.
12979	FaultID *uuid.UUID `json:"FaultId,omitempty"`
12980	// NodeName - The name of a Service Fabric node.
12981	NodeName *string `json:"NodeName,omitempty"`
12982	// EventInstanceID - The identifier for the FabricEvent instance.
12983	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12984	// TimeStamp - The time event was logged.
12985	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12986	// HasCorrelatedEvents - Shows there is existing related events available.
12987	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12988	// 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'
12989	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12990}
12991
12992// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultScheduledEvent.
12993func (crnfse ChaosRestartNodeFaultScheduledEvent) MarshalJSON() ([]byte, error) {
12994	crnfse.Kind = KindChaosRestartNodeFaultScheduled
12995	objectMap := make(map[string]interface{})
12996	if crnfse.NodeInstanceID != nil {
12997		objectMap["NodeInstanceId"] = crnfse.NodeInstanceID
12998	}
12999	if crnfse.FaultGroupID != nil {
13000		objectMap["FaultGroupId"] = crnfse.FaultGroupID
13001	}
13002	if crnfse.FaultID != nil {
13003		objectMap["FaultId"] = crnfse.FaultID
13004	}
13005	if crnfse.NodeName != nil {
13006		objectMap["NodeName"] = crnfse.NodeName
13007	}
13008	if crnfse.EventInstanceID != nil {
13009		objectMap["EventInstanceId"] = crnfse.EventInstanceID
13010	}
13011	if crnfse.TimeStamp != nil {
13012		objectMap["TimeStamp"] = crnfse.TimeStamp
13013	}
13014	if crnfse.HasCorrelatedEvents != nil {
13015		objectMap["HasCorrelatedEvents"] = crnfse.HasCorrelatedEvents
13016	}
13017	if crnfse.Kind != "" {
13018		objectMap["Kind"] = crnfse.Kind
13019	}
13020	return json.Marshal(objectMap)
13021}
13022
13023// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13024func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13025	return nil, false
13026}
13027
13028// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13029func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13030	return nil, false
13031}
13032
13033// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13034func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
13035	return nil, false
13036}
13037
13038// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13039func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13040	return nil, false
13041}
13042
13043// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13044func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13045	return nil, false
13046}
13047
13048// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13049func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
13050	return nil, false
13051}
13052
13053// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13054func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13055	return &crnfse, true
13056}
13057
13058// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13059func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13060	return nil, false
13061}
13062
13063// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13064func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13065	return nil, false
13066}
13067
13068// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13069func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13070	return nil, false
13071}
13072
13073// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13074func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13075	return nil, false
13076}
13077
13078// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13079func (crnfse ChaosRestartNodeFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13080	return nil, false
13081}
13082
13083// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13084func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13085	return nil, false
13086}
13087
13088// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13089func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
13090	return nil, false
13091}
13092
13093// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13094func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13095	return nil, false
13096}
13097
13098// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13099func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13100	return nil, false
13101}
13102
13103// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13104func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13105	return nil, false
13106}
13107
13108// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13109func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13110	return nil, false
13111}
13112
13113// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13114func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13115	return nil, false
13116}
13117
13118// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13119func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13120	return nil, false
13121}
13122
13123// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13124func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13125	return nil, false
13126}
13127
13128// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13129func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13130	return nil, false
13131}
13132
13133// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13134func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13135	return nil, false
13136}
13137
13138// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13139func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13140	return nil, false
13141}
13142
13143// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13144func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13145	return nil, false
13146}
13147
13148// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13149func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13150	return nil, false
13151}
13152
13153// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13154func (crnfse ChaosRestartNodeFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13155	return nil, false
13156}
13157
13158// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13159func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13160	return nil, false
13161}
13162
13163// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13164func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13165	return nil, false
13166}
13167
13168// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13169func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13170	return nil, false
13171}
13172
13173// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13174func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13175	return nil, false
13176}
13177
13178// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13179func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13180	return nil, false
13181}
13182
13183// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13184func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13185	return nil, false
13186}
13187
13188// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13189func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13190	return nil, false
13191}
13192
13193// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13194func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13195	return nil, false
13196}
13197
13198// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13199func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13200	return nil, false
13201}
13202
13203// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13204func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13205	return nil, false
13206}
13207
13208// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13209func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13210	return nil, false
13211}
13212
13213// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13214func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13215	return nil, false
13216}
13217
13218// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13219func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13220	return nil, false
13221}
13222
13223// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13224func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13225	return nil, false
13226}
13227
13228// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13229func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13230	return nil, false
13231}
13232
13233// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13234func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13235	return nil, false
13236}
13237
13238// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13239func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13240	return nil, false
13241}
13242
13243// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13244func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13245	return nil, false
13246}
13247
13248// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13249func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13250	return nil, false
13251}
13252
13253// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13254func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13255	return nil, false
13256}
13257
13258// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13259func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13260	return nil, false
13261}
13262
13263// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13264func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13265	return nil, false
13266}
13267
13268// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13269func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13270	return nil, false
13271}
13272
13273// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13274func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13275	return nil, false
13276}
13277
13278// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13279func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13280	return nil, false
13281}
13282
13283// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13284func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13285	return nil, false
13286}
13287
13288// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13289func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13290	return nil, false
13291}
13292
13293// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13294func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13295	return nil, false
13296}
13297
13298// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13299func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13300	return nil, false
13301}
13302
13303// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13304func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13305	return nil, false
13306}
13307
13308// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13309func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13310	return nil, false
13311}
13312
13313// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13314func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13315	return nil, false
13316}
13317
13318// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13319func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13320	return nil, false
13321}
13322
13323// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13324func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13325	return nil, false
13326}
13327
13328// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13329func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13330	return nil, false
13331}
13332
13333// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13334func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13335	return nil, false
13336}
13337
13338// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13339func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13340	return nil, false
13341}
13342
13343// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13344func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13345	return nil, false
13346}
13347
13348// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13349func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13350	return nil, false
13351}
13352
13353// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13354func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13355	return nil, false
13356}
13357
13358// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13359func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13360	return nil, false
13361}
13362
13363// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13364func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13365	return nil, false
13366}
13367
13368// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13369func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13370	return nil, false
13371}
13372
13373// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13374func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13375	return nil, false
13376}
13377
13378// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13379func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13380	return nil, false
13381}
13382
13383// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13384func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13385	return nil, false
13386}
13387
13388// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13389func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13390	return nil, false
13391}
13392
13393// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13394func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13395	return &crnfse, true
13396}
13397
13398// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13399func (crnfse ChaosRestartNodeFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
13400	return nil, false
13401}
13402
13403// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13404func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13405	return &crnfse, true
13406}
13407
13408// ChaosRestartReplicaFaultScheduledEvent chaos Restart Replica Fault Scheduled event.
13409type ChaosRestartReplicaFaultScheduledEvent struct {
13410	// FaultGroupID - Id of fault group.
13411	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
13412	// FaultID - Id of fault.
13413	FaultID *uuid.UUID `json:"FaultId,omitempty"`
13414	// ServiceURI - Service name.
13415	ServiceURI *string `json:"ServiceUri,omitempty"`
13416	// 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.
13417	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
13418	// 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.
13419	ReplicaID *int64 `json:"ReplicaId,omitempty"`
13420	// EventInstanceID - The identifier for the FabricEvent instance.
13421	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13422	// TimeStamp - The time event was logged.
13423	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13424	// HasCorrelatedEvents - Shows there is existing related events available.
13425	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13426	// 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'
13427	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13428}
13429
13430// MarshalJSON is the custom marshaler for ChaosRestartReplicaFaultScheduledEvent.
13431func (crrfse ChaosRestartReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
13432	crrfse.Kind = KindChaosRestartReplicaFaultScheduled
13433	objectMap := make(map[string]interface{})
13434	if crrfse.FaultGroupID != nil {
13435		objectMap["FaultGroupId"] = crrfse.FaultGroupID
13436	}
13437	if crrfse.FaultID != nil {
13438		objectMap["FaultId"] = crrfse.FaultID
13439	}
13440	if crrfse.ServiceURI != nil {
13441		objectMap["ServiceUri"] = crrfse.ServiceURI
13442	}
13443	if crrfse.PartitionID != nil {
13444		objectMap["PartitionId"] = crrfse.PartitionID
13445	}
13446	if crrfse.ReplicaID != nil {
13447		objectMap["ReplicaId"] = crrfse.ReplicaID
13448	}
13449	if crrfse.EventInstanceID != nil {
13450		objectMap["EventInstanceId"] = crrfse.EventInstanceID
13451	}
13452	if crrfse.TimeStamp != nil {
13453		objectMap["TimeStamp"] = crrfse.TimeStamp
13454	}
13455	if crrfse.HasCorrelatedEvents != nil {
13456		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
13457	}
13458	if crrfse.Kind != "" {
13459		objectMap["Kind"] = crrfse.Kind
13460	}
13461	return json.Marshal(objectMap)
13462}
13463
13464// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13465func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13466	return nil, false
13467}
13468
13469// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13470func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13471	return nil, false
13472}
13473
13474// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13475func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
13476	return nil, false
13477}
13478
13479// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13480func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13481	return nil, false
13482}
13483
13484// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13485func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13486	return nil, false
13487}
13488
13489// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13490func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
13491	return nil, false
13492}
13493
13494// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13495func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13496	return nil, false
13497}
13498
13499// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13500func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13501	return nil, false
13502}
13503
13504// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13505func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13506	return nil, false
13507}
13508
13509// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13510func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13511	return nil, false
13512}
13513
13514// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13515func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13516	return nil, false
13517}
13518
13519// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13520func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13521	return nil, false
13522}
13523
13524// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13525func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13526	return &crrfse, true
13527}
13528
13529// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13530func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
13531	return nil, false
13532}
13533
13534// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13535func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13536	return nil, false
13537}
13538
13539// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13540func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13541	return nil, false
13542}
13543
13544// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13545func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13546	return nil, false
13547}
13548
13549// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13550func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13551	return nil, false
13552}
13553
13554// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13555func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13556	return nil, false
13557}
13558
13559// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13560func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13561	return nil, false
13562}
13563
13564// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13565func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13566	return nil, false
13567}
13568
13569// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13570func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13571	return nil, false
13572}
13573
13574// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13575func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13576	return nil, false
13577}
13578
13579// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13580func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13581	return nil, false
13582}
13583
13584// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13585func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13586	return nil, false
13587}
13588
13589// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13590func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13591	return nil, false
13592}
13593
13594// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13595func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13596	return nil, false
13597}
13598
13599// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13600func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13601	return nil, false
13602}
13603
13604// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13605func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13606	return nil, false
13607}
13608
13609// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13610func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13611	return nil, false
13612}
13613
13614// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13615func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13616	return nil, false
13617}
13618
13619// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13620func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13621	return nil, false
13622}
13623
13624// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13625func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13626	return nil, false
13627}
13628
13629// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13630func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13631	return nil, false
13632}
13633
13634// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13635func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13636	return nil, false
13637}
13638
13639// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13640func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13641	return nil, false
13642}
13643
13644// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13645func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13646	return nil, false
13647}
13648
13649// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13650func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13651	return nil, false
13652}
13653
13654// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13655func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13656	return nil, false
13657}
13658
13659// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13660func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13661	return nil, false
13662}
13663
13664// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13665func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13666	return nil, false
13667}
13668
13669// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13670func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13671	return nil, false
13672}
13673
13674// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13675func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13676	return nil, false
13677}
13678
13679// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13680func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13681	return nil, false
13682}
13683
13684// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13685func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13686	return nil, false
13687}
13688
13689// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13690func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13691	return nil, false
13692}
13693
13694// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13695func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13696	return nil, false
13697}
13698
13699// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13700func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13701	return nil, false
13702}
13703
13704// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13705func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13706	return nil, false
13707}
13708
13709// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13710func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13711	return nil, false
13712}
13713
13714// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13715func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13716	return nil, false
13717}
13718
13719// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13720func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13721	return nil, false
13722}
13723
13724// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13725func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13726	return nil, false
13727}
13728
13729// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13730func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13731	return nil, false
13732}
13733
13734// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13735func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13736	return nil, false
13737}
13738
13739// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13740func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13741	return nil, false
13742}
13743
13744// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13745func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13746	return nil, false
13747}
13748
13749// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13750func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13751	return nil, false
13752}
13753
13754// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13755func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13756	return nil, false
13757}
13758
13759// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13760func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13761	return nil, false
13762}
13763
13764// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13765func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13766	return nil, false
13767}
13768
13769// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13770func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13771	return nil, false
13772}
13773
13774// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13775func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13776	return nil, false
13777}
13778
13779// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13780func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13781	return nil, false
13782}
13783
13784// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13785func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13786	return nil, false
13787}
13788
13789// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13790func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13791	return nil, false
13792}
13793
13794// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13795func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13796	return nil, false
13797}
13798
13799// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13800func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13801	return nil, false
13802}
13803
13804// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13805func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13806	return nil, false
13807}
13808
13809// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13810func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13811	return nil, false
13812}
13813
13814// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13815func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13816	return nil, false
13817}
13818
13819// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13820func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13821	return nil, false
13822}
13823
13824// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13825func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13826	return nil, false
13827}
13828
13829// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13830func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13831	return &crrfse, true
13832}
13833
13834// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13835func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13836	return nil, false
13837}
13838
13839// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13840func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
13841	return nil, false
13842}
13843
13844// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13845func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13846	return &crrfse, true
13847}
13848
13849// ChaosSchedule defines the schedule used by Chaos.
13850type ChaosSchedule struct {
13851	// StartDate - The date and time Chaos will start using this schedule.
13852	StartDate *date.Time `json:"StartDate,omitempty"`
13853	// ExpiryDate - The date and time Chaos will continue to use this schedule until.
13854	ExpiryDate *date.Time `json:"ExpiryDate,omitempty"`
13855	// ChaosParametersDictionary - A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.
13856	ChaosParametersDictionary *[]ChaosParametersDictionaryItem `json:"ChaosParametersDictionary,omitempty"`
13857	// Jobs - A list of all Chaos Schedule Jobs that will be automated by the schedule.
13858	Jobs *[]ChaosScheduleJob `json:"Jobs,omitempty"`
13859}
13860
13861// ChaosScheduleDescription defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule. The
13862// version value wraps back to 0 after surpassing 2,147,483,647.
13863type ChaosScheduleDescription struct {
13864	autorest.Response `json:"-"`
13865	// Version - The version number of the Schedule.
13866	Version *int32 `json:"Version,omitempty"`
13867	// Schedule - Defines the schedule used by Chaos.
13868	Schedule *ChaosSchedule `json:"Schedule,omitempty"`
13869}
13870
13871// ChaosScheduleJob defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.
13872type ChaosScheduleJob struct {
13873	// ChaosParameters - A reference to which Chaos Parameters of the Chaos Schedule to use.
13874	ChaosParameters *string `json:"ChaosParameters,omitempty"`
13875	// Days - Defines the days of the week that a Chaos Schedule Job will run for.
13876	Days *ChaosScheduleJobActiveDaysOfWeek `json:"Days,omitempty"`
13877	// Times - A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.
13878	Times *[]TimeRange `json:"Times,omitempty"`
13879}
13880
13881// ChaosScheduleJobActiveDaysOfWeek defines the days of the week that a Chaos Schedule Job will run for.
13882type ChaosScheduleJobActiveDaysOfWeek struct {
13883	// Sunday - Indicates if the Chaos Schedule Job will run on Sunday
13884	Sunday *bool `json:"Sunday,omitempty"`
13885	// Monday - Indicates if the Chaos Schedule Job will run on Monday
13886	Monday *bool `json:"Monday,omitempty"`
13887	// Tuesday - Indicates if the Chaos Schedule Job will run on Tuesday
13888	Tuesday *bool `json:"Tuesday,omitempty"`
13889	// Wednesday - Indicates if the Chaos Schedule Job will run on Wednesday
13890	Wednesday *bool `json:"Wednesday,omitempty"`
13891	// Thursday - Indicates if the Chaos Schedule Job will run on Thursday
13892	Thursday *bool `json:"Thursday,omitempty"`
13893	// Friday - Indicates if the Chaos Schedule Job will run on Friday
13894	Friday *bool `json:"Friday,omitempty"`
13895	// Saturday - Indicates if the Chaos Schedule Job will run on Saturday
13896	Saturday *bool `json:"Saturday,omitempty"`
13897}
13898
13899// ChaosStartedEvent chaos Started event.
13900type ChaosStartedEvent struct {
13901	// MaxConcurrentFaults - Maximum number of concurrent faults.
13902	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
13903	// TimeToRunInSeconds - Time to run in seconds.
13904	TimeToRunInSeconds *float64 `json:"TimeToRunInSeconds,omitempty"`
13905	// MaxClusterStabilizationTimeoutInSeconds - Maximum timeout for cluster stabilization in seconds.
13906	MaxClusterStabilizationTimeoutInSeconds *float64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
13907	// WaitTimeBetweenIterationsInSeconds - Wait time between iterations in seconds.
13908	WaitTimeBetweenIterationsInSeconds *float64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
13909	// WaitTimeBetweenFautlsInSeconds - Wait time between faults in seconds.
13910	WaitTimeBetweenFautlsInSeconds *float64 `json:"WaitTimeBetweenFautlsInSeconds,omitempty"`
13911	// MoveReplicaFaultEnabled - Indicates MoveReplica fault is enabled.
13912	MoveReplicaFaultEnabled *bool `json:"MoveReplicaFaultEnabled,omitempty"`
13913	// IncludedNodeTypeList - List of included Node types.
13914	IncludedNodeTypeList *string `json:"IncludedNodeTypeList,omitempty"`
13915	// IncludedApplicationList - List of included Applications.
13916	IncludedApplicationList *string `json:"IncludedApplicationList,omitempty"`
13917	// ClusterHealthPolicy - Health policy.
13918	ClusterHealthPolicy *string `json:"ClusterHealthPolicy,omitempty"`
13919	// ChaosContext - Chaos Context.
13920	ChaosContext *string `json:"ChaosContext,omitempty"`
13921	// EventInstanceID - The identifier for the FabricEvent instance.
13922	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13923	// TimeStamp - The time event was logged.
13924	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13925	// HasCorrelatedEvents - Shows there is existing related events available.
13926	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13927	// 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'
13928	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13929}
13930
13931// MarshalJSON is the custom marshaler for ChaosStartedEvent.
13932func (cse ChaosStartedEvent) MarshalJSON() ([]byte, error) {
13933	cse.Kind = KindChaosStarted
13934	objectMap := make(map[string]interface{})
13935	if cse.MaxConcurrentFaults != nil {
13936		objectMap["MaxConcurrentFaults"] = cse.MaxConcurrentFaults
13937	}
13938	if cse.TimeToRunInSeconds != nil {
13939		objectMap["TimeToRunInSeconds"] = cse.TimeToRunInSeconds
13940	}
13941	if cse.MaxClusterStabilizationTimeoutInSeconds != nil {
13942		objectMap["MaxClusterStabilizationTimeoutInSeconds"] = cse.MaxClusterStabilizationTimeoutInSeconds
13943	}
13944	if cse.WaitTimeBetweenIterationsInSeconds != nil {
13945		objectMap["WaitTimeBetweenIterationsInSeconds"] = cse.WaitTimeBetweenIterationsInSeconds
13946	}
13947	if cse.WaitTimeBetweenFautlsInSeconds != nil {
13948		objectMap["WaitTimeBetweenFautlsInSeconds"] = cse.WaitTimeBetweenFautlsInSeconds
13949	}
13950	if cse.MoveReplicaFaultEnabled != nil {
13951		objectMap["MoveReplicaFaultEnabled"] = cse.MoveReplicaFaultEnabled
13952	}
13953	if cse.IncludedNodeTypeList != nil {
13954		objectMap["IncludedNodeTypeList"] = cse.IncludedNodeTypeList
13955	}
13956	if cse.IncludedApplicationList != nil {
13957		objectMap["IncludedApplicationList"] = cse.IncludedApplicationList
13958	}
13959	if cse.ClusterHealthPolicy != nil {
13960		objectMap["ClusterHealthPolicy"] = cse.ClusterHealthPolicy
13961	}
13962	if cse.ChaosContext != nil {
13963		objectMap["ChaosContext"] = cse.ChaosContext
13964	}
13965	if cse.EventInstanceID != nil {
13966		objectMap["EventInstanceId"] = cse.EventInstanceID
13967	}
13968	if cse.TimeStamp != nil {
13969		objectMap["TimeStamp"] = cse.TimeStamp
13970	}
13971	if cse.HasCorrelatedEvents != nil {
13972		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
13973	}
13974	if cse.Kind != "" {
13975		objectMap["Kind"] = cse.Kind
13976	}
13977	return json.Marshal(objectMap)
13978}
13979
13980// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
13981func (cse ChaosStartedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13982	return nil, false
13983}
13984
13985// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
13986func (cse ChaosStartedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13987	return nil, false
13988}
13989
13990// AsClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
13991func (cse ChaosStartedEvent) AsClusterEvent() (*ClusterEvent, bool) {
13992	return nil, false
13993}
13994
13995// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
13996func (cse ChaosStartedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13997	return &cse, true
13998}
13999
14000// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14001func (cse ChaosStartedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14002	return nil, false
14003}
14004
14005// AsNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14006func (cse ChaosStartedEvent) AsNodeEvent() (*NodeEvent, bool) {
14007	return nil, false
14008}
14009
14010// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14011func (cse ChaosStartedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14012	return nil, false
14013}
14014
14015// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14016func (cse ChaosStartedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14017	return nil, false
14018}
14019
14020// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14021func (cse ChaosStartedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14022	return nil, false
14023}
14024
14025// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14026func (cse ChaosStartedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14027	return nil, false
14028}
14029
14030// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14031func (cse ChaosStartedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14032	return nil, false
14033}
14034
14035// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14036func (cse ChaosStartedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14037	return nil, false
14038}
14039
14040// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14041func (cse ChaosStartedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14042	return nil, false
14043}
14044
14045// AsServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14046func (cse ChaosStartedEvent) AsServiceEvent() (*ServiceEvent, bool) {
14047	return nil, false
14048}
14049
14050// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14051func (cse ChaosStartedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14052	return nil, false
14053}
14054
14055// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14056func (cse ChaosStartedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14057	return nil, false
14058}
14059
14060// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14061func (cse ChaosStartedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14062	return nil, false
14063}
14064
14065// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14066func (cse ChaosStartedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14067	return nil, false
14068}
14069
14070// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14071func (cse ChaosStartedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14072	return nil, false
14073}
14074
14075// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14076func (cse ChaosStartedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14077	return nil, false
14078}
14079
14080// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14081func (cse ChaosStartedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14082	return nil, false
14083}
14084
14085// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14086func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14087	return nil, false
14088}
14089
14090// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14091func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14092	return nil, false
14093}
14094
14095// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14096func (cse ChaosStartedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14097	return nil, false
14098}
14099
14100// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14101func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14102	return nil, false
14103}
14104
14105// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14106func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14107	return nil, false
14108}
14109
14110// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14111func (cse ChaosStartedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14112	return nil, false
14113}
14114
14115// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14116func (cse ChaosStartedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14117	return nil, false
14118}
14119
14120// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14121func (cse ChaosStartedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14122	return nil, false
14123}
14124
14125// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14126func (cse ChaosStartedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14127	return nil, false
14128}
14129
14130// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14131func (cse ChaosStartedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14132	return nil, false
14133}
14134
14135// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14136func (cse ChaosStartedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14137	return nil, false
14138}
14139
14140// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14141func (cse ChaosStartedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14142	return nil, false
14143}
14144
14145// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14146func (cse ChaosStartedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14147	return nil, false
14148}
14149
14150// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14151func (cse ChaosStartedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14152	return nil, false
14153}
14154
14155// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14156func (cse ChaosStartedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14157	return nil, false
14158}
14159
14160// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14161func (cse ChaosStartedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14162	return nil, false
14163}
14164
14165// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14166func (cse ChaosStartedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14167	return nil, false
14168}
14169
14170// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14171func (cse ChaosStartedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14172	return nil, false
14173}
14174
14175// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14176func (cse ChaosStartedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14177	return nil, false
14178}
14179
14180// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14181func (cse ChaosStartedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14182	return nil, false
14183}
14184
14185// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14186func (cse ChaosStartedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14187	return nil, false
14188}
14189
14190// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14191func (cse ChaosStartedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14192	return nil, false
14193}
14194
14195// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14196func (cse ChaosStartedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14197	return nil, false
14198}
14199
14200// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14201func (cse ChaosStartedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14202	return nil, false
14203}
14204
14205// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14206func (cse ChaosStartedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14207	return nil, false
14208}
14209
14210// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14211func (cse ChaosStartedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14212	return nil, false
14213}
14214
14215// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14216func (cse ChaosStartedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14217	return nil, false
14218}
14219
14220// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14221func (cse ChaosStartedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14222	return nil, false
14223}
14224
14225// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14226func (cse ChaosStartedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14227	return nil, false
14228}
14229
14230// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14231func (cse ChaosStartedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14232	return nil, false
14233}
14234
14235// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14236func (cse ChaosStartedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14237	return nil, false
14238}
14239
14240// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14241func (cse ChaosStartedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14242	return nil, false
14243}
14244
14245// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14246func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14247	return nil, false
14248}
14249
14250// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14251func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14252	return nil, false
14253}
14254
14255// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14256func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14257	return nil, false
14258}
14259
14260// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14261func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14262	return nil, false
14263}
14264
14265// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14266func (cse ChaosStartedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14267	return nil, false
14268}
14269
14270// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14271func (cse ChaosStartedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14272	return nil, false
14273}
14274
14275// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14276func (cse ChaosStartedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14277	return nil, false
14278}
14279
14280// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14281func (cse ChaosStartedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14282	return nil, false
14283}
14284
14285// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14286func (cse ChaosStartedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14287	return nil, false
14288}
14289
14290// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14291func (cse ChaosStartedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14292	return nil, false
14293}
14294
14295// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14296func (cse ChaosStartedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14297	return nil, false
14298}
14299
14300// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14301func (cse ChaosStartedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14302	return nil, false
14303}
14304
14305// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14306func (cse ChaosStartedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14307	return &cse, true
14308}
14309
14310// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14311func (cse ChaosStartedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14312	return nil, false
14313}
14314
14315// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14316func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14317	return nil, false
14318}
14319
14320// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14321func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14322	return nil, false
14323}
14324
14325// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14326func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14327	return nil, false
14328}
14329
14330// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14331func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14332	return nil, false
14333}
14334
14335// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14336func (cse ChaosStartedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14337	return nil, false
14338}
14339
14340// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14341func (cse ChaosStartedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14342	return nil, false
14343}
14344
14345// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14346func (cse ChaosStartedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14347	return nil, false
14348}
14349
14350// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14351func (cse ChaosStartedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14352	return nil, false
14353}
14354
14355// AsFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14356func (cse ChaosStartedEvent) AsFabricEvent() (*FabricEvent, bool) {
14357	return nil, false
14358}
14359
14360// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14361func (cse ChaosStartedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14362	return &cse, true
14363}
14364
14365// ChaosStoppedEvent chaos Stopped event.
14366type ChaosStoppedEvent struct {
14367	// Reason - Describes reason.
14368	Reason *string `json:"Reason,omitempty"`
14369	// EventInstanceID - The identifier for the FabricEvent instance.
14370	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
14371	// TimeStamp - The time event was logged.
14372	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
14373	// HasCorrelatedEvents - Shows there is existing related events available.
14374	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
14375	// 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'
14376	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14377}
14378
14379// MarshalJSON is the custom marshaler for ChaosStoppedEvent.
14380func (cse ChaosStoppedEvent) MarshalJSON() ([]byte, error) {
14381	cse.Kind = KindChaosStopped
14382	objectMap := make(map[string]interface{})
14383	if cse.Reason != nil {
14384		objectMap["Reason"] = cse.Reason
14385	}
14386	if cse.EventInstanceID != nil {
14387		objectMap["EventInstanceId"] = cse.EventInstanceID
14388	}
14389	if cse.TimeStamp != nil {
14390		objectMap["TimeStamp"] = cse.TimeStamp
14391	}
14392	if cse.HasCorrelatedEvents != nil {
14393		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
14394	}
14395	if cse.Kind != "" {
14396		objectMap["Kind"] = cse.Kind
14397	}
14398	return json.Marshal(objectMap)
14399}
14400
14401// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14402func (cse ChaosStoppedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14403	return nil, false
14404}
14405
14406// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14407func (cse ChaosStoppedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14408	return nil, false
14409}
14410
14411// AsClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14412func (cse ChaosStoppedEvent) AsClusterEvent() (*ClusterEvent, bool) {
14413	return nil, false
14414}
14415
14416// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14417func (cse ChaosStoppedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14418	return &cse, true
14419}
14420
14421// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14422func (cse ChaosStoppedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14423	return nil, false
14424}
14425
14426// AsNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14427func (cse ChaosStoppedEvent) AsNodeEvent() (*NodeEvent, bool) {
14428	return nil, false
14429}
14430
14431// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14432func (cse ChaosStoppedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14433	return nil, false
14434}
14435
14436// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14437func (cse ChaosStoppedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14438	return nil, false
14439}
14440
14441// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14442func (cse ChaosStoppedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14443	return nil, false
14444}
14445
14446// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14447func (cse ChaosStoppedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14448	return nil, false
14449}
14450
14451// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14452func (cse ChaosStoppedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14453	return nil, false
14454}
14455
14456// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14457func (cse ChaosStoppedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14458	return nil, false
14459}
14460
14461// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14462func (cse ChaosStoppedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14463	return nil, false
14464}
14465
14466// AsServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14467func (cse ChaosStoppedEvent) AsServiceEvent() (*ServiceEvent, bool) {
14468	return nil, false
14469}
14470
14471// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14472func (cse ChaosStoppedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14473	return nil, false
14474}
14475
14476// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14477func (cse ChaosStoppedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14478	return nil, false
14479}
14480
14481// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14482func (cse ChaosStoppedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14483	return nil, false
14484}
14485
14486// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14487func (cse ChaosStoppedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14488	return nil, false
14489}
14490
14491// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14492func (cse ChaosStoppedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14493	return nil, false
14494}
14495
14496// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14497func (cse ChaosStoppedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14498	return nil, false
14499}
14500
14501// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14502func (cse ChaosStoppedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14503	return nil, false
14504}
14505
14506// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14507func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14508	return nil, false
14509}
14510
14511// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14512func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14513	return nil, false
14514}
14515
14516// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14517func (cse ChaosStoppedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14518	return nil, false
14519}
14520
14521// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14522func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14523	return nil, false
14524}
14525
14526// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14527func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14528	return nil, false
14529}
14530
14531// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14532func (cse ChaosStoppedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14533	return nil, false
14534}
14535
14536// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14537func (cse ChaosStoppedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14538	return nil, false
14539}
14540
14541// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14542func (cse ChaosStoppedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14543	return nil, false
14544}
14545
14546// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14547func (cse ChaosStoppedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14548	return nil, false
14549}
14550
14551// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14552func (cse ChaosStoppedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14553	return nil, false
14554}
14555
14556// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14557func (cse ChaosStoppedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14558	return nil, false
14559}
14560
14561// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14562func (cse ChaosStoppedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14563	return nil, false
14564}
14565
14566// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14567func (cse ChaosStoppedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14568	return nil, false
14569}
14570
14571// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14572func (cse ChaosStoppedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14573	return nil, false
14574}
14575
14576// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14577func (cse ChaosStoppedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14578	return nil, false
14579}
14580
14581// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14582func (cse ChaosStoppedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14583	return nil, false
14584}
14585
14586// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14587func (cse ChaosStoppedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14588	return nil, false
14589}
14590
14591// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14592func (cse ChaosStoppedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14593	return nil, false
14594}
14595
14596// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14597func (cse ChaosStoppedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14598	return nil, false
14599}
14600
14601// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14602func (cse ChaosStoppedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14603	return nil, false
14604}
14605
14606// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14607func (cse ChaosStoppedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14608	return nil, false
14609}
14610
14611// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14612func (cse ChaosStoppedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14613	return nil, false
14614}
14615
14616// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14617func (cse ChaosStoppedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14618	return nil, false
14619}
14620
14621// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14622func (cse ChaosStoppedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14623	return nil, false
14624}
14625
14626// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14627func (cse ChaosStoppedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14628	return nil, false
14629}
14630
14631// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14632func (cse ChaosStoppedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14633	return nil, false
14634}
14635
14636// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14637func (cse ChaosStoppedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14638	return nil, false
14639}
14640
14641// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14642func (cse ChaosStoppedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14643	return nil, false
14644}
14645
14646// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14647func (cse ChaosStoppedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14648	return nil, false
14649}
14650
14651// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14652func (cse ChaosStoppedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14653	return nil, false
14654}
14655
14656// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14657func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14658	return nil, false
14659}
14660
14661// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14662func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14663	return nil, false
14664}
14665
14666// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14667func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14668	return nil, false
14669}
14670
14671// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14672func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14673	return nil, false
14674}
14675
14676// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14677func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14678	return nil, false
14679}
14680
14681// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14682func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14683	return nil, false
14684}
14685
14686// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14687func (cse ChaosStoppedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14688	return nil, false
14689}
14690
14691// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14692func (cse ChaosStoppedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14693	return nil, false
14694}
14695
14696// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14697func (cse ChaosStoppedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14698	return nil, false
14699}
14700
14701// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14702func (cse ChaosStoppedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14703	return nil, false
14704}
14705
14706// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14707func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14708	return nil, false
14709}
14710
14711// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14712func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14713	return nil, false
14714}
14715
14716// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14717func (cse ChaosStoppedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14718	return nil, false
14719}
14720
14721// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14722func (cse ChaosStoppedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14723	return &cse, true
14724}
14725
14726// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14727func (cse ChaosStoppedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14728	return nil, false
14729}
14730
14731// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14732func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14733	return nil, false
14734}
14735
14736// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14737func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14738	return nil, false
14739}
14740
14741// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14742func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14743	return nil, false
14744}
14745
14746// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14747func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14748	return nil, false
14749}
14750
14751// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14752func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14753	return nil, false
14754}
14755
14756// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14757func (cse ChaosStoppedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14758	return nil, false
14759}
14760
14761// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14762func (cse ChaosStoppedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14763	return nil, false
14764}
14765
14766// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14767func (cse ChaosStoppedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14768	return nil, false
14769}
14770
14771// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14772func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14773	return nil, false
14774}
14775
14776// AsFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14777func (cse ChaosStoppedEvent) AsFabricEvent() (*FabricEvent, bool) {
14778	return nil, false
14779}
14780
14781// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14782func (cse ChaosStoppedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14783	return &cse, true
14784}
14785
14786// ChaosTargetFilter defines all filters for targeted Chaos faults, for example, faulting only certain node types
14787// or faulting only certain applications.
14788// If ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos faults
14789// only the entities that meet the ChaosTargetFilter
14790// specification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is not
14791// possible to specify an intersection
14792// of NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify "fault this
14793// application only when it is on that node type."
14794// Once an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity cannot be
14795// excluded using ChaosTargetFilter. Even if
14796// applicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be faulted
14797// because it happens to be on a node of nodeTypeY that is included
14798// in NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty, an
14799// ArgumentException is thrown.
14800type ChaosTargetFilter struct {
14801	// NodeTypeInclusionList - A list of node types to include in Chaos faults.
14802	// 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.
14803	// If a nodetype (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of
14804	// NodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.
14805	// happens to reside on a node of NodeTypeX.
14806	// At most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.
14807	NodeTypeInclusionList *[]string `json:"NodeTypeInclusionList,omitempty"`
14808	// ApplicationInclusionList - A list of application URI's to include in Chaos faults.
14809	// All replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.
14810	// Chaos may restart a code package only if the code package hosts replicas of these applications only.
14811	// 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.
14812	// 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.
14813	// At most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.
14814	ApplicationInclusionList *[]string `json:"ApplicationInclusionList,omitempty"`
14815}
14816
14817// CheckExistsPropertyBatchOperation represents a PropertyBatchOperation that compares the Boolean existence of a
14818// property with the Exists argument.
14819// The PropertyBatchOperation operation fails if the property's existence is not equal to the Exists argument.
14820// The CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in the batch.
14821// Note that if one PropertyBatchOperation in a PropertyBatch fails,
14822// the entire batch fails and cannot be committed in a transactional manner.
14823type CheckExistsPropertyBatchOperation struct {
14824	// Exists - Whether or not the property should exist for the operation to pass.
14825	Exists *bool `json:"Exists,omitempty"`
14826	// PropertyName - The name of the Service Fabric property.
14827	PropertyName *string `json:"PropertyName,omitempty"`
14828	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
14829	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
14830}
14831
14832// MarshalJSON is the custom marshaler for CheckExistsPropertyBatchOperation.
14833func (cepbo CheckExistsPropertyBatchOperation) MarshalJSON() ([]byte, error) {
14834	cepbo.Kind = KindCheckExists
14835	objectMap := make(map[string]interface{})
14836	if cepbo.Exists != nil {
14837		objectMap["Exists"] = cepbo.Exists
14838	}
14839	if cepbo.PropertyName != nil {
14840		objectMap["PropertyName"] = cepbo.PropertyName
14841	}
14842	if cepbo.Kind != "" {
14843		objectMap["Kind"] = cepbo.Kind
14844	}
14845	return json.Marshal(objectMap)
14846}
14847
14848// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14849func (cepbo CheckExistsPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
14850	return &cepbo, true
14851}
14852
14853// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14854func (cepbo CheckExistsPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
14855	return nil, false
14856}
14857
14858// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14859func (cepbo CheckExistsPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
14860	return nil, false
14861}
14862
14863// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14864func (cepbo CheckExistsPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
14865	return nil, false
14866}
14867
14868// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14869func (cepbo CheckExistsPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
14870	return nil, false
14871}
14872
14873// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14874func (cepbo CheckExistsPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
14875	return nil, false
14876}
14877
14878// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14879func (cepbo CheckExistsPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
14880	return nil, false
14881}
14882
14883// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
14884func (cepbo CheckExistsPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
14885	return &cepbo, true
14886}
14887
14888// CheckSequencePropertyBatchOperation compares the Sequence Number of a property with the SequenceNumber argument.
14889// A property's sequence number can be thought of as that property's version.
14890// Every time the property is modified, its sequence number is increased.
14891// The sequence number can be found in a property's metadata.
14892// The comparison fails if the sequence numbers are not equal.
14893// CheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the batch.
14894// Note that if one PropertyBatchOperation in a PropertyBatch fails,
14895// the entire batch fails and cannot be committed in a transactional manner.
14896type CheckSequencePropertyBatchOperation struct {
14897	// SequenceNumber - The expected sequence number.
14898	SequenceNumber *string `json:"SequenceNumber,omitempty"`
14899	// PropertyName - The name of the Service Fabric property.
14900	PropertyName *string `json:"PropertyName,omitempty"`
14901	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
14902	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
14903}
14904
14905// MarshalJSON is the custom marshaler for CheckSequencePropertyBatchOperation.
14906func (cspbo CheckSequencePropertyBatchOperation) MarshalJSON() ([]byte, error) {
14907	cspbo.Kind = KindCheckSequence
14908	objectMap := make(map[string]interface{})
14909	if cspbo.SequenceNumber != nil {
14910		objectMap["SequenceNumber"] = cspbo.SequenceNumber
14911	}
14912	if cspbo.PropertyName != nil {
14913		objectMap["PropertyName"] = cspbo.PropertyName
14914	}
14915	if cspbo.Kind != "" {
14916		objectMap["Kind"] = cspbo.Kind
14917	}
14918	return json.Marshal(objectMap)
14919}
14920
14921// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14922func (cspbo CheckSequencePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
14923	return nil, false
14924}
14925
14926// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14927func (cspbo CheckSequencePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
14928	return &cspbo, true
14929}
14930
14931// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14932func (cspbo CheckSequencePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
14933	return nil, false
14934}
14935
14936// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14937func (cspbo CheckSequencePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
14938	return nil, false
14939}
14940
14941// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14942func (cspbo CheckSequencePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
14943	return nil, false
14944}
14945
14946// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14947func (cspbo CheckSequencePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
14948	return nil, false
14949}
14950
14951// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14952func (cspbo CheckSequencePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
14953	return nil, false
14954}
14955
14956// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
14957func (cspbo CheckSequencePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
14958	return &cspbo, true
14959}
14960
14961// CheckValuePropertyBatchOperation represents a PropertyBatchOperation that compares the value of the property
14962// with the expected value.
14963// The CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the batch.
14964// Note that if one PropertyBatchOperation in a PropertyBatch fails,
14965// the entire batch fails and cannot be committed in a transactional manner.
14966type CheckValuePropertyBatchOperation struct {
14967	// Value - The expected property value.
14968	Value BasicPropertyValue `json:"Value,omitempty"`
14969	// PropertyName - The name of the Service Fabric property.
14970	PropertyName *string `json:"PropertyName,omitempty"`
14971	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
14972	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
14973}
14974
14975// MarshalJSON is the custom marshaler for CheckValuePropertyBatchOperation.
14976func (cvpbo CheckValuePropertyBatchOperation) MarshalJSON() ([]byte, error) {
14977	cvpbo.Kind = KindCheckValue
14978	objectMap := make(map[string]interface{})
14979	objectMap["Value"] = cvpbo.Value
14980	if cvpbo.PropertyName != nil {
14981		objectMap["PropertyName"] = cvpbo.PropertyName
14982	}
14983	if cvpbo.Kind != "" {
14984		objectMap["Kind"] = cvpbo.Kind
14985	}
14986	return json.Marshal(objectMap)
14987}
14988
14989// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
14990func (cvpbo CheckValuePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
14991	return nil, false
14992}
14993
14994// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
14995func (cvpbo CheckValuePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
14996	return nil, false
14997}
14998
14999// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15000func (cvpbo CheckValuePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
15001	return &cvpbo, true
15002}
15003
15004// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15005func (cvpbo CheckValuePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
15006	return nil, false
15007}
15008
15009// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15010func (cvpbo CheckValuePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
15011	return nil, false
15012}
15013
15014// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15015func (cvpbo CheckValuePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
15016	return nil, false
15017}
15018
15019// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15020func (cvpbo CheckValuePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
15021	return nil, false
15022}
15023
15024// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15025func (cvpbo CheckValuePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
15026	return &cvpbo, true
15027}
15028
15029// UnmarshalJSON is the custom unmarshaler for CheckValuePropertyBatchOperation struct.
15030func (cvpbo *CheckValuePropertyBatchOperation) UnmarshalJSON(body []byte) error {
15031	var m map[string]*json.RawMessage
15032	err := json.Unmarshal(body, &m)
15033	if err != nil {
15034		return err
15035	}
15036	for k, v := range m {
15037		switch k {
15038		case "Value":
15039			if v != nil {
15040				value, err := unmarshalBasicPropertyValue(*v)
15041				if err != nil {
15042					return err
15043				}
15044				cvpbo.Value = value
15045			}
15046		case "PropertyName":
15047			if v != nil {
15048				var propertyName string
15049				err = json.Unmarshal(*v, &propertyName)
15050				if err != nil {
15051					return err
15052				}
15053				cvpbo.PropertyName = &propertyName
15054			}
15055		case "Kind":
15056			if v != nil {
15057				var kind KindBasicPropertyBatchOperation
15058				err = json.Unmarshal(*v, &kind)
15059				if err != nil {
15060					return err
15061				}
15062				cvpbo.Kind = kind
15063			}
15064		}
15065	}
15066
15067	return nil
15068}
15069
15070// ClusterConfiguration information about the standalone cluster configuration.
15071type ClusterConfiguration struct {
15072	autorest.Response `json:"-"`
15073	// ClusterConfiguration - The contents of the cluster configuration file.
15074	ClusterConfiguration *string `json:"ClusterConfiguration,omitempty"`
15075}
15076
15077// ClusterConfigurationUpgradeDescription describes the parameters for a standalone cluster configuration upgrade.
15078type ClusterConfigurationUpgradeDescription struct {
15079	// ClusterConfig - The cluster configuration.
15080	ClusterConfig *string `json:"ClusterConfig,omitempty"`
15081	// HealthCheckRetryTimeout - The length of time between attempts to perform a health checks if the application or cluster is not healthy.
15082	HealthCheckRetryTimeout *string `json:"HealthCheckRetryTimeout,omitempty"`
15083	// HealthCheckWaitDurationInSeconds - The length of time to wait after completing an upgrade domain before starting the health checks process.
15084	HealthCheckWaitDurationInSeconds *string `json:"HealthCheckWaitDurationInSeconds,omitempty"`
15085	// HealthCheckStableDurationInSeconds - The length of time that the application or cluster must remain healthy.
15086	HealthCheckStableDurationInSeconds *string `json:"HealthCheckStableDurationInSeconds,omitempty"`
15087	// UpgradeDomainTimeoutInSeconds - The timeout for the upgrade domain.
15088	UpgradeDomainTimeoutInSeconds *string `json:"UpgradeDomainTimeoutInSeconds,omitempty"`
15089	// UpgradeTimeoutInSeconds - The upgrade timeout.
15090	UpgradeTimeoutInSeconds *string `json:"UpgradeTimeoutInSeconds,omitempty"`
15091	// MaxPercentUnhealthyApplications - The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.
15092	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
15093	// MaxPercentUnhealthyNodes - The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.
15094	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
15095	// MaxPercentDeltaUnhealthyNodes - The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
15096	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
15097	// MaxPercentUpgradeDomainDeltaUnhealthyNodes - The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
15098	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
15099}
15100
15101// ClusterConfigurationUpgradeStatusInfo information about a standalone cluster configuration upgrade status.
15102type ClusterConfigurationUpgradeStatusInfo struct {
15103	autorest.Response `json:"-"`
15104	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
15105	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
15106	// ProgressStatus - The cluster manifest version.
15107	ProgressStatus *int32 `json:"ProgressStatus,omitempty"`
15108	// ConfigVersion - The cluster configuration version.
15109	ConfigVersion *string `json:"ConfigVersion,omitempty"`
15110	// Details - The cluster upgrade status details.
15111	Details *string `json:"Details,omitempty"`
15112}
15113
15114// BasicClusterEvent represents the base for all Cluster Events.
15115type BasicClusterEvent interface {
15116	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
15117	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
15118	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
15119	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
15120	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
15121	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
15122	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
15123	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
15124	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
15125	AsClusterEvent() (*ClusterEvent, bool)
15126}
15127
15128// ClusterEvent represents the base for all Cluster Events.
15129type ClusterEvent struct {
15130	// EventInstanceID - The identifier for the FabricEvent instance.
15131	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15132	// TimeStamp - The time event was logged.
15133	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15134	// HasCorrelatedEvents - Shows there is existing related events available.
15135	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15136	// 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'
15137	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15138}
15139
15140func unmarshalBasicClusterEvent(body []byte) (BasicClusterEvent, error) {
15141	var m map[string]interface{}
15142	err := json.Unmarshal(body, &m)
15143	if err != nil {
15144		return nil, err
15145	}
15146
15147	switch m["Kind"] {
15148	case string(KindClusterHealthReportCreated):
15149		var chrce ClusterHealthReportCreatedEvent
15150		err := json.Unmarshal(body, &chrce)
15151		return chrce, err
15152	case string(KindClusterHealthReportExpired):
15153		var chree ClusterHealthReportExpiredEvent
15154		err := json.Unmarshal(body, &chree)
15155		return chree, err
15156	case string(KindClusterUpgradeComplete):
15157		var cuce ClusterUpgradeCompleteEvent
15158		err := json.Unmarshal(body, &cuce)
15159		return cuce, err
15160	case string(KindClusterUpgradeDomainComplete):
15161		var cudce ClusterUpgradeDomainCompleteEvent
15162		err := json.Unmarshal(body, &cudce)
15163		return cudce, err
15164	case string(KindClusterUpgradeRollbackComplete):
15165		var curce ClusterUpgradeRollbackCompleteEvent
15166		err := json.Unmarshal(body, &curce)
15167		return curce, err
15168	case string(KindClusterUpgradeRollbackStart):
15169		var curse ClusterUpgradeRollbackStartEvent
15170		err := json.Unmarshal(body, &curse)
15171		return curse, err
15172	case string(KindClusterUpgradeStart):
15173		var cuse ClusterUpgradeStartEvent
15174		err := json.Unmarshal(body, &cuse)
15175		return cuse, err
15176	case string(KindChaosStopped):
15177		var cse ChaosStoppedEvent
15178		err := json.Unmarshal(body, &cse)
15179		return cse, err
15180	case string(KindChaosStarted):
15181		var cse ChaosStartedEvent
15182		err := json.Unmarshal(body, &cse)
15183		return cse, err
15184	default:
15185		var ce ClusterEvent
15186		err := json.Unmarshal(body, &ce)
15187		return ce, err
15188	}
15189}
15190func unmarshalBasicClusterEventArray(body []byte) ([]BasicClusterEvent, error) {
15191	var rawMessages []*json.RawMessage
15192	err := json.Unmarshal(body, &rawMessages)
15193	if err != nil {
15194		return nil, err
15195	}
15196
15197	ceArray := make([]BasicClusterEvent, len(rawMessages))
15198
15199	for index, rawMessage := range rawMessages {
15200		ce, err := unmarshalBasicClusterEvent(*rawMessage)
15201		if err != nil {
15202			return nil, err
15203		}
15204		ceArray[index] = ce
15205	}
15206	return ceArray, nil
15207}
15208
15209// MarshalJSON is the custom marshaler for ClusterEvent.
15210func (ce ClusterEvent) MarshalJSON() ([]byte, error) {
15211	ce.Kind = KindClusterEvent
15212	objectMap := make(map[string]interface{})
15213	if ce.EventInstanceID != nil {
15214		objectMap["EventInstanceId"] = ce.EventInstanceID
15215	}
15216	if ce.TimeStamp != nil {
15217		objectMap["TimeStamp"] = ce.TimeStamp
15218	}
15219	if ce.HasCorrelatedEvents != nil {
15220		objectMap["HasCorrelatedEvents"] = ce.HasCorrelatedEvents
15221	}
15222	if ce.Kind != "" {
15223		objectMap["Kind"] = ce.Kind
15224	}
15225	return json.Marshal(objectMap)
15226}
15227
15228// AsApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
15229func (ce ClusterEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
15230	return nil, false
15231}
15232
15233// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
15234func (ce ClusterEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
15235	return nil, false
15236}
15237
15238// AsClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
15239func (ce ClusterEvent) AsClusterEvent() (*ClusterEvent, bool) {
15240	return &ce, true
15241}
15242
15243// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
15244func (ce ClusterEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
15245	return &ce, true
15246}
15247
15248// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterEvent.
15249func (ce ClusterEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
15250	return nil, false
15251}
15252
15253// AsNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
15254func (ce ClusterEvent) AsNodeEvent() (*NodeEvent, bool) {
15255	return nil, false
15256}
15257
15258// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
15259func (ce ClusterEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
15260	return nil, false
15261}
15262
15263// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
15264func (ce ClusterEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
15265	return nil, false
15266}
15267
15268// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
15269func (ce ClusterEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
15270	return nil, false
15271}
15272
15273// AsPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
15274func (ce ClusterEvent) AsPartitionEvent() (*PartitionEvent, bool) {
15275	return nil, false
15276}
15277
15278// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
15279func (ce ClusterEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
15280	return nil, false
15281}
15282
15283// AsReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
15284func (ce ClusterEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
15285	return nil, false
15286}
15287
15288// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
15289func (ce ClusterEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
15290	return nil, false
15291}
15292
15293// AsServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
15294func (ce ClusterEvent) AsServiceEvent() (*ServiceEvent, bool) {
15295	return nil, false
15296}
15297
15298// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
15299func (ce ClusterEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
15300	return nil, false
15301}
15302
15303// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15304func (ce ClusterEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
15305	return nil, false
15306}
15307
15308// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15309func (ce ClusterEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
15310	return nil, false
15311}
15312
15313// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15314func (ce ClusterEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
15315	return nil, false
15316}
15317
15318// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15319func (ce ClusterEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
15320	return nil, false
15321}
15322
15323// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15324func (ce ClusterEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
15325	return nil, false
15326}
15327
15328// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15329func (ce ClusterEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
15330	return nil, false
15331}
15332
15333// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15334func (ce ClusterEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
15335	return nil, false
15336}
15337
15338// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15339func (ce ClusterEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
15340	return nil, false
15341}
15342
15343// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15344func (ce ClusterEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
15345	return nil, false
15346}
15347
15348// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15349func (ce ClusterEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
15350	return nil, false
15351}
15352
15353// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15354func (ce ClusterEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
15355	return nil, false
15356}
15357
15358// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15359func (ce ClusterEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
15360	return nil, false
15361}
15362
15363// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15364func (ce ClusterEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
15365	return nil, false
15366}
15367
15368// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterEvent.
15369func (ce ClusterEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
15370	return nil, false
15371}
15372
15373// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterEvent.
15374func (ce ClusterEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
15375	return nil, false
15376}
15377
15378// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterEvent.
15379func (ce ClusterEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
15380	return nil, false
15381}
15382
15383// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterEvent.
15384func (ce ClusterEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
15385	return nil, false
15386}
15387
15388// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterEvent.
15389func (ce ClusterEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
15390	return nil, false
15391}
15392
15393// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15394func (ce ClusterEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
15395	return nil, false
15396}
15397
15398// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15399func (ce ClusterEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
15400	return nil, false
15401}
15402
15403// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterEvent.
15404func (ce ClusterEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
15405	return nil, false
15406}
15407
15408// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15409func (ce ClusterEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
15410	return nil, false
15411}
15412
15413// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15414func (ce ClusterEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
15415	return nil, false
15416}
15417
15418// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterEvent.
15419func (ce ClusterEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
15420	return nil, false
15421}
15422
15423// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterEvent.
15424func (ce ClusterEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
15425	return nil, false
15426}
15427
15428// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterEvent.
15429func (ce ClusterEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
15430	return nil, false
15431}
15432
15433// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterEvent.
15434func (ce ClusterEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
15435	return nil, false
15436}
15437
15438// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterEvent.
15439func (ce ClusterEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
15440	return nil, false
15441}
15442
15443// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15444func (ce ClusterEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
15445	return nil, false
15446}
15447
15448// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15449func (ce ClusterEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
15450	return nil, false
15451}
15452
15453// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15454func (ce ClusterEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
15455	return nil, false
15456}
15457
15458// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
15459func (ce ClusterEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
15460	return nil, false
15461}
15462
15463// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15464func (ce ClusterEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
15465	return nil, false
15466}
15467
15468// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15469func (ce ClusterEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
15470	return nil, false
15471}
15472
15473// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15474func (ce ClusterEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
15475	return nil, false
15476}
15477
15478// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15479func (ce ClusterEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
15480	return nil, false
15481}
15482
15483// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15484func (ce ClusterEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
15485	return nil, false
15486}
15487
15488// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15489func (ce ClusterEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
15490	return nil, false
15491}
15492
15493// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15494func (ce ClusterEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
15495	return nil, false
15496}
15497
15498// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15499func (ce ClusterEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
15500	return nil, false
15501}
15502
15503// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15504func (ce ClusterEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
15505	return nil, false
15506}
15507
15508// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15509func (ce ClusterEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
15510	return nil, false
15511}
15512
15513// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15514func (ce ClusterEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
15515	return nil, false
15516}
15517
15518// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15519func (ce ClusterEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
15520	return nil, false
15521}
15522
15523// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15524func (ce ClusterEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
15525	return nil, false
15526}
15527
15528// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15529func (ce ClusterEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
15530	return nil, false
15531}
15532
15533// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15534func (ce ClusterEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
15535	return nil, false
15536}
15537
15538// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15539func (ce ClusterEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
15540	return nil, false
15541}
15542
15543// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15544func (ce ClusterEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
15545	return nil, false
15546}
15547
15548// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterEvent.
15549func (ce ClusterEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
15550	return nil, false
15551}
15552
15553// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterEvent.
15554func (ce ClusterEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
15555	return nil, false
15556}
15557
15558// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15559func (ce ClusterEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
15560	return nil, false
15561}
15562
15563// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15564func (ce ClusterEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
15565	return nil, false
15566}
15567
15568// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15569func (ce ClusterEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
15570	return nil, false
15571}
15572
15573// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15574func (ce ClusterEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
15575	return nil, false
15576}
15577
15578// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15579func (ce ClusterEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
15580	return nil, false
15581}
15582
15583// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15584func (ce ClusterEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
15585	return nil, false
15586}
15587
15588// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15589func (ce ClusterEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
15590	return nil, false
15591}
15592
15593// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15594func (ce ClusterEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
15595	return nil, false
15596}
15597
15598// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15599func (ce ClusterEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
15600	return nil, false
15601}
15602
15603// AsFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
15604func (ce ClusterEvent) AsFabricEvent() (*FabricEvent, bool) {
15605	return nil, false
15606}
15607
15608// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
15609func (ce ClusterEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
15610	return &ce, true
15611}
15612
15613// ClusterHealth represents the health of the cluster.
15614// Contains the cluster aggregated health state, the cluster application and node health states as well as the
15615// health events and the unhealthy evaluations.
15616type ClusterHealth struct {
15617	autorest.Response `json:"-"`
15618	// NodeHealthStates - Cluster node health states as found in the health store.
15619	NodeHealthStates *[]NodeHealthState `json:"NodeHealthStates,omitempty"`
15620	// ApplicationHealthStates - Cluster application health states as found in the health store.
15621	ApplicationHealthStates *[]ApplicationHealthState `json:"ApplicationHealthStates,omitempty"`
15622	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
15623	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
15624	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
15625	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
15626	// HealthEvents - The list of health events reported on the entity.
15627	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
15628	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
15629	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
15630	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
15631	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
15632}
15633
15634// ClusterHealthChunk represents the health chunk of the cluster.
15635// Contains the cluster aggregated health state, and the cluster entities that respect the input filter.
15636type ClusterHealthChunk struct {
15637	autorest.Response `json:"-"`
15638	// HealthState - The HealthState representing the aggregated health state of the cluster computed by Health Manager.
15639	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
15640	// The aggregation is done by applying the desired cluster health policy and the application health policies. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
15641	HealthState HealthState `json:"HealthState,omitempty"`
15642	// NodeHealthStateChunks - The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description.
15643	NodeHealthStateChunks *NodeHealthStateChunkList `json:"NodeHealthStateChunks,omitempty"`
15644	// ApplicationHealthStateChunks - The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description.
15645	ApplicationHealthStateChunks *ApplicationHealthStateChunkList `json:"ApplicationHealthStateChunks,omitempty"`
15646}
15647
15648// ClusterHealthChunkQueryDescription the cluster health chunk query description, which can specify the health
15649// policies to evaluate cluster health and very expressive filters to select which cluster entities to include in
15650// response.
15651type ClusterHealthChunkQueryDescription struct {
15652	// NodeFilters - Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.
15653	// 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.
15654	// The cluster health chunk query may specify multiple node filters.
15655	// 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.
15656	NodeFilters *[]NodeHealthStateFilter `json:"NodeFilters,omitempty"`
15657	// ApplicationFilters - Defines a list of filters that specify which applications to be included in the returned cluster health chunk.
15658	// 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.
15659	// The cluster health chunk query may specify multiple application filters.
15660	// 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.
15661	ApplicationFilters *[]ApplicationHealthStateFilter `json:"ApplicationFilters,omitempty"`
15662	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
15663	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
15664	// ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
15665	ApplicationHealthPolicies *ApplicationHealthPolicies `json:"ApplicationHealthPolicies,omitempty"`
15666}
15667
15668// ClusterHealthPolicies health policies to evaluate cluster health.
15669type ClusterHealthPolicies struct {
15670	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
15671	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
15672	// 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).
15673	// The map is empty by default.
15674	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
15675	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
15676	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
15677}
15678
15679// ClusterHealthPolicy defines a health policy used to evaluate the health of the cluster or of a cluster node.
15680type ClusterHealthPolicy struct {
15681	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors.
15682	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
15683	// 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.
15684	// The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.
15685	// If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.
15686	// The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.
15687	// The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
15688	// In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.
15689	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
15690	// 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.
15691	// The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.
15692	// If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.
15693	// 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.
15694	// The computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.
15695	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
15696	// ApplicationTypeHealthPolicyMap - Defines a map with max percentage unhealthy applications for specific application types.
15697	// 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.
15698	// The application type health policy map can be used during cluster health evaluation to describe special application types.
15699	// 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.
15700	// The applications of application types specified in the map are not counted against the global pool of applications.
15701	// For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type
15702	// and assign it a value of 0% (that is, do not tolerate any failures).
15703	// All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.
15704	// 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.
15705	ApplicationTypeHealthPolicyMap *[]ApplicationTypeHealthPolicyMapItem `json:"ApplicationTypeHealthPolicyMap,omitempty"`
15706}
15707
15708// ClusterHealthReportCreatedEvent cluster Health Report Created event.
15709type ClusterHealthReportCreatedEvent struct {
15710	// SourceID - Id of report source.
15711	SourceID *string `json:"SourceId,omitempty"`
15712	// Property - Describes the property.
15713	Property *string `json:"Property,omitempty"`
15714	// HealthState - Describes the property health state.
15715	HealthState *string `json:"HealthState,omitempty"`
15716	// TimeToLiveMs - Time to live in milli-seconds.
15717	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
15718	// SequenceNumber - Sequence number of report.
15719	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
15720	// Description - Description of report.
15721	Description *string `json:"Description,omitempty"`
15722	// RemoveWhenExpired - Indicates the removal when it expires.
15723	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
15724	// SourceUtcTimestamp - Source time.
15725	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
15726	// EventInstanceID - The identifier for the FabricEvent instance.
15727	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15728	// TimeStamp - The time event was logged.
15729	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15730	// HasCorrelatedEvents - Shows there is existing related events available.
15731	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15732	// 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'
15733	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15734}
15735
15736// MarshalJSON is the custom marshaler for ClusterHealthReportCreatedEvent.
15737func (chrce ClusterHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
15738	chrce.Kind = KindClusterHealthReportCreated
15739	objectMap := make(map[string]interface{})
15740	if chrce.SourceID != nil {
15741		objectMap["SourceId"] = chrce.SourceID
15742	}
15743	if chrce.Property != nil {
15744		objectMap["Property"] = chrce.Property
15745	}
15746	if chrce.HealthState != nil {
15747		objectMap["HealthState"] = chrce.HealthState
15748	}
15749	if chrce.TimeToLiveMs != nil {
15750		objectMap["TimeToLiveMs"] = chrce.TimeToLiveMs
15751	}
15752	if chrce.SequenceNumber != nil {
15753		objectMap["SequenceNumber"] = chrce.SequenceNumber
15754	}
15755	if chrce.Description != nil {
15756		objectMap["Description"] = chrce.Description
15757	}
15758	if chrce.RemoveWhenExpired != nil {
15759		objectMap["RemoveWhenExpired"] = chrce.RemoveWhenExpired
15760	}
15761	if chrce.SourceUtcTimestamp != nil {
15762		objectMap["SourceUtcTimestamp"] = chrce.SourceUtcTimestamp
15763	}
15764	if chrce.EventInstanceID != nil {
15765		objectMap["EventInstanceId"] = chrce.EventInstanceID
15766	}
15767	if chrce.TimeStamp != nil {
15768		objectMap["TimeStamp"] = chrce.TimeStamp
15769	}
15770	if chrce.HasCorrelatedEvents != nil {
15771		objectMap["HasCorrelatedEvents"] = chrce.HasCorrelatedEvents
15772	}
15773	if chrce.Kind != "" {
15774		objectMap["Kind"] = chrce.Kind
15775	}
15776	return json.Marshal(objectMap)
15777}
15778
15779// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15780func (chrce ClusterHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
15781	return nil, false
15782}
15783
15784// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15785func (chrce ClusterHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
15786	return nil, false
15787}
15788
15789// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15790func (chrce ClusterHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
15791	return nil, false
15792}
15793
15794// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15795func (chrce ClusterHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
15796	return &chrce, true
15797}
15798
15799// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15800func (chrce ClusterHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
15801	return nil, false
15802}
15803
15804// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15805func (chrce ClusterHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
15806	return nil, false
15807}
15808
15809// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15810func (chrce ClusterHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
15811	return nil, false
15812}
15813
15814// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15815func (chrce ClusterHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
15816	return nil, false
15817}
15818
15819// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15820func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
15821	return nil, false
15822}
15823
15824// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15825func (chrce ClusterHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
15826	return nil, false
15827}
15828
15829// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15830func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
15831	return nil, false
15832}
15833
15834// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15835func (chrce ClusterHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
15836	return nil, false
15837}
15838
15839// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15840func (chrce ClusterHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
15841	return nil, false
15842}
15843
15844// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15845func (chrce ClusterHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
15846	return nil, false
15847}
15848
15849// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15850func (chrce ClusterHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
15851	return nil, false
15852}
15853
15854// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15855func (chrce ClusterHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
15856	return nil, false
15857}
15858
15859// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15860func (chrce ClusterHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
15861	return nil, false
15862}
15863
15864// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15865func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
15866	return nil, false
15867}
15868
15869// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15870func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
15871	return nil, false
15872}
15873
15874// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15875func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
15876	return nil, false
15877}
15878
15879// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15880func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
15881	return nil, false
15882}
15883
15884// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15885func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
15886	return nil, false
15887}
15888
15889// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15890func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
15891	return nil, false
15892}
15893
15894// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15895func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
15896	return nil, false
15897}
15898
15899// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15900func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
15901	return nil, false
15902}
15903
15904// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15905func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
15906	return nil, false
15907}
15908
15909// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15910func (chrce ClusterHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
15911	return nil, false
15912}
15913
15914// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15915func (chrce ClusterHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
15916	return nil, false
15917}
15918
15919// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15920func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
15921	return nil, false
15922}
15923
15924// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15925func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
15926	return nil, false
15927}
15928
15929// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15930func (chrce ClusterHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
15931	return nil, false
15932}
15933
15934// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15935func (chrce ClusterHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
15936	return nil, false
15937}
15938
15939// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15940func (chrce ClusterHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
15941	return nil, false
15942}
15943
15944// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15945func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
15946	return nil, false
15947}
15948
15949// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15950func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
15951	return nil, false
15952}
15953
15954// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15955func (chrce ClusterHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
15956	return nil, false
15957}
15958
15959// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15960func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
15961	return nil, false
15962}
15963
15964// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15965func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
15966	return nil, false
15967}
15968
15969// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15970func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
15971	return nil, false
15972}
15973
15974// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15975func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
15976	return nil, false
15977}
15978
15979// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15980func (chrce ClusterHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
15981	return nil, false
15982}
15983
15984// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15985func (chrce ClusterHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
15986	return nil, false
15987}
15988
15989// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15990func (chrce ClusterHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
15991	return nil, false
15992}
15993
15994// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15995func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
15996	return nil, false
15997}
15998
15999// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16000func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16001	return nil, false
16002}
16003
16004// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16005func (chrce ClusterHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16006	return nil, false
16007}
16008
16009// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16010func (chrce ClusterHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16011	return nil, false
16012}
16013
16014// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16015func (chrce ClusterHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16016	return nil, false
16017}
16018
16019// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16020func (chrce ClusterHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16021	return nil, false
16022}
16023
16024// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16025func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16026	return nil, false
16027}
16028
16029// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16030func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16031	return nil, false
16032}
16033
16034// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16035func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16036	return nil, false
16037}
16038
16039// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16040func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16041	return nil, false
16042}
16043
16044// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16045func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16046	return nil, false
16047}
16048
16049// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16050func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16051	return nil, false
16052}
16053
16054// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16055func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16056	return nil, false
16057}
16058
16059// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16060func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16061	return nil, false
16062}
16063
16064// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16065func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16066	return &chrce, true
16067}
16068
16069// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16070func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16071	return nil, false
16072}
16073
16074// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16075func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16076	return nil, false
16077}
16078
16079// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16080func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16081	return nil, false
16082}
16083
16084// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16085func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16086	return nil, false
16087}
16088
16089// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16090func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16091	return nil, false
16092}
16093
16094// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16095func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16096	return nil, false
16097}
16098
16099// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16100func (chrce ClusterHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16101	return nil, false
16102}
16103
16104// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16105func (chrce ClusterHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16106	return nil, false
16107}
16108
16109// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16110func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16111	return nil, false
16112}
16113
16114// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16115func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16116	return nil, false
16117}
16118
16119// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16120func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16121	return nil, false
16122}
16123
16124// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16125func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16126	return nil, false
16127}
16128
16129// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16130func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16131	return nil, false
16132}
16133
16134// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16135func (chrce ClusterHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16136	return nil, false
16137}
16138
16139// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16140func (chrce ClusterHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16141	return nil, false
16142}
16143
16144// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16145func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16146	return nil, false
16147}
16148
16149// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16150func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16151	return nil, false
16152}
16153
16154// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16155func (chrce ClusterHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
16156	return nil, false
16157}
16158
16159// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16160func (chrce ClusterHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
16161	return &chrce, true
16162}
16163
16164// ClusterHealthReportExpiredEvent cluster Health Report Expired event.
16165type ClusterHealthReportExpiredEvent struct {
16166	// SourceID - Id of report source.
16167	SourceID *string `json:"SourceId,omitempty"`
16168	// Property - Describes the property.
16169	Property *string `json:"Property,omitempty"`
16170	// HealthState - Describes the property health state.
16171	HealthState *string `json:"HealthState,omitempty"`
16172	// TimeToLiveMs - Time to live in milli-seconds.
16173	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
16174	// SequenceNumber - Sequence number of report.
16175	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
16176	// Description - Description of report.
16177	Description *string `json:"Description,omitempty"`
16178	// RemoveWhenExpired - Indicates the removal when it expires.
16179	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
16180	// SourceUtcTimestamp - Source time.
16181	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
16182	// EventInstanceID - The identifier for the FabricEvent instance.
16183	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
16184	// TimeStamp - The time event was logged.
16185	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
16186	// HasCorrelatedEvents - Shows there is existing related events available.
16187	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
16188	// 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'
16189	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
16190}
16191
16192// MarshalJSON is the custom marshaler for ClusterHealthReportExpiredEvent.
16193func (chree ClusterHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
16194	chree.Kind = KindClusterHealthReportExpired
16195	objectMap := make(map[string]interface{})
16196	if chree.SourceID != nil {
16197		objectMap["SourceId"] = chree.SourceID
16198	}
16199	if chree.Property != nil {
16200		objectMap["Property"] = chree.Property
16201	}
16202	if chree.HealthState != nil {
16203		objectMap["HealthState"] = chree.HealthState
16204	}
16205	if chree.TimeToLiveMs != nil {
16206		objectMap["TimeToLiveMs"] = chree.TimeToLiveMs
16207	}
16208	if chree.SequenceNumber != nil {
16209		objectMap["SequenceNumber"] = chree.SequenceNumber
16210	}
16211	if chree.Description != nil {
16212		objectMap["Description"] = chree.Description
16213	}
16214	if chree.RemoveWhenExpired != nil {
16215		objectMap["RemoveWhenExpired"] = chree.RemoveWhenExpired
16216	}
16217	if chree.SourceUtcTimestamp != nil {
16218		objectMap["SourceUtcTimestamp"] = chree.SourceUtcTimestamp
16219	}
16220	if chree.EventInstanceID != nil {
16221		objectMap["EventInstanceId"] = chree.EventInstanceID
16222	}
16223	if chree.TimeStamp != nil {
16224		objectMap["TimeStamp"] = chree.TimeStamp
16225	}
16226	if chree.HasCorrelatedEvents != nil {
16227		objectMap["HasCorrelatedEvents"] = chree.HasCorrelatedEvents
16228	}
16229	if chree.Kind != "" {
16230		objectMap["Kind"] = chree.Kind
16231	}
16232	return json.Marshal(objectMap)
16233}
16234
16235// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16236func (chree ClusterHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16237	return nil, false
16238}
16239
16240// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16241func (chree ClusterHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16242	return nil, false
16243}
16244
16245// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16246func (chree ClusterHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
16247	return nil, false
16248}
16249
16250// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16251func (chree ClusterHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16252	return &chree, true
16253}
16254
16255// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16256func (chree ClusterHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16257	return nil, false
16258}
16259
16260// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16261func (chree ClusterHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
16262	return nil, false
16263}
16264
16265// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16266func (chree ClusterHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16267	return nil, false
16268}
16269
16270// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16271func (chree ClusterHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16272	return nil, false
16273}
16274
16275// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16276func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16277	return nil, false
16278}
16279
16280// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16281func (chree ClusterHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16282	return nil, false
16283}
16284
16285// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16286func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16287	return nil, false
16288}
16289
16290// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16291func (chree ClusterHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16292	return nil, false
16293}
16294
16295// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16296func (chree ClusterHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16297	return nil, false
16298}
16299
16300// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16301func (chree ClusterHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
16302	return nil, false
16303}
16304
16305// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16306func (chree ClusterHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16307	return nil, false
16308}
16309
16310// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16311func (chree ClusterHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16312	return nil, false
16313}
16314
16315// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16316func (chree ClusterHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16317	return nil, false
16318}
16319
16320// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16321func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16322	return nil, false
16323}
16324
16325// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16326func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16327	return nil, false
16328}
16329
16330// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16331func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16332	return nil, false
16333}
16334
16335// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16336func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16337	return nil, false
16338}
16339
16340// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16341func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16342	return nil, false
16343}
16344
16345// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16346func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16347	return nil, false
16348}
16349
16350// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16351func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16352	return nil, false
16353}
16354
16355// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16356func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16357	return nil, false
16358}
16359
16360// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16361func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16362	return nil, false
16363}
16364
16365// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16366func (chree ClusterHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16367	return nil, false
16368}
16369
16370// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16371func (chree ClusterHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16372	return nil, false
16373}
16374
16375// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16376func (chree ClusterHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16377	return nil, false
16378}
16379
16380// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16381func (chree ClusterHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16382	return nil, false
16383}
16384
16385// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16386func (chree ClusterHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16387	return nil, false
16388}
16389
16390// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16391func (chree ClusterHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16392	return nil, false
16393}
16394
16395// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16396func (chree ClusterHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16397	return nil, false
16398}
16399
16400// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16401func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16402	return nil, false
16403}
16404
16405// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16406func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16407	return nil, false
16408}
16409
16410// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16411func (chree ClusterHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16412	return nil, false
16413}
16414
16415// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16416func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16417	return nil, false
16418}
16419
16420// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16421func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16422	return nil, false
16423}
16424
16425// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16426func (chree ClusterHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16427	return nil, false
16428}
16429
16430// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16431func (chree ClusterHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16432	return nil, false
16433}
16434
16435// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16436func (chree ClusterHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16437	return nil, false
16438}
16439
16440// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16441func (chree ClusterHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16442	return nil, false
16443}
16444
16445// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16446func (chree ClusterHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16447	return nil, false
16448}
16449
16450// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16451func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16452	return nil, false
16453}
16454
16455// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16456func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16457	return nil, false
16458}
16459
16460// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16461func (chree ClusterHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16462	return nil, false
16463}
16464
16465// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16466func (chree ClusterHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16467	return nil, false
16468}
16469
16470// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16471func (chree ClusterHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16472	return nil, false
16473}
16474
16475// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16476func (chree ClusterHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16477	return nil, false
16478}
16479
16480// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16481func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16482	return nil, false
16483}
16484
16485// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16486func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16487	return nil, false
16488}
16489
16490// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16491func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16492	return nil, false
16493}
16494
16495// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16496func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16497	return nil, false
16498}
16499
16500// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16501func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16502	return nil, false
16503}
16504
16505// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16506func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16507	return nil, false
16508}
16509
16510// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16511func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16512	return nil, false
16513}
16514
16515// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16516func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16517	return nil, false
16518}
16519
16520// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16521func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16522	return nil, false
16523}
16524
16525// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16526func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16527	return &chree, true
16528}
16529
16530// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16531func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16532	return nil, false
16533}
16534
16535// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16536func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16537	return nil, false
16538}
16539
16540// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16541func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16542	return nil, false
16543}
16544
16545// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16546func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16547	return nil, false
16548}
16549
16550// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16551func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16552	return nil, false
16553}
16554
16555// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16556func (chree ClusterHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16557	return nil, false
16558}
16559
16560// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16561func (chree ClusterHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16562	return nil, false
16563}
16564
16565// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16566func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16567	return nil, false
16568}
16569
16570// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16571func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16572	return nil, false
16573}
16574
16575// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16576func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16577	return nil, false
16578}
16579
16580// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16581func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16582	return nil, false
16583}
16584
16585// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16586func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16587	return nil, false
16588}
16589
16590// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16591func (chree ClusterHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16592	return nil, false
16593}
16594
16595// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16596func (chree ClusterHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16597	return nil, false
16598}
16599
16600// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16601func (chree ClusterHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16602	return nil, false
16603}
16604
16605// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16606func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16607	return nil, false
16608}
16609
16610// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16611func (chree ClusterHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
16612	return nil, false
16613}
16614
16615// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16616func (chree ClusterHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
16617	return &chree, true
16618}
16619
16620// ClusterManifest information about the cluster manifest.
16621type ClusterManifest struct {
16622	autorest.Response `json:"-"`
16623	// Manifest - The contents of the cluster manifest file.
16624	Manifest *string `json:"Manifest,omitempty"`
16625}
16626
16627// ClusterUpgradeCompleteEvent cluster Upgrade Complete event.
16628type ClusterUpgradeCompleteEvent struct {
16629	// TargetClusterVersion - Target Cluster version.
16630	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
16631	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
16632	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
16633	// EventInstanceID - The identifier for the FabricEvent instance.
16634	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
16635	// TimeStamp - The time event was logged.
16636	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
16637	// HasCorrelatedEvents - Shows there is existing related events available.
16638	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
16639	// 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'
16640	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
16641}
16642
16643// MarshalJSON is the custom marshaler for ClusterUpgradeCompleteEvent.
16644func (cuce ClusterUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
16645	cuce.Kind = KindClusterUpgradeComplete
16646	objectMap := make(map[string]interface{})
16647	if cuce.TargetClusterVersion != nil {
16648		objectMap["TargetClusterVersion"] = cuce.TargetClusterVersion
16649	}
16650	if cuce.OverallUpgradeElapsedTimeInMs != nil {
16651		objectMap["OverallUpgradeElapsedTimeInMs"] = cuce.OverallUpgradeElapsedTimeInMs
16652	}
16653	if cuce.EventInstanceID != nil {
16654		objectMap["EventInstanceId"] = cuce.EventInstanceID
16655	}
16656	if cuce.TimeStamp != nil {
16657		objectMap["TimeStamp"] = cuce.TimeStamp
16658	}
16659	if cuce.HasCorrelatedEvents != nil {
16660		objectMap["HasCorrelatedEvents"] = cuce.HasCorrelatedEvents
16661	}
16662	if cuce.Kind != "" {
16663		objectMap["Kind"] = cuce.Kind
16664	}
16665	return json.Marshal(objectMap)
16666}
16667
16668// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16669func (cuce ClusterUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16670	return nil, false
16671}
16672
16673// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16674func (cuce ClusterUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16675	return nil, false
16676}
16677
16678// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16679func (cuce ClusterUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
16680	return nil, false
16681}
16682
16683// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16684func (cuce ClusterUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16685	return &cuce, true
16686}
16687
16688// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16689func (cuce ClusterUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16690	return nil, false
16691}
16692
16693// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16694func (cuce ClusterUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
16695	return nil, false
16696}
16697
16698// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16699func (cuce ClusterUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16700	return nil, false
16701}
16702
16703// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16704func (cuce ClusterUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16705	return nil, false
16706}
16707
16708// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16709func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16710	return nil, false
16711}
16712
16713// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16714func (cuce ClusterUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16715	return nil, false
16716}
16717
16718// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16719func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16720	return nil, false
16721}
16722
16723// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16724func (cuce ClusterUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16725	return nil, false
16726}
16727
16728// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16729func (cuce ClusterUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16730	return nil, false
16731}
16732
16733// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16734func (cuce ClusterUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
16735	return nil, false
16736}
16737
16738// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16739func (cuce ClusterUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16740	return nil, false
16741}
16742
16743// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16744func (cuce ClusterUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16745	return nil, false
16746}
16747
16748// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16749func (cuce ClusterUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16750	return nil, false
16751}
16752
16753// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16754func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16755	return nil, false
16756}
16757
16758// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16759func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16760	return nil, false
16761}
16762
16763// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16764func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16765	return nil, false
16766}
16767
16768// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16769func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16770	return nil, false
16771}
16772
16773// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16774func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16775	return nil, false
16776}
16777
16778// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16779func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16780	return nil, false
16781}
16782
16783// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16784func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16785	return nil, false
16786}
16787
16788// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16789func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16790	return nil, false
16791}
16792
16793// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16794func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16795	return nil, false
16796}
16797
16798// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16799func (cuce ClusterUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16800	return nil, false
16801}
16802
16803// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16804func (cuce ClusterUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16805	return nil, false
16806}
16807
16808// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16809func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16810	return nil, false
16811}
16812
16813// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16814func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16815	return nil, false
16816}
16817
16818// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16819func (cuce ClusterUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16820	return nil, false
16821}
16822
16823// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16824func (cuce ClusterUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16825	return nil, false
16826}
16827
16828// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16829func (cuce ClusterUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16830	return nil, false
16831}
16832
16833// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16834func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16835	return nil, false
16836}
16837
16838// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16839func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16840	return nil, false
16841}
16842
16843// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16844func (cuce ClusterUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16845	return nil, false
16846}
16847
16848// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16849func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16850	return nil, false
16851}
16852
16853// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16854func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16855	return nil, false
16856}
16857
16858// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16859func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16860	return nil, false
16861}
16862
16863// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16864func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16865	return nil, false
16866}
16867
16868// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16869func (cuce ClusterUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16870	return nil, false
16871}
16872
16873// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16874func (cuce ClusterUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16875	return nil, false
16876}
16877
16878// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16879func (cuce ClusterUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16880	return nil, false
16881}
16882
16883// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16884func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16885	return nil, false
16886}
16887
16888// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16889func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16890	return nil, false
16891}
16892
16893// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16894func (cuce ClusterUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16895	return nil, false
16896}
16897
16898// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16899func (cuce ClusterUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16900	return nil, false
16901}
16902
16903// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16904func (cuce ClusterUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16905	return nil, false
16906}
16907
16908// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16909func (cuce ClusterUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16910	return nil, false
16911}
16912
16913// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16914func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16915	return nil, false
16916}
16917
16918// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16919func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16920	return nil, false
16921}
16922
16923// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16924func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16925	return nil, false
16926}
16927
16928// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16929func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16930	return nil, false
16931}
16932
16933// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16934func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16935	return nil, false
16936}
16937
16938// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16939func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16940	return nil, false
16941}
16942
16943// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16944func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16945	return nil, false
16946}
16947
16948// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16949func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16950	return nil, false
16951}
16952
16953// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16954func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16955	return nil, false
16956}
16957
16958// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16959func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16960	return nil, false
16961}
16962
16963// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16964func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16965	return &cuce, true
16966}
16967
16968// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16969func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16970	return nil, false
16971}
16972
16973// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16974func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16975	return nil, false
16976}
16977
16978// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16979func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16980	return nil, false
16981}
16982
16983// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16984func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16985	return nil, false
16986}
16987
16988// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16989func (cuce ClusterUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16990	return nil, false
16991}
16992
16993// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16994func (cuce ClusterUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16995	return nil, false
16996}
16997
16998// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16999func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
17000	return nil, false
17001}
17002
17003// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17004func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
17005	return nil, false
17006}
17007
17008// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17009func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
17010	return nil, false
17011}
17012
17013// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17014func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
17015	return nil, false
17016}
17017
17018// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17019func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
17020	return nil, false
17021}
17022
17023// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17024func (cuce ClusterUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
17025	return nil, false
17026}
17027
17028// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17029func (cuce ClusterUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
17030	return nil, false
17031}
17032
17033// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17034func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
17035	return nil, false
17036}
17037
17038// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17039func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
17040	return nil, false
17041}
17042
17043// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17044func (cuce ClusterUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
17045	return nil, false
17046}
17047
17048// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17049func (cuce ClusterUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17050	return &cuce, true
17051}
17052
17053// ClusterUpgradeDescriptionObject represents a ServiceFabric cluster upgrade
17054type ClusterUpgradeDescriptionObject struct {
17055	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
17056	ConfigVersion *string `json:"ConfigVersion,omitempty"`
17057	// CodeVersion - The ServiceFabric code version of the cluster.
17058	CodeVersion *string `json:"CodeVersion,omitempty"`
17059	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
17060	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
17061	// 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'
17062	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
17063	// 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).
17064	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
17065	// 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).
17066	ForceRestart *bool `json:"ForceRestart,omitempty"`
17067	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
17068	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
17069	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
17070	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
17071	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
17072	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
17073	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
17074	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
17075	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
17076	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
17077	// 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).
17078	// The map is empty by default.
17079	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
17080}
17081
17082// ClusterUpgradeDomainCompleteEvent cluster Upgrade Domain Complete event.
17083type ClusterUpgradeDomainCompleteEvent struct {
17084	// TargetClusterVersion - Target Cluster version.
17085	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
17086	// UpgradeState - State of upgrade.
17087	UpgradeState *string `json:"UpgradeState,omitempty"`
17088	// UpgradeDomains - Upgrade domains.
17089	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
17090	// UpgradeDomainElapsedTimeInMs - Duration of domain upgrade in milli-seconds.
17091	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
17092	// EventInstanceID - The identifier for the FabricEvent instance.
17093	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17094	// TimeStamp - The time event was logged.
17095	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17096	// HasCorrelatedEvents - Shows there is existing related events available.
17097	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17098	// 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'
17099	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17100}
17101
17102// MarshalJSON is the custom marshaler for ClusterUpgradeDomainCompleteEvent.
17103func (cudce ClusterUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
17104	cudce.Kind = KindClusterUpgradeDomainComplete
17105	objectMap := make(map[string]interface{})
17106	if cudce.TargetClusterVersion != nil {
17107		objectMap["TargetClusterVersion"] = cudce.TargetClusterVersion
17108	}
17109	if cudce.UpgradeState != nil {
17110		objectMap["UpgradeState"] = cudce.UpgradeState
17111	}
17112	if cudce.UpgradeDomains != nil {
17113		objectMap["UpgradeDomains"] = cudce.UpgradeDomains
17114	}
17115	if cudce.UpgradeDomainElapsedTimeInMs != nil {
17116		objectMap["UpgradeDomainElapsedTimeInMs"] = cudce.UpgradeDomainElapsedTimeInMs
17117	}
17118	if cudce.EventInstanceID != nil {
17119		objectMap["EventInstanceId"] = cudce.EventInstanceID
17120	}
17121	if cudce.TimeStamp != nil {
17122		objectMap["TimeStamp"] = cudce.TimeStamp
17123	}
17124	if cudce.HasCorrelatedEvents != nil {
17125		objectMap["HasCorrelatedEvents"] = cudce.HasCorrelatedEvents
17126	}
17127	if cudce.Kind != "" {
17128		objectMap["Kind"] = cudce.Kind
17129	}
17130	return json.Marshal(objectMap)
17131}
17132
17133// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17134func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
17135	return nil, false
17136}
17137
17138// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17139func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
17140	return nil, false
17141}
17142
17143// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17144func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
17145	return nil, false
17146}
17147
17148// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17149func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
17150	return &cudce, true
17151}
17152
17153// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17154func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
17155	return nil, false
17156}
17157
17158// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17159func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
17160	return nil, false
17161}
17162
17163// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17164func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
17165	return nil, false
17166}
17167
17168// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17169func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
17170	return nil, false
17171}
17172
17173// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17174func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
17175	return nil, false
17176}
17177
17178// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17179func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
17180	return nil, false
17181}
17182
17183// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17184func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
17185	return nil, false
17186}
17187
17188// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17189func (cudce ClusterUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
17190	return nil, false
17191}
17192
17193// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17194func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
17195	return nil, false
17196}
17197
17198// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17199func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
17200	return nil, false
17201}
17202
17203// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17204func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
17205	return nil, false
17206}
17207
17208// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17209func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
17210	return nil, false
17211}
17212
17213// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17214func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
17215	return nil, false
17216}
17217
17218// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17219func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
17220	return nil, false
17221}
17222
17223// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17224func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
17225	return nil, false
17226}
17227
17228// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17229func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
17230	return nil, false
17231}
17232
17233// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17234func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
17235	return nil, false
17236}
17237
17238// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17239func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
17240	return nil, false
17241}
17242
17243// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17244func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
17245	return nil, false
17246}
17247
17248// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17249func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
17250	return nil, false
17251}
17252
17253// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17254func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
17255	return nil, false
17256}
17257
17258// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17259func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
17260	return nil, false
17261}
17262
17263// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17264func (cudce ClusterUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
17265	return nil, false
17266}
17267
17268// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17269func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
17270	return nil, false
17271}
17272
17273// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17274func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17275	return nil, false
17276}
17277
17278// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17279func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17280	return nil, false
17281}
17282
17283// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17284func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17285	return nil, false
17286}
17287
17288// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17289func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17290	return nil, false
17291}
17292
17293// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17294func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17295	return nil, false
17296}
17297
17298// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17299func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17300	return nil, false
17301}
17302
17303// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17304func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17305	return nil, false
17306}
17307
17308// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17309func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17310	return nil, false
17311}
17312
17313// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17314func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
17315	return nil, false
17316}
17317
17318// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17319func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
17320	return nil, false
17321}
17322
17323// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17324func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
17325	return nil, false
17326}
17327
17328// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17329func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
17330	return nil, false
17331}
17332
17333// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17334func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
17335	return nil, false
17336}
17337
17338// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17339func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
17340	return nil, false
17341}
17342
17343// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17344func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
17345	return nil, false
17346}
17347
17348// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17349func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
17350	return nil, false
17351}
17352
17353// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17354func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
17355	return nil, false
17356}
17357
17358// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17359func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
17360	return nil, false
17361}
17362
17363// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17364func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
17365	return nil, false
17366}
17367
17368// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17369func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
17370	return nil, false
17371}
17372
17373// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17374func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
17375	return nil, false
17376}
17377
17378// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17379func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
17380	return nil, false
17381}
17382
17383// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17384func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
17385	return nil, false
17386}
17387
17388// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17389func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
17390	return nil, false
17391}
17392
17393// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17394func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
17395	return nil, false
17396}
17397
17398// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17399func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
17400	return nil, false
17401}
17402
17403// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17404func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
17405	return nil, false
17406}
17407
17408// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17409func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
17410	return nil, false
17411}
17412
17413// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17414func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
17415	return nil, false
17416}
17417
17418// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17419func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
17420	return nil, false
17421}
17422
17423// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17424func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
17425	return nil, false
17426}
17427
17428// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17429func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
17430	return nil, false
17431}
17432
17433// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17434func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
17435	return &cudce, true
17436}
17437
17438// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17439func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
17440	return nil, false
17441}
17442
17443// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17444func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
17445	return nil, false
17446}
17447
17448// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17449func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
17450	return nil, false
17451}
17452
17453// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17454func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
17455	return nil, false
17456}
17457
17458// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17459func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
17460	return nil, false
17461}
17462
17463// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17464func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
17465	return nil, false
17466}
17467
17468// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17469func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
17470	return nil, false
17471}
17472
17473// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17474func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
17475	return nil, false
17476}
17477
17478// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17479func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
17480	return nil, false
17481}
17482
17483// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17484func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
17485	return nil, false
17486}
17487
17488// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17489func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
17490	return nil, false
17491}
17492
17493// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17494func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
17495	return nil, false
17496}
17497
17498// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17499func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
17500	return nil, false
17501}
17502
17503// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17504func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
17505	return nil, false
17506}
17507
17508// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17509func (cudce ClusterUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
17510	return nil, false
17511}
17512
17513// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17514func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17515	return &cudce, true
17516}
17517
17518// ClusterUpgradeHealthPolicyObject defines a health policy used to evaluate the health of the cluster during a
17519// cluster upgrade.
17520type ClusterUpgradeHealthPolicyObject struct {
17521	// 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%.
17522	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
17523	// 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%.
17524	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
17525}
17526
17527// ClusterUpgradeProgressObject information about a cluster upgrade.
17528type ClusterUpgradeProgressObject struct {
17529	autorest.Response `json:"-"`
17530	// CodeVersion - The ServiceFabric code version of the cluster.
17531	CodeVersion *string `json:"CodeVersion,omitempty"`
17532	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
17533	ConfigVersion *string `json:"ConfigVersion,omitempty"`
17534	// UpgradeDomains - List of upgrade domains and their statuses.
17535	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
17536	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
17537	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
17538	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
17539	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
17540	// 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'
17541	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
17542	// UpgradeDescription - Represents a ServiceFabric cluster upgrade
17543	UpgradeDescription *ClusterUpgradeDescriptionObject `json:"UpgradeDescription,omitempty"`
17544	// UpgradeDurationInMilliseconds - The estimated elapsed time spent processing the current overall upgrade.
17545	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
17546	// UpgradeDomainDurationInMilliseconds - The estimated elapsed time spent processing the current upgrade domain.
17547	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
17548	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
17549	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
17550	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
17551	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
17552	// StartTimestampUtc - The start time of the upgrade in UTC.
17553	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
17554	// FailureTimestampUtc - The failure time of the upgrade in UTC.
17555	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
17556	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
17557	FailureReason FailureReason `json:"FailureReason,omitempty"`
17558	// UpgradeDomainProgressAtFailure - The detailed upgrade progress for nodes in the current upgrade domain at the point of failure.
17559	UpgradeDomainProgressAtFailure *FailedUpgradeDomainProgressObject `json:"UpgradeDomainProgressAtFailure,omitempty"`
17560}
17561
17562// ClusterUpgradeRollbackCompleteEvent cluster Upgrade Rollback Complete event.
17563type ClusterUpgradeRollbackCompleteEvent struct {
17564	// TargetClusterVersion - Target Cluster version.
17565	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
17566	// FailureReason - Describes failure.
17567	FailureReason *string `json:"FailureReason,omitempty"`
17568	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
17569	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
17570	// EventInstanceID - The identifier for the FabricEvent instance.
17571	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17572	// TimeStamp - The time event was logged.
17573	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17574	// HasCorrelatedEvents - Shows there is existing related events available.
17575	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17576	// 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'
17577	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17578}
17579
17580// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackCompleteEvent.
17581func (curce ClusterUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
17582	curce.Kind = KindClusterUpgradeRollbackComplete
17583	objectMap := make(map[string]interface{})
17584	if curce.TargetClusterVersion != nil {
17585		objectMap["TargetClusterVersion"] = curce.TargetClusterVersion
17586	}
17587	if curce.FailureReason != nil {
17588		objectMap["FailureReason"] = curce.FailureReason
17589	}
17590	if curce.OverallUpgradeElapsedTimeInMs != nil {
17591		objectMap["OverallUpgradeElapsedTimeInMs"] = curce.OverallUpgradeElapsedTimeInMs
17592	}
17593	if curce.EventInstanceID != nil {
17594		objectMap["EventInstanceId"] = curce.EventInstanceID
17595	}
17596	if curce.TimeStamp != nil {
17597		objectMap["TimeStamp"] = curce.TimeStamp
17598	}
17599	if curce.HasCorrelatedEvents != nil {
17600		objectMap["HasCorrelatedEvents"] = curce.HasCorrelatedEvents
17601	}
17602	if curce.Kind != "" {
17603		objectMap["Kind"] = curce.Kind
17604	}
17605	return json.Marshal(objectMap)
17606}
17607
17608// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17609func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
17610	return nil, false
17611}
17612
17613// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17614func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
17615	return nil, false
17616}
17617
17618// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17619func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
17620	return nil, false
17621}
17622
17623// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17624func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
17625	return &curce, true
17626}
17627
17628// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17629func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
17630	return nil, false
17631}
17632
17633// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17634func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
17635	return nil, false
17636}
17637
17638// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17639func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
17640	return nil, false
17641}
17642
17643// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17644func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
17645	return nil, false
17646}
17647
17648// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17649func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
17650	return nil, false
17651}
17652
17653// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17654func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
17655	return nil, false
17656}
17657
17658// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17659func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
17660	return nil, false
17661}
17662
17663// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17664func (curce ClusterUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
17665	return nil, false
17666}
17667
17668// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17669func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
17670	return nil, false
17671}
17672
17673// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17674func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
17675	return nil, false
17676}
17677
17678// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17679func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
17680	return nil, false
17681}
17682
17683// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17684func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
17685	return nil, false
17686}
17687
17688// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17689func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
17690	return nil, false
17691}
17692
17693// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17694func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
17695	return nil, false
17696}
17697
17698// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17699func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
17700	return nil, false
17701}
17702
17703// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17704func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
17705	return nil, false
17706}
17707
17708// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17709func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
17710	return nil, false
17711}
17712
17713// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17714func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
17715	return nil, false
17716}
17717
17718// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17719func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
17720	return nil, false
17721}
17722
17723// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17724func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
17725	return nil, false
17726}
17727
17728// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17729func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
17730	return nil, false
17731}
17732
17733// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17734func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
17735	return nil, false
17736}
17737
17738// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17739func (curce ClusterUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
17740	return nil, false
17741}
17742
17743// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17744func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
17745	return nil, false
17746}
17747
17748// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17749func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17750	return nil, false
17751}
17752
17753// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17754func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17755	return nil, false
17756}
17757
17758// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17759func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17760	return nil, false
17761}
17762
17763// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17764func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17765	return nil, false
17766}
17767
17768// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17769func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17770	return nil, false
17771}
17772
17773// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17774func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17775	return nil, false
17776}
17777
17778// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17779func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17780	return nil, false
17781}
17782
17783// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17784func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17785	return nil, false
17786}
17787
17788// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17789func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
17790	return nil, false
17791}
17792
17793// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17794func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
17795	return nil, false
17796}
17797
17798// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17799func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
17800	return nil, false
17801}
17802
17803// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17804func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
17805	return nil, false
17806}
17807
17808// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17809func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
17810	return nil, false
17811}
17812
17813// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17814func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
17815	return nil, false
17816}
17817
17818// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17819func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
17820	return nil, false
17821}
17822
17823// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17824func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
17825	return nil, false
17826}
17827
17828// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17829func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
17830	return nil, false
17831}
17832
17833// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17834func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
17835	return nil, false
17836}
17837
17838// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17839func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
17840	return nil, false
17841}
17842
17843// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17844func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
17845	return nil, false
17846}
17847
17848// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17849func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
17850	return nil, false
17851}
17852
17853// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17854func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
17855	return nil, false
17856}
17857
17858// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17859func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
17860	return nil, false
17861}
17862
17863// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17864func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
17865	return nil, false
17866}
17867
17868// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17869func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
17870	return nil, false
17871}
17872
17873// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17874func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
17875	return nil, false
17876}
17877
17878// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17879func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
17880	return nil, false
17881}
17882
17883// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17884func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
17885	return nil, false
17886}
17887
17888// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17889func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
17890	return nil, false
17891}
17892
17893// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17894func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
17895	return nil, false
17896}
17897
17898// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17899func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
17900	return nil, false
17901}
17902
17903// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17904func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
17905	return nil, false
17906}
17907
17908// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17909func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
17910	return nil, false
17911}
17912
17913// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17914func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
17915	return &curce, true
17916}
17917
17918// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17919func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
17920	return nil, false
17921}
17922
17923// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17924func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
17925	return nil, false
17926}
17927
17928// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17929func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
17930	return nil, false
17931}
17932
17933// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17934func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
17935	return nil, false
17936}
17937
17938// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17939func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
17940	return nil, false
17941}
17942
17943// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17944func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
17945	return nil, false
17946}
17947
17948// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17949func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
17950	return nil, false
17951}
17952
17953// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17954func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
17955	return nil, false
17956}
17957
17958// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17959func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
17960	return nil, false
17961}
17962
17963// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17964func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
17965	return nil, false
17966}
17967
17968// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17969func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
17970	return nil, false
17971}
17972
17973// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17974func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
17975	return nil, false
17976}
17977
17978// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17979func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
17980	return nil, false
17981}
17982
17983// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17984func (curce ClusterUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
17985	return nil, false
17986}
17987
17988// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17989func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17990	return &curce, true
17991}
17992
17993// ClusterUpgradeRollbackStartEvent cluster Upgrade Rollback Start event.
17994type ClusterUpgradeRollbackStartEvent struct {
17995	// TargetClusterVersion - Target Cluster version.
17996	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
17997	// FailureReason - Describes failure.
17998	FailureReason *string `json:"FailureReason,omitempty"`
17999	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
18000	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
18001	// EventInstanceID - The identifier for the FabricEvent instance.
18002	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
18003	// TimeStamp - The time event was logged.
18004	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
18005	// HasCorrelatedEvents - Shows there is existing related events available.
18006	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
18007	// 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'
18008	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
18009}
18010
18011// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackStartEvent.
18012func (curse ClusterUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
18013	curse.Kind = KindClusterUpgradeRollbackStart
18014	objectMap := make(map[string]interface{})
18015	if curse.TargetClusterVersion != nil {
18016		objectMap["TargetClusterVersion"] = curse.TargetClusterVersion
18017	}
18018	if curse.FailureReason != nil {
18019		objectMap["FailureReason"] = curse.FailureReason
18020	}
18021	if curse.OverallUpgradeElapsedTimeInMs != nil {
18022		objectMap["OverallUpgradeElapsedTimeInMs"] = curse.OverallUpgradeElapsedTimeInMs
18023	}
18024	if curse.EventInstanceID != nil {
18025		objectMap["EventInstanceId"] = curse.EventInstanceID
18026	}
18027	if curse.TimeStamp != nil {
18028		objectMap["TimeStamp"] = curse.TimeStamp
18029	}
18030	if curse.HasCorrelatedEvents != nil {
18031		objectMap["HasCorrelatedEvents"] = curse.HasCorrelatedEvents
18032	}
18033	if curse.Kind != "" {
18034		objectMap["Kind"] = curse.Kind
18035	}
18036	return json.Marshal(objectMap)
18037}
18038
18039// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18040func (curse ClusterUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
18041	return nil, false
18042}
18043
18044// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18045func (curse ClusterUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
18046	return nil, false
18047}
18048
18049// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18050func (curse ClusterUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
18051	return nil, false
18052}
18053
18054// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18055func (curse ClusterUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
18056	return &curse, true
18057}
18058
18059// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18060func (curse ClusterUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
18061	return nil, false
18062}
18063
18064// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18065func (curse ClusterUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
18066	return nil, false
18067}
18068
18069// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18070func (curse ClusterUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
18071	return nil, false
18072}
18073
18074// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18075func (curse ClusterUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
18076	return nil, false
18077}
18078
18079// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18080func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
18081	return nil, false
18082}
18083
18084// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18085func (curse ClusterUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
18086	return nil, false
18087}
18088
18089// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18090func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
18091	return nil, false
18092}
18093
18094// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18095func (curse ClusterUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
18096	return nil, false
18097}
18098
18099// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18100func (curse ClusterUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
18101	return nil, false
18102}
18103
18104// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18105func (curse ClusterUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
18106	return nil, false
18107}
18108
18109// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18110func (curse ClusterUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
18111	return nil, false
18112}
18113
18114// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18115func (curse ClusterUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
18116	return nil, false
18117}
18118
18119// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18120func (curse ClusterUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
18121	return nil, false
18122}
18123
18124// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18125func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
18126	return nil, false
18127}
18128
18129// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18130func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
18131	return nil, false
18132}
18133
18134// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18135func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
18136	return nil, false
18137}
18138
18139// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18140func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
18141	return nil, false
18142}
18143
18144// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18145func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
18146	return nil, false
18147}
18148
18149// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18150func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
18151	return nil, false
18152}
18153
18154// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18155func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
18156	return nil, false
18157}
18158
18159// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18160func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
18161	return nil, false
18162}
18163
18164// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18165func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
18166	return nil, false
18167}
18168
18169// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18170func (curse ClusterUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
18171	return nil, false
18172}
18173
18174// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18175func (curse ClusterUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
18176	return nil, false
18177}
18178
18179// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18180func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
18181	return nil, false
18182}
18183
18184// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18185func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
18186	return nil, false
18187}
18188
18189// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18190func (curse ClusterUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
18191	return nil, false
18192}
18193
18194// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18195func (curse ClusterUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
18196	return nil, false
18197}
18198
18199// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18200func (curse ClusterUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
18201	return nil, false
18202}
18203
18204// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18205func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
18206	return nil, false
18207}
18208
18209// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18210func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
18211	return nil, false
18212}
18213
18214// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18215func (curse ClusterUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
18216	return nil, false
18217}
18218
18219// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18220func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18221	return nil, false
18222}
18223
18224// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18225func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18226	return nil, false
18227}
18228
18229// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18230func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18231	return nil, false
18232}
18233
18234// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18235func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18236	return nil, false
18237}
18238
18239// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18240func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18241	return nil, false
18242}
18243
18244// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18245func (curse ClusterUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18246	return nil, false
18247}
18248
18249// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18250func (curse ClusterUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18251	return nil, false
18252}
18253
18254// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18255func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18256	return nil, false
18257}
18258
18259// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18260func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18261	return nil, false
18262}
18263
18264// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18265func (curse ClusterUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18266	return nil, false
18267}
18268
18269// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18270func (curse ClusterUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18271	return nil, false
18272}
18273
18274// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18275func (curse ClusterUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18276	return nil, false
18277}
18278
18279// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18280func (curse ClusterUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18281	return nil, false
18282}
18283
18284// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18285func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18286	return nil, false
18287}
18288
18289// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18290func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18291	return nil, false
18292}
18293
18294// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18295func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18296	return nil, false
18297}
18298
18299// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18300func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18301	return nil, false
18302}
18303
18304// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18305func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18306	return nil, false
18307}
18308
18309// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18310func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18311	return nil, false
18312}
18313
18314// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18315func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18316	return nil, false
18317}
18318
18319// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18320func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18321	return nil, false
18322}
18323
18324// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18325func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18326	return nil, false
18327}
18328
18329// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18330func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18331	return nil, false
18332}
18333
18334// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18335func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18336	return nil, false
18337}
18338
18339// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18340func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18341	return nil, false
18342}
18343
18344// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18345func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18346	return nil, false
18347}
18348
18349// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18350func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18351	return &curse, true
18352}
18353
18354// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18355func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18356	return nil, false
18357}
18358
18359// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18360func (curse ClusterUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18361	return nil, false
18362}
18363
18364// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18365func (curse ClusterUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
18366	return nil, false
18367}
18368
18369// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18370func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
18371	return nil, false
18372}
18373
18374// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18375func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
18376	return nil, false
18377}
18378
18379// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18380func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
18381	return nil, false
18382}
18383
18384// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18385func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
18386	return nil, false
18387}
18388
18389// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18390func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
18391	return nil, false
18392}
18393
18394// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18395func (curse ClusterUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
18396	return nil, false
18397}
18398
18399// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18400func (curse ClusterUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
18401	return nil, false
18402}
18403
18404// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18405func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
18406	return nil, false
18407}
18408
18409// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18410func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
18411	return nil, false
18412}
18413
18414// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18415func (curse ClusterUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
18416	return nil, false
18417}
18418
18419// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18420func (curse ClusterUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
18421	return &curse, true
18422}
18423
18424// ClusterUpgradeStartEvent cluster Upgrade Start event.
18425type ClusterUpgradeStartEvent struct {
18426	// CurrentClusterVersion - Current Cluster version.
18427	CurrentClusterVersion *string `json:"CurrentClusterVersion,omitempty"`
18428	// TargetClusterVersion - Target Cluster version.
18429	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
18430	// UpgradeType - Type of upgrade.
18431	UpgradeType *string `json:"UpgradeType,omitempty"`
18432	// RollingUpgradeMode - Mode of upgrade.
18433	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
18434	// FailureAction - Action if failed.
18435	FailureAction *string `json:"FailureAction,omitempty"`
18436	// EventInstanceID - The identifier for the FabricEvent instance.
18437	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
18438	// TimeStamp - The time event was logged.
18439	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
18440	// HasCorrelatedEvents - Shows there is existing related events available.
18441	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
18442	// 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'
18443	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
18444}
18445
18446// MarshalJSON is the custom marshaler for ClusterUpgradeStartEvent.
18447func (cuse ClusterUpgradeStartEvent) MarshalJSON() ([]byte, error) {
18448	cuse.Kind = KindClusterUpgradeStart
18449	objectMap := make(map[string]interface{})
18450	if cuse.CurrentClusterVersion != nil {
18451		objectMap["CurrentClusterVersion"] = cuse.CurrentClusterVersion
18452	}
18453	if cuse.TargetClusterVersion != nil {
18454		objectMap["TargetClusterVersion"] = cuse.TargetClusterVersion
18455	}
18456	if cuse.UpgradeType != nil {
18457		objectMap["UpgradeType"] = cuse.UpgradeType
18458	}
18459	if cuse.RollingUpgradeMode != nil {
18460		objectMap["RollingUpgradeMode"] = cuse.RollingUpgradeMode
18461	}
18462	if cuse.FailureAction != nil {
18463		objectMap["FailureAction"] = cuse.FailureAction
18464	}
18465	if cuse.EventInstanceID != nil {
18466		objectMap["EventInstanceId"] = cuse.EventInstanceID
18467	}
18468	if cuse.TimeStamp != nil {
18469		objectMap["TimeStamp"] = cuse.TimeStamp
18470	}
18471	if cuse.HasCorrelatedEvents != nil {
18472		objectMap["HasCorrelatedEvents"] = cuse.HasCorrelatedEvents
18473	}
18474	if cuse.Kind != "" {
18475		objectMap["Kind"] = cuse.Kind
18476	}
18477	return json.Marshal(objectMap)
18478}
18479
18480// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18481func (cuse ClusterUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
18482	return nil, false
18483}
18484
18485// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18486func (cuse ClusterUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
18487	return nil, false
18488}
18489
18490// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18491func (cuse ClusterUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
18492	return nil, false
18493}
18494
18495// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18496func (cuse ClusterUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
18497	return &cuse, true
18498}
18499
18500// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18501func (cuse ClusterUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
18502	return nil, false
18503}
18504
18505// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18506func (cuse ClusterUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
18507	return nil, false
18508}
18509
18510// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18511func (cuse ClusterUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
18512	return nil, false
18513}
18514
18515// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18516func (cuse ClusterUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
18517	return nil, false
18518}
18519
18520// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18521func (cuse ClusterUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
18522	return nil, false
18523}
18524
18525// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18526func (cuse ClusterUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
18527	return nil, false
18528}
18529
18530// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18531func (cuse ClusterUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
18532	return nil, false
18533}
18534
18535// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18536func (cuse ClusterUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
18537	return nil, false
18538}
18539
18540// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18541func (cuse ClusterUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
18542	return nil, false
18543}
18544
18545// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18546func (cuse ClusterUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
18547	return nil, false
18548}
18549
18550// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18551func (cuse ClusterUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
18552	return nil, false
18553}
18554
18555// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18556func (cuse ClusterUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
18557	return nil, false
18558}
18559
18560// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18561func (cuse ClusterUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
18562	return nil, false
18563}
18564
18565// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18566func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
18567	return nil, false
18568}
18569
18570// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18571func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
18572	return nil, false
18573}
18574
18575// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18576func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
18577	return nil, false
18578}
18579
18580// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18581func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
18582	return nil, false
18583}
18584
18585// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18586func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
18587	return nil, false
18588}
18589
18590// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18591func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
18592	return nil, false
18593}
18594
18595// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18596func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
18597	return nil, false
18598}
18599
18600// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18601func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
18602	return nil, false
18603}
18604
18605// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18606func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
18607	return nil, false
18608}
18609
18610// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18611func (cuse ClusterUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
18612	return nil, false
18613}
18614
18615// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18616func (cuse ClusterUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
18617	return nil, false
18618}
18619
18620// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18621func (cuse ClusterUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
18622	return nil, false
18623}
18624
18625// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18626func (cuse ClusterUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
18627	return nil, false
18628}
18629
18630// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18631func (cuse ClusterUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
18632	return nil, false
18633}
18634
18635// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18636func (cuse ClusterUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
18637	return nil, false
18638}
18639
18640// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18641func (cuse ClusterUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
18642	return nil, false
18643}
18644
18645// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18646func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
18647	return nil, false
18648}
18649
18650// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18651func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
18652	return nil, false
18653}
18654
18655// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18656func (cuse ClusterUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
18657	return nil, false
18658}
18659
18660// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18661func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18662	return nil, false
18663}
18664
18665// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18666func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18667	return nil, false
18668}
18669
18670// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18671func (cuse ClusterUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18672	return nil, false
18673}
18674
18675// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18676func (cuse ClusterUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18677	return nil, false
18678}
18679
18680// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18681func (cuse ClusterUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18682	return nil, false
18683}
18684
18685// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18686func (cuse ClusterUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18687	return nil, false
18688}
18689
18690// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18691func (cuse ClusterUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18692	return nil, false
18693}
18694
18695// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18696func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18697	return nil, false
18698}
18699
18700// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18701func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18702	return nil, false
18703}
18704
18705// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18706func (cuse ClusterUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18707	return nil, false
18708}
18709
18710// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18711func (cuse ClusterUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18712	return nil, false
18713}
18714
18715// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18716func (cuse ClusterUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18717	return nil, false
18718}
18719
18720// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18721func (cuse ClusterUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18722	return nil, false
18723}
18724
18725// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18726func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18727	return nil, false
18728}
18729
18730// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18731func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18732	return nil, false
18733}
18734
18735// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18736func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18737	return nil, false
18738}
18739
18740// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18741func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18742	return nil, false
18743}
18744
18745// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18746func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18747	return nil, false
18748}
18749
18750// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18751func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18752	return nil, false
18753}
18754
18755// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18756func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18757	return nil, false
18758}
18759
18760// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18761func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18762	return nil, false
18763}
18764
18765// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18766func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18767	return nil, false
18768}
18769
18770// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18771func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18772	return nil, false
18773}
18774
18775// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18776func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18777	return nil, false
18778}
18779
18780// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18781func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18782	return nil, false
18783}
18784
18785// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18786func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18787	return nil, false
18788}
18789
18790// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18791func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18792	return nil, false
18793}
18794
18795// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18796func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18797	return &cuse, true
18798}
18799
18800// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18801func (cuse ClusterUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18802	return nil, false
18803}
18804
18805// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18806func (cuse ClusterUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
18807	return nil, false
18808}
18809
18810// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18811func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
18812	return nil, false
18813}
18814
18815// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18816func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
18817	return nil, false
18818}
18819
18820// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18821func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
18822	return nil, false
18823}
18824
18825// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18826func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
18827	return nil, false
18828}
18829
18830// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18831func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
18832	return nil, false
18833}
18834
18835// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18836func (cuse ClusterUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
18837	return nil, false
18838}
18839
18840// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18841func (cuse ClusterUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
18842	return nil, false
18843}
18844
18845// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18846func (cuse ClusterUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
18847	return nil, false
18848}
18849
18850// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18851func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
18852	return nil, false
18853}
18854
18855// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18856func (cuse ClusterUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
18857	return nil, false
18858}
18859
18860// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18861func (cuse ClusterUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
18862	return &cuse, true
18863}
18864
18865// CodePackageEntryPoint information about setup or main entry point of a code package deployed on a Service Fabric
18866// node.
18867type CodePackageEntryPoint struct {
18868	// EntryPointLocation - The location of entry point executable on the node.
18869	EntryPointLocation *string `json:"EntryPointLocation,omitempty"`
18870	// ProcessID - The process ID of the entry point.
18871	ProcessID *string `json:"ProcessId,omitempty"`
18872	// RunAsUserName - The user name under which entry point executable is run on the node.
18873	RunAsUserName *string `json:"RunAsUserName,omitempty"`
18874	// CodePackageEntryPointStatistics - Statistics about setup or main entry point  of a code package deployed on a Service Fabric node.
18875	CodePackageEntryPointStatistics *CodePackageEntryPointStatistics `json:"CodePackageEntryPointStatistics,omitempty"`
18876	// 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'
18877	Status EntryPointStatus `json:"Status,omitempty"`
18878	// NextActivationTime - The time (in UTC) when the entry point executable will be run next.
18879	NextActivationTime *date.Time `json:"NextActivationTime,omitempty"`
18880	// 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.
18881	InstanceID *string `json:"InstanceId,omitempty"`
18882}
18883
18884// CodePackageEntryPointStatistics statistics about setup or main entry point  of a code package deployed on a
18885// Service Fabric node.
18886type CodePackageEntryPointStatistics struct {
18887	// LastExitCode - The last exit code of the entry point.
18888	LastExitCode *string `json:"LastExitCode,omitempty"`
18889	// LastActivationTime - The last time (in UTC) when Service Fabric attempted to run the entry point.
18890	LastActivationTime *date.Time `json:"LastActivationTime,omitempty"`
18891	// LastExitTime - The last time (in UTC) when the entry point finished running.
18892	LastExitTime *date.Time `json:"LastExitTime,omitempty"`
18893	// LastSuccessfulActivationTime - The last time (in UTC) when the entry point ran successfully.
18894	LastSuccessfulActivationTime *date.Time `json:"LastSuccessfulActivationTime,omitempty"`
18895	// LastSuccessfulExitTime - The last time (in UTC) when the entry point finished running gracefully.
18896	LastSuccessfulExitTime *date.Time `json:"LastSuccessfulExitTime,omitempty"`
18897	// ActivationCount - Number of times the entry point has run.
18898	ActivationCount *string `json:"ActivationCount,omitempty"`
18899	// ActivationFailureCount - Number of times the entry point failed to run.
18900	ActivationFailureCount *string `json:"ActivationFailureCount,omitempty"`
18901	// ContinuousActivationFailureCount - Number of times the entry point continuously failed to run.
18902	ContinuousActivationFailureCount *string `json:"ContinuousActivationFailureCount,omitempty"`
18903	// ExitCount - Number of times the entry point finished running.
18904	ExitCount *string `json:"ExitCount,omitempty"`
18905	// ExitFailureCount - Number of times the entry point failed to exit gracefully.
18906	ExitFailureCount *string `json:"ExitFailureCount,omitempty"`
18907	// ContinuousExitFailureCount - Number of times the entry point continuously failed to exit gracefully.
18908	ContinuousExitFailureCount *string `json:"ContinuousExitFailureCount,omitempty"`
18909}
18910
18911// ComposeDeploymentStatusInfo information about a Service Fabric compose deployment.
18912type ComposeDeploymentStatusInfo struct {
18913	autorest.Response `json:"-"`
18914	// Name - The name of the deployment.
18915	Name *string `json:"Name,omitempty"`
18916	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
18917	ApplicationName *string `json:"ApplicationName,omitempty"`
18918	// Status - The status of the compose deployment. Possible values include: 'ComposeDeploymentStatusInvalid', 'ComposeDeploymentStatusProvisioning', 'ComposeDeploymentStatusCreating', 'ComposeDeploymentStatusReady', 'ComposeDeploymentStatusUnprovisioning', 'ComposeDeploymentStatusDeleting', 'ComposeDeploymentStatusFailed', 'ComposeDeploymentStatusUpgrading'
18919	Status ComposeDeploymentStatus `json:"Status,omitempty"`
18920	// StatusDetails - The status details of compose deployment including failure message.
18921	StatusDetails *string `json:"StatusDetails,omitempty"`
18922}
18923
18924// ComposeDeploymentUpgradeDescription describes the parameters for a compose deployment upgrade.
18925type ComposeDeploymentUpgradeDescription struct {
18926	// DeploymentName - The name of the deployment.
18927	DeploymentName *string `json:"DeploymentName,omitempty"`
18928	// ComposeFileContent - The content of the compose file that describes the deployment to create.
18929	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
18930	// RegistryCredential - Credential information to connect to container registry.
18931	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
18932	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
18933	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
18934	// 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'
18935	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
18936	// 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).
18937	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
18938	// 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).
18939	ForceRestart *bool `json:"ForceRestart,omitempty"`
18940	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
18941	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
18942	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
18943	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
18944}
18945
18946// ComposeDeploymentUpgradeProgressInfo describes the parameters for a compose deployment upgrade.
18947type ComposeDeploymentUpgradeProgressInfo struct {
18948	autorest.Response `json:"-"`
18949	// DeploymentName - The name of the target deployment.
18950	DeploymentName *string `json:"DeploymentName,omitempty"`
18951	// ApplicationName - The name of the target application, including the 'fabric:' URI scheme.
18952	ApplicationName *string `json:"ApplicationName,omitempty"`
18953	// UpgradeState - The state of the compose deployment upgrade. Possible values include: 'ComposeDeploymentUpgradeStateInvalid', 'ComposeDeploymentUpgradeStateProvisioningTarget', 'ComposeDeploymentUpgradeStateRollingForwardInProgress', 'ComposeDeploymentUpgradeStateRollingForwardPending', 'ComposeDeploymentUpgradeStateUnprovisioningCurrent', 'ComposeDeploymentUpgradeStateRollingForwardCompleted', 'ComposeDeploymentUpgradeStateRollingBackInProgress', 'ComposeDeploymentUpgradeStateUnprovisioningTarget', 'ComposeDeploymentUpgradeStateRollingBackCompleted', 'ComposeDeploymentUpgradeStateFailed'
18954	UpgradeState ComposeDeploymentUpgradeState `json:"UpgradeState,omitempty"`
18955	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
18956	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
18957	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
18958	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
18959	// 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'
18960	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
18961	// 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).
18962	ForceRestart *bool `json:"ForceRestart,omitempty"`
18963	// 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).
18964	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
18965	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
18966	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
18967	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
18968	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
18969	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
18970	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
18971	// 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.
18972	UpgradeDuration *string `json:"UpgradeDuration,omitempty"`
18973	// 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.
18974	CurrentUpgradeDomainDuration *string `json:"CurrentUpgradeDomainDuration,omitempty"`
18975	// ApplicationUnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
18976	ApplicationUnhealthyEvaluations *[]HealthEvaluationWrapper `json:"ApplicationUnhealthyEvaluations,omitempty"`
18977	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
18978	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
18979	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
18980	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
18981	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
18982	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
18983	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
18984	FailureReason FailureReason `json:"FailureReason,omitempty"`
18985	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
18986	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
18987	// ApplicationUpgradeStatusDetails - Additional details of application upgrade including failure message.
18988	ApplicationUpgradeStatusDetails *string `json:"ApplicationUpgradeStatusDetails,omitempty"`
18989}
18990
18991// ContainerAPIRequestBody parameters for making container API call.
18992type ContainerAPIRequestBody struct {
18993	// HTTPVerb - HTTP verb of container REST API, defaults to "GET"
18994	HTTPVerb *string `json:"HttpVerb,omitempty"`
18995	// URIPath - URI path of container REST API
18996	URIPath *string `json:"UriPath,omitempty"`
18997	// ContentType - Content type of container REST API request, defaults to "application/json"
18998	ContentType *string `json:"Content-Type,omitempty"`
18999	// Body - HTTP request body of container REST API
19000	Body *string `json:"Body,omitempty"`
19001}
19002
19003// ContainerAPIResponse response body that wraps container API result.
19004type ContainerAPIResponse struct {
19005	autorest.Response `json:"-"`
19006	// ContainerAPIResult - Container API result.
19007	ContainerAPIResult *ContainerAPIResult `json:"ContainerApiResult,omitempty"`
19008}
19009
19010// ContainerAPIResult container API result.
19011type ContainerAPIResult struct {
19012	// Status - HTTP status code returned by the target container API
19013	Status *int32 `json:"Status,omitempty"`
19014	// ContentType - HTTP content type
19015	ContentType *string `json:"Content-Type,omitempty"`
19016	// ContentEncoding - HTTP content encoding
19017	ContentEncoding *string `json:"Content-Encoding,omitempty"`
19018	// Body - container API result body
19019	Body *string `json:"Body,omitempty"`
19020}
19021
19022// ContainerDeactivatedEvent container Deactivated event.
19023type ContainerDeactivatedEvent struct {
19024	// ServiceName - Name of Service.
19025	ServiceName *string `json:"ServiceName,omitempty"`
19026	// ServicePackageName - Name of Service package.
19027	ServicePackageName *string `json:"ServicePackageName,omitempty"`
19028	// ServicePackageActivationID - Activation Id of Service package.
19029	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19030	// IsExclusive - Indicates IsExclusive flag.
19031	IsExclusive *bool `json:"IsExclusive,omitempty"`
19032	// CodePackageName - Name of Code package.
19033	CodePackageName *string `json:"CodePackageName,omitempty"`
19034	// EntryPointType - Type of EntryPoint.
19035	EntryPointType *string `json:"EntryPointType,omitempty"`
19036	// ImageName - Name of Container image.
19037	ImageName *string `json:"ImageName,omitempty"`
19038	// ContainerName - Name of Container.
19039	ContainerName *string `json:"ContainerName,omitempty"`
19040	// HostID - Host Id.
19041	HostID *string `json:"HostId,omitempty"`
19042	// ExitCode - Exit code of process.
19043	ExitCode *int64 `json:"ExitCode,omitempty"`
19044	// UnexpectedTermination - Indicates if termination is unexpected.
19045	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
19046	// StartTime - Start time of process.
19047	StartTime *date.Time `json:"StartTime,omitempty"`
19048	// 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.
19049	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
19050	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
19051	ApplicationID *string `json:"ApplicationId,omitempty"`
19052	// EventInstanceID - The identifier for the FabricEvent instance.
19053	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
19054	// TimeStamp - The time event was logged.
19055	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
19056	// HasCorrelatedEvents - Shows there is existing related events available.
19057	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
19058	// 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'
19059	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
19060}
19061
19062// MarshalJSON is the custom marshaler for ContainerDeactivatedEvent.
19063func (cde ContainerDeactivatedEvent) MarshalJSON() ([]byte, error) {
19064	cde.Kind = KindContainerDeactivated
19065	objectMap := make(map[string]interface{})
19066	if cde.ServiceName != nil {
19067		objectMap["ServiceName"] = cde.ServiceName
19068	}
19069	if cde.ServicePackageName != nil {
19070		objectMap["ServicePackageName"] = cde.ServicePackageName
19071	}
19072	if cde.ServicePackageActivationID != nil {
19073		objectMap["ServicePackageActivationId"] = cde.ServicePackageActivationID
19074	}
19075	if cde.IsExclusive != nil {
19076		objectMap["IsExclusive"] = cde.IsExclusive
19077	}
19078	if cde.CodePackageName != nil {
19079		objectMap["CodePackageName"] = cde.CodePackageName
19080	}
19081	if cde.EntryPointType != nil {
19082		objectMap["EntryPointType"] = cde.EntryPointType
19083	}
19084	if cde.ImageName != nil {
19085		objectMap["ImageName"] = cde.ImageName
19086	}
19087	if cde.ContainerName != nil {
19088		objectMap["ContainerName"] = cde.ContainerName
19089	}
19090	if cde.HostID != nil {
19091		objectMap["HostId"] = cde.HostID
19092	}
19093	if cde.ExitCode != nil {
19094		objectMap["ExitCode"] = cde.ExitCode
19095	}
19096	if cde.UnexpectedTermination != nil {
19097		objectMap["UnexpectedTermination"] = cde.UnexpectedTermination
19098	}
19099	if cde.StartTime != nil {
19100		objectMap["StartTime"] = cde.StartTime
19101	}
19102	if cde.ApplicationID != nil {
19103		objectMap["ApplicationId"] = cde.ApplicationID
19104	}
19105	if cde.EventInstanceID != nil {
19106		objectMap["EventInstanceId"] = cde.EventInstanceID
19107	}
19108	if cde.TimeStamp != nil {
19109		objectMap["TimeStamp"] = cde.TimeStamp
19110	}
19111	if cde.HasCorrelatedEvents != nil {
19112		objectMap["HasCorrelatedEvents"] = cde.HasCorrelatedEvents
19113	}
19114	if cde.Kind != "" {
19115		objectMap["Kind"] = cde.Kind
19116	}
19117	return json.Marshal(objectMap)
19118}
19119
19120// AsApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19121func (cde ContainerDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
19122	return nil, false
19123}
19124
19125// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19126func (cde ContainerDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
19127	return &cde, true
19128}
19129
19130// AsClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19131func (cde ContainerDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
19132	return nil, false
19133}
19134
19135// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19136func (cde ContainerDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
19137	return nil, false
19138}
19139
19140// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19141func (cde ContainerDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
19142	return nil, false
19143}
19144
19145// AsNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19146func (cde ContainerDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
19147	return nil, false
19148}
19149
19150// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19151func (cde ContainerDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
19152	return nil, false
19153}
19154
19155// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19156func (cde ContainerDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
19157	return nil, false
19158}
19159
19160// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19161func (cde ContainerDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
19162	return nil, false
19163}
19164
19165// AsPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19166func (cde ContainerDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
19167	return nil, false
19168}
19169
19170// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19171func (cde ContainerDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
19172	return nil, false
19173}
19174
19175// AsReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19176func (cde ContainerDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
19177	return nil, false
19178}
19179
19180// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19181func (cde ContainerDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
19182	return nil, false
19183}
19184
19185// AsServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19186func (cde ContainerDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
19187	return nil, false
19188}
19189
19190// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19191func (cde ContainerDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
19192	return nil, false
19193}
19194
19195// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19196func (cde ContainerDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
19197	return nil, false
19198}
19199
19200// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19201func (cde ContainerDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
19202	return nil, false
19203}
19204
19205// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19206func (cde ContainerDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
19207	return nil, false
19208}
19209
19210// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19211func (cde ContainerDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
19212	return nil, false
19213}
19214
19215// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19216func (cde ContainerDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
19217	return nil, false
19218}
19219
19220// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19221func (cde ContainerDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
19222	return nil, false
19223}
19224
19225// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19226func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
19227	return nil, false
19228}
19229
19230// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19231func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
19232	return nil, false
19233}
19234
19235// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19236func (cde ContainerDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
19237	return nil, false
19238}
19239
19240// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19241func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
19242	return nil, false
19243}
19244
19245// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19246func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
19247	return nil, false
19248}
19249
19250// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19251func (cde ContainerDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
19252	return nil, false
19253}
19254
19255// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19256func (cde ContainerDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
19257	return &cde, true
19258}
19259
19260// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19261func (cde ContainerDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
19262	return nil, false
19263}
19264
19265// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19266func (cde ContainerDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
19267	return nil, false
19268}
19269
19270// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19271func (cde ContainerDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
19272	return nil, false
19273}
19274
19275// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19276func (cde ContainerDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
19277	return nil, false
19278}
19279
19280// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19281func (cde ContainerDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
19282	return nil, false
19283}
19284
19285// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19286func (cde ContainerDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
19287	return nil, false
19288}
19289
19290// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19291func (cde ContainerDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
19292	return nil, false
19293}
19294
19295// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19296func (cde ContainerDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
19297	return nil, false
19298}
19299
19300// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19301func (cde ContainerDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
19302	return nil, false
19303}
19304
19305// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19306func (cde ContainerDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
19307	return nil, false
19308}
19309
19310// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19311func (cde ContainerDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
19312	return nil, false
19313}
19314
19315// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19316func (cde ContainerDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
19317	return nil, false
19318}
19319
19320// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19321func (cde ContainerDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
19322	return nil, false
19323}
19324
19325// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19326func (cde ContainerDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
19327	return nil, false
19328}
19329
19330// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19331func (cde ContainerDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
19332	return nil, false
19333}
19334
19335// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19336func (cde ContainerDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
19337	return nil, false
19338}
19339
19340// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19341func (cde ContainerDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
19342	return nil, false
19343}
19344
19345// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19346func (cde ContainerDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
19347	return nil, false
19348}
19349
19350// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19351func (cde ContainerDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
19352	return nil, false
19353}
19354
19355// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19356func (cde ContainerDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
19357	return nil, false
19358}
19359
19360// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19361func (cde ContainerDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
19362	return nil, false
19363}
19364
19365// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19366func (cde ContainerDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
19367	return nil, false
19368}
19369
19370// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19371func (cde ContainerDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
19372	return nil, false
19373}
19374
19375// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19376func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
19377	return nil, false
19378}
19379
19380// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19381func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
19382	return nil, false
19383}
19384
19385// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19386func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
19387	return nil, false
19388}
19389
19390// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19391func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
19392	return nil, false
19393}
19394
19395// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19396func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
19397	return nil, false
19398}
19399
19400// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19401func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
19402	return nil, false
19403}
19404
19405// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19406func (cde ContainerDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
19407	return nil, false
19408}
19409
19410// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19411func (cde ContainerDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
19412	return nil, false
19413}
19414
19415// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19416func (cde ContainerDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
19417	return nil, false
19418}
19419
19420// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19421func (cde ContainerDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
19422	return nil, false
19423}
19424
19425// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19426func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
19427	return nil, false
19428}
19429
19430// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19431func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
19432	return nil, false
19433}
19434
19435// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19436func (cde ContainerDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
19437	return nil, false
19438}
19439
19440// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19441func (cde ContainerDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
19442	return nil, false
19443}
19444
19445// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19446func (cde ContainerDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
19447	return nil, false
19448}
19449
19450// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19451func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
19452	return nil, false
19453}
19454
19455// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19456func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
19457	return nil, false
19458}
19459
19460// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19461func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
19462	return nil, false
19463}
19464
19465// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19466func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
19467	return nil, false
19468}
19469
19470// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19471func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
19472	return nil, false
19473}
19474
19475// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19476func (cde ContainerDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
19477	return nil, false
19478}
19479
19480// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19481func (cde ContainerDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
19482	return nil, false
19483}
19484
19485// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19486func (cde ContainerDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
19487	return nil, false
19488}
19489
19490// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19491func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
19492	return nil, false
19493}
19494
19495// AsFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19496func (cde ContainerDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
19497	return nil, false
19498}
19499
19500// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19501func (cde ContainerDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
19502	return &cde, true
19503}
19504
19505// ContainerInstanceEvent represents the base for all Container Events.
19506type ContainerInstanceEvent struct {
19507	// EventInstanceID - The identifier for the FabricEvent instance.
19508	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
19509	// TimeStamp - The time event was logged.
19510	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
19511	// HasCorrelatedEvents - Shows there is existing related events available.
19512	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
19513	// 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'
19514	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
19515}
19516
19517// MarshalJSON is the custom marshaler for ContainerInstanceEvent.
19518func (cie ContainerInstanceEvent) MarshalJSON() ([]byte, error) {
19519	cie.Kind = KindContainerInstanceEvent
19520	objectMap := make(map[string]interface{})
19521	if cie.EventInstanceID != nil {
19522		objectMap["EventInstanceId"] = cie.EventInstanceID
19523	}
19524	if cie.TimeStamp != nil {
19525		objectMap["TimeStamp"] = cie.TimeStamp
19526	}
19527	if cie.HasCorrelatedEvents != nil {
19528		objectMap["HasCorrelatedEvents"] = cie.HasCorrelatedEvents
19529	}
19530	if cie.Kind != "" {
19531		objectMap["Kind"] = cie.Kind
19532	}
19533	return json.Marshal(objectMap)
19534}
19535
19536// AsApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19537func (cie ContainerInstanceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
19538	return nil, false
19539}
19540
19541// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19542func (cie ContainerInstanceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
19543	return nil, false
19544}
19545
19546// AsClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19547func (cie ContainerInstanceEvent) AsClusterEvent() (*ClusterEvent, bool) {
19548	return nil, false
19549}
19550
19551// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19552func (cie ContainerInstanceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
19553	return nil, false
19554}
19555
19556// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19557func (cie ContainerInstanceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
19558	return &cie, true
19559}
19560
19561// AsNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19562func (cie ContainerInstanceEvent) AsNodeEvent() (*NodeEvent, bool) {
19563	return nil, false
19564}
19565
19566// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19567func (cie ContainerInstanceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
19568	return nil, false
19569}
19570
19571// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19572func (cie ContainerInstanceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
19573	return nil, false
19574}
19575
19576// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19577func (cie ContainerInstanceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
19578	return nil, false
19579}
19580
19581// AsPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19582func (cie ContainerInstanceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
19583	return nil, false
19584}
19585
19586// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19587func (cie ContainerInstanceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
19588	return nil, false
19589}
19590
19591// AsReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19592func (cie ContainerInstanceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
19593	return nil, false
19594}
19595
19596// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19597func (cie ContainerInstanceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
19598	return nil, false
19599}
19600
19601// AsServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19602func (cie ContainerInstanceEvent) AsServiceEvent() (*ServiceEvent, bool) {
19603	return nil, false
19604}
19605
19606// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19607func (cie ContainerInstanceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
19608	return nil, false
19609}
19610
19611// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19612func (cie ContainerInstanceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
19613	return nil, false
19614}
19615
19616// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19617func (cie ContainerInstanceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
19618	return nil, false
19619}
19620
19621// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19622func (cie ContainerInstanceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
19623	return nil, false
19624}
19625
19626// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19627func (cie ContainerInstanceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
19628	return nil, false
19629}
19630
19631// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19632func (cie ContainerInstanceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
19633	return nil, false
19634}
19635
19636// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19637func (cie ContainerInstanceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
19638	return nil, false
19639}
19640
19641// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19642func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
19643	return nil, false
19644}
19645
19646// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19647func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
19648	return nil, false
19649}
19650
19651// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19652func (cie ContainerInstanceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
19653	return nil, false
19654}
19655
19656// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19657func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
19658	return nil, false
19659}
19660
19661// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19662func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
19663	return nil, false
19664}
19665
19666// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19667func (cie ContainerInstanceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
19668	return nil, false
19669}
19670
19671// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19672func (cie ContainerInstanceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
19673	return nil, false
19674}
19675
19676// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19677func (cie ContainerInstanceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
19678	return nil, false
19679}
19680
19681// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19682func (cie ContainerInstanceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
19683	return nil, false
19684}
19685
19686// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19687func (cie ContainerInstanceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
19688	return nil, false
19689}
19690
19691// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19692func (cie ContainerInstanceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
19693	return nil, false
19694}
19695
19696// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19697func (cie ContainerInstanceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
19698	return nil, false
19699}
19700
19701// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19702func (cie ContainerInstanceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
19703	return nil, false
19704}
19705
19706// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19707func (cie ContainerInstanceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
19708	return nil, false
19709}
19710
19711// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19712func (cie ContainerInstanceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
19713	return nil, false
19714}
19715
19716// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19717func (cie ContainerInstanceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
19718	return nil, false
19719}
19720
19721// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19722func (cie ContainerInstanceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
19723	return nil, false
19724}
19725
19726// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19727func (cie ContainerInstanceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
19728	return nil, false
19729}
19730
19731// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19732func (cie ContainerInstanceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
19733	return nil, false
19734}
19735
19736// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19737func (cie ContainerInstanceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
19738	return nil, false
19739}
19740
19741// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19742func (cie ContainerInstanceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
19743	return nil, false
19744}
19745
19746// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19747func (cie ContainerInstanceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
19748	return nil, false
19749}
19750
19751// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19752func (cie ContainerInstanceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
19753	return nil, false
19754}
19755
19756// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19757func (cie ContainerInstanceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
19758	return nil, false
19759}
19760
19761// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19762func (cie ContainerInstanceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
19763	return nil, false
19764}
19765
19766// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19767func (cie ContainerInstanceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
19768	return nil, false
19769}
19770
19771// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19772func (cie ContainerInstanceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
19773	return nil, false
19774}
19775
19776// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19777func (cie ContainerInstanceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
19778	return nil, false
19779}
19780
19781// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19782func (cie ContainerInstanceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
19783	return nil, false
19784}
19785
19786// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19787func (cie ContainerInstanceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
19788	return nil, false
19789}
19790
19791// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19792func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
19793	return nil, false
19794}
19795
19796// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19797func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
19798	return nil, false
19799}
19800
19801// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19802func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
19803	return nil, false
19804}
19805
19806// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19807func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
19808	return nil, false
19809}
19810
19811// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19812func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
19813	return nil, false
19814}
19815
19816// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19817func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
19818	return nil, false
19819}
19820
19821// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19822func (cie ContainerInstanceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
19823	return nil, false
19824}
19825
19826// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19827func (cie ContainerInstanceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
19828	return nil, false
19829}
19830
19831// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19832func (cie ContainerInstanceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
19833	return nil, false
19834}
19835
19836// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19837func (cie ContainerInstanceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
19838	return nil, false
19839}
19840
19841// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19842func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
19843	return nil, false
19844}
19845
19846// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19847func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
19848	return nil, false
19849}
19850
19851// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19852func (cie ContainerInstanceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
19853	return nil, false
19854}
19855
19856// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19857func (cie ContainerInstanceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
19858	return nil, false
19859}
19860
19861// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19862func (cie ContainerInstanceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
19863	return nil, false
19864}
19865
19866// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19867func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
19868	return nil, false
19869}
19870
19871// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19872func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
19873	return nil, false
19874}
19875
19876// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19877func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
19878	return nil, false
19879}
19880
19881// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19882func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
19883	return nil, false
19884}
19885
19886// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19887func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
19888	return nil, false
19889}
19890
19891// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19892func (cie ContainerInstanceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
19893	return nil, false
19894}
19895
19896// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19897func (cie ContainerInstanceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
19898	return nil, false
19899}
19900
19901// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19902func (cie ContainerInstanceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
19903	return nil, false
19904}
19905
19906// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19907func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
19908	return nil, false
19909}
19910
19911// AsFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19912func (cie ContainerInstanceEvent) AsFabricEvent() (*FabricEvent, bool) {
19913	return nil, false
19914}
19915
19916// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19917func (cie ContainerInstanceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
19918	return &cie, true
19919}
19920
19921// ContainerLogs container logs.
19922type ContainerLogs struct {
19923	autorest.Response `json:"-"`
19924	// Content - Container logs.
19925	Content *string `json:"Content,omitempty"`
19926}
19927
19928// CreateComposeDeploymentDescription defines description for creating a Service Fabric compose deployment.
19929type CreateComposeDeploymentDescription struct {
19930	// DeploymentName - The name of the deployment.
19931	DeploymentName *string `json:"DeploymentName,omitempty"`
19932	// ComposeFileContent - The content of the compose file that describes the deployment to create.
19933	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
19934	// RegistryCredential - Credential information to connect to container registry.
19935	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
19936}
19937
19938// CurrentUpgradeDomainProgressInfo information about the current in-progress upgrade domain.
19939type CurrentUpgradeDomainProgressInfo struct {
19940	// DomainName - The name of the upgrade domain
19941	DomainName *string `json:"DomainName,omitempty"`
19942	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
19943	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
19944}
19945
19946// DeactivationIntentDescription describes the intent or reason for deactivating the node.
19947type DeactivationIntentDescription struct {
19948	// DeactivationIntent - Describes the intent or reason for deactivating the node. The possible values are following. Possible values include: 'Pause', 'Restart', 'RemoveData'
19949	DeactivationIntent DeactivationIntent `json:"DeactivationIntent,omitempty"`
19950}
19951
19952// DeletePropertyBatchOperation represents a PropertyBatchOperation that deletes a specified property if it exists.
19953// Note that if one PropertyBatchOperation in a PropertyBatch fails,
19954// the entire batch fails and cannot be committed in a transactional manner.
19955type DeletePropertyBatchOperation struct {
19956	// PropertyName - The name of the Service Fabric property.
19957	PropertyName *string `json:"PropertyName,omitempty"`
19958	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
19959	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
19960}
19961
19962// MarshalJSON is the custom marshaler for DeletePropertyBatchOperation.
19963func (dpbo DeletePropertyBatchOperation) MarshalJSON() ([]byte, error) {
19964	dpbo.Kind = KindDelete
19965	objectMap := make(map[string]interface{})
19966	if dpbo.PropertyName != nil {
19967		objectMap["PropertyName"] = dpbo.PropertyName
19968	}
19969	if dpbo.Kind != "" {
19970		objectMap["Kind"] = dpbo.Kind
19971	}
19972	return json.Marshal(objectMap)
19973}
19974
19975// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
19976func (dpbo DeletePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
19977	return nil, false
19978}
19979
19980// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
19981func (dpbo DeletePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
19982	return nil, false
19983}
19984
19985// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
19986func (dpbo DeletePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
19987	return nil, false
19988}
19989
19990// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
19991func (dpbo DeletePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
19992	return &dpbo, true
19993}
19994
19995// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
19996func (dpbo DeletePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
19997	return nil, false
19998}
19999
20000// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20001func (dpbo DeletePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
20002	return nil, false
20003}
20004
20005// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20006func (dpbo DeletePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
20007	return nil, false
20008}
20009
20010// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20011func (dpbo DeletePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
20012	return &dpbo, true
20013}
20014
20015// DeltaNodesCheckHealthEvaluation represents health evaluation for delta nodes, containing health evaluations for
20016// each unhealthy node that impacted current aggregated health state.
20017// Can be returned during cluster upgrade when the aggregated health state of the cluster is Warning or Error.
20018type DeltaNodesCheckHealthEvaluation struct {
20019	// BaselineErrorCount - Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
20020	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
20021	// BaselineTotalCount - Total number of nodes in the health store at the beginning of the cluster upgrade.
20022	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
20023	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
20024	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
20025	// TotalCount - Total number of nodes in the health store.
20026	TotalCount *int64 `json:"TotalCount,omitempty"`
20027	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state.
20028	// Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
20029	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
20030	// 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'
20031	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20032	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
20033	Description *string `json:"Description,omitempty"`
20034	// 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'
20035	Kind Kind `json:"Kind,omitempty"`
20036}
20037
20038// MarshalJSON is the custom marshaler for DeltaNodesCheckHealthEvaluation.
20039func (dnche DeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
20040	dnche.Kind = KindDeltaNodesCheck
20041	objectMap := make(map[string]interface{})
20042	if dnche.BaselineErrorCount != nil {
20043		objectMap["BaselineErrorCount"] = dnche.BaselineErrorCount
20044	}
20045	if dnche.BaselineTotalCount != nil {
20046		objectMap["BaselineTotalCount"] = dnche.BaselineTotalCount
20047	}
20048	if dnche.MaxPercentDeltaUnhealthyNodes != nil {
20049		objectMap["MaxPercentDeltaUnhealthyNodes"] = dnche.MaxPercentDeltaUnhealthyNodes
20050	}
20051	if dnche.TotalCount != nil {
20052		objectMap["TotalCount"] = dnche.TotalCount
20053	}
20054	if dnche.UnhealthyEvaluations != nil {
20055		objectMap["UnhealthyEvaluations"] = dnche.UnhealthyEvaluations
20056	}
20057	if dnche.AggregatedHealthState != "" {
20058		objectMap["AggregatedHealthState"] = dnche.AggregatedHealthState
20059	}
20060	if dnche.Description != nil {
20061		objectMap["Description"] = dnche.Description
20062	}
20063	if dnche.Kind != "" {
20064		objectMap["Kind"] = dnche.Kind
20065	}
20066	return json.Marshal(objectMap)
20067}
20068
20069// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20070func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
20071	return nil, false
20072}
20073
20074// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20075func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
20076	return nil, false
20077}
20078
20079// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20080func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
20081	return nil, false
20082}
20083
20084// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20085func (dnche DeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
20086	return &dnche, true
20087}
20088
20089// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20090func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
20091	return nil, false
20092}
20093
20094// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20095func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
20096	return nil, false
20097}
20098
20099// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20100func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
20101	return nil, false
20102}
20103
20104// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20105func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
20106	return nil, false
20107}
20108
20109// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20110func (dnche DeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
20111	return nil, false
20112}
20113
20114// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20115func (dnche DeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
20116	return nil, false
20117}
20118
20119// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20120func (dnche DeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
20121	return nil, false
20122}
20123
20124// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20125func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
20126	return nil, false
20127}
20128
20129// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20130func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
20131	return nil, false
20132}
20133
20134// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20135func (dnche DeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
20136	return nil, false
20137}
20138
20139// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20140func (dnche DeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
20141	return nil, false
20142}
20143
20144// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20145func (dnche DeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
20146	return nil, false
20147}
20148
20149// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20150func (dnche DeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
20151	return nil, false
20152}
20153
20154// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20155func (dnche DeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
20156	return nil, false
20157}
20158
20159// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20160func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
20161	return nil, false
20162}
20163
20164// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20165func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
20166	return nil, false
20167}
20168
20169// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20170func (dnche DeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
20171	return nil, false
20172}
20173
20174// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20175func (dnche DeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
20176	return &dnche, true
20177}
20178
20179// DeployedApplicationHealth information about the health of an application deployed on a Service Fabric node.
20180type DeployedApplicationHealth struct {
20181	autorest.Response `json:"-"`
20182	// Name - Name of the application deployed on the node whose health information is described by this object.
20183	Name *string `json:"Name,omitempty"`
20184	// NodeName - Name of the node where this application is deployed.
20185	NodeName *string `json:"NodeName,omitempty"`
20186	// DeployedServicePackageHealthStates - Deployed service package health states for the current deployed application as found in the health store.
20187	DeployedServicePackageHealthStates *[]DeployedServicePackageHealthState `json:"DeployedServicePackageHealthStates,omitempty"`
20188	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
20189	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
20190	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
20191	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20192	// HealthEvents - The list of health events reported on the entity.
20193	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
20194	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
20195	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
20196	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
20197	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
20198}
20199
20200// DeployedApplicationHealthEvaluation represents health evaluation for a deployed application, containing
20201// information about the data and the algorithm used by the health store to evaluate health.
20202type DeployedApplicationHealthEvaluation struct {
20203	// NodeName - Name of the node where the application is deployed to.
20204	NodeName *string `json:"NodeName,omitempty"`
20205	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
20206	ApplicationName *string `json:"ApplicationName,omitempty"`
20207	// UnhealthyEvaluations - List of  unhealthy evaluations that led to the current aggregated health state of the deployed application.
20208	// The types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation.
20209	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
20210	// 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'
20211	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20212	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
20213	Description *string `json:"Description,omitempty"`
20214	// 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'
20215	Kind Kind `json:"Kind,omitempty"`
20216}
20217
20218// MarshalJSON is the custom marshaler for DeployedApplicationHealthEvaluation.
20219func (dahe DeployedApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
20220	dahe.Kind = KindDeployedApplication
20221	objectMap := make(map[string]interface{})
20222	if dahe.NodeName != nil {
20223		objectMap["NodeName"] = dahe.NodeName
20224	}
20225	if dahe.ApplicationName != nil {
20226		objectMap["ApplicationName"] = dahe.ApplicationName
20227	}
20228	if dahe.UnhealthyEvaluations != nil {
20229		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
20230	}
20231	if dahe.AggregatedHealthState != "" {
20232		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
20233	}
20234	if dahe.Description != nil {
20235		objectMap["Description"] = dahe.Description
20236	}
20237	if dahe.Kind != "" {
20238		objectMap["Kind"] = dahe.Kind
20239	}
20240	return json.Marshal(objectMap)
20241}
20242
20243// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20244func (dahe DeployedApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
20245	return nil, false
20246}
20247
20248// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20249func (dahe DeployedApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
20250	return nil, false
20251}
20252
20253// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20254func (dahe DeployedApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
20255	return nil, false
20256}
20257
20258// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20259func (dahe DeployedApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
20260	return nil, false
20261}
20262
20263// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20264func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
20265	return &dahe, true
20266}
20267
20268// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20269func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
20270	return nil, false
20271}
20272
20273// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20274func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
20275	return nil, false
20276}
20277
20278// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20279func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
20280	return nil, false
20281}
20282
20283// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20284func (dahe DeployedApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
20285	return nil, false
20286}
20287
20288// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20289func (dahe DeployedApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
20290	return nil, false
20291}
20292
20293// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20294func (dahe DeployedApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
20295	return nil, false
20296}
20297
20298// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20299func (dahe DeployedApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
20300	return nil, false
20301}
20302
20303// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20304func (dahe DeployedApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
20305	return nil, false
20306}
20307
20308// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20309func (dahe DeployedApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
20310	return nil, false
20311}
20312
20313// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20314func (dahe DeployedApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
20315	return nil, false
20316}
20317
20318// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20319func (dahe DeployedApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
20320	return nil, false
20321}
20322
20323// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20324func (dahe DeployedApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
20325	return nil, false
20326}
20327
20328// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20329func (dahe DeployedApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
20330	return nil, false
20331}
20332
20333// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20334func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
20335	return nil, false
20336}
20337
20338// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20339func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
20340	return nil, false
20341}
20342
20343// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20344func (dahe DeployedApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
20345	return nil, false
20346}
20347
20348// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20349func (dahe DeployedApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
20350	return &dahe, true
20351}
20352
20353// DeployedApplicationHealthReportCreatedEvent deployed Application Health Report Created event.
20354type DeployedApplicationHealthReportCreatedEvent struct {
20355	// ApplicationInstanceID - Id of Application instance.
20356	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
20357	// NodeName - The name of a Service Fabric node.
20358	NodeName *string `json:"NodeName,omitempty"`
20359	// SourceID - Id of report source.
20360	SourceID *string `json:"SourceId,omitempty"`
20361	// Property - Describes the property.
20362	Property *string `json:"Property,omitempty"`
20363	// HealthState - Describes the property health state.
20364	HealthState *string `json:"HealthState,omitempty"`
20365	// TimeToLiveMs - Time to live in milli-seconds.
20366	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
20367	// SequenceNumber - Sequence number of report.
20368	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
20369	// Description - Description of report.
20370	Description *string `json:"Description,omitempty"`
20371	// RemoveWhenExpired - Indicates the removal when it expires.
20372	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
20373	// SourceUtcTimestamp - Source time.
20374	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
20375	// 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.
20376	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
20377	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
20378	ApplicationID *string `json:"ApplicationId,omitempty"`
20379	// EventInstanceID - The identifier for the FabricEvent instance.
20380	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
20381	// TimeStamp - The time event was logged.
20382	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
20383	// HasCorrelatedEvents - Shows there is existing related events available.
20384	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
20385	// 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'
20386	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
20387}
20388
20389// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportCreatedEvent.
20390func (dahrce DeployedApplicationHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
20391	dahrce.Kind = KindDeployedApplicationHealthReportCreated
20392	objectMap := make(map[string]interface{})
20393	if dahrce.ApplicationInstanceID != nil {
20394		objectMap["ApplicationInstanceId"] = dahrce.ApplicationInstanceID
20395	}
20396	if dahrce.NodeName != nil {
20397		objectMap["NodeName"] = dahrce.NodeName
20398	}
20399	if dahrce.SourceID != nil {
20400		objectMap["SourceId"] = dahrce.SourceID
20401	}
20402	if dahrce.Property != nil {
20403		objectMap["Property"] = dahrce.Property
20404	}
20405	if dahrce.HealthState != nil {
20406		objectMap["HealthState"] = dahrce.HealthState
20407	}
20408	if dahrce.TimeToLiveMs != nil {
20409		objectMap["TimeToLiveMs"] = dahrce.TimeToLiveMs
20410	}
20411	if dahrce.SequenceNumber != nil {
20412		objectMap["SequenceNumber"] = dahrce.SequenceNumber
20413	}
20414	if dahrce.Description != nil {
20415		objectMap["Description"] = dahrce.Description
20416	}
20417	if dahrce.RemoveWhenExpired != nil {
20418		objectMap["RemoveWhenExpired"] = dahrce.RemoveWhenExpired
20419	}
20420	if dahrce.SourceUtcTimestamp != nil {
20421		objectMap["SourceUtcTimestamp"] = dahrce.SourceUtcTimestamp
20422	}
20423	if dahrce.ApplicationID != nil {
20424		objectMap["ApplicationId"] = dahrce.ApplicationID
20425	}
20426	if dahrce.EventInstanceID != nil {
20427		objectMap["EventInstanceId"] = dahrce.EventInstanceID
20428	}
20429	if dahrce.TimeStamp != nil {
20430		objectMap["TimeStamp"] = dahrce.TimeStamp
20431	}
20432	if dahrce.HasCorrelatedEvents != nil {
20433		objectMap["HasCorrelatedEvents"] = dahrce.HasCorrelatedEvents
20434	}
20435	if dahrce.Kind != "" {
20436		objectMap["Kind"] = dahrce.Kind
20437	}
20438	return json.Marshal(objectMap)
20439}
20440
20441// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20442func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
20443	return nil, false
20444}
20445
20446// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20447func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
20448	return &dahrce, true
20449}
20450
20451// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20452func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
20453	return nil, false
20454}
20455
20456// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20457func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
20458	return nil, false
20459}
20460
20461// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20462func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
20463	return nil, false
20464}
20465
20466// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20467func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
20468	return nil, false
20469}
20470
20471// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20472func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
20473	return nil, false
20474}
20475
20476// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20477func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
20478	return nil, false
20479}
20480
20481// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20482func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
20483	return nil, false
20484}
20485
20486// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20487func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
20488	return nil, false
20489}
20490
20491// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20492func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
20493	return nil, false
20494}
20495
20496// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20497func (dahrce DeployedApplicationHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
20498	return nil, false
20499}
20500
20501// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20502func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
20503	return nil, false
20504}
20505
20506// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20507func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
20508	return nil, false
20509}
20510
20511// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20512func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
20513	return nil, false
20514}
20515
20516// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20517func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
20518	return nil, false
20519}
20520
20521// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20522func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
20523	return nil, false
20524}
20525
20526// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20527func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
20528	return nil, false
20529}
20530
20531// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20532func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
20533	return nil, false
20534}
20535
20536// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20537func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
20538	return nil, false
20539}
20540
20541// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20542func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
20543	return nil, false
20544}
20545
20546// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20547func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
20548	return nil, false
20549}
20550
20551// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20552func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
20553	return nil, false
20554}
20555
20556// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20557func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
20558	return nil, false
20559}
20560
20561// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20562func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
20563	return &dahrce, true
20564}
20565
20566// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20567func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
20568	return nil, false
20569}
20570
20571// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20572func (dahrce DeployedApplicationHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
20573	return nil, false
20574}
20575
20576// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20577func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
20578	return nil, false
20579}
20580
20581// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20582func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
20583	return nil, false
20584}
20585
20586// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20587func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
20588	return nil, false
20589}
20590
20591// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20592func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
20593	return nil, false
20594}
20595
20596// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20597func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
20598	return nil, false
20599}
20600
20601// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20602func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
20603	return nil, false
20604}
20605
20606// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20607func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
20608	return nil, false
20609}
20610
20611// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20612func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
20613	return nil, false
20614}
20615
20616// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20617func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
20618	return nil, false
20619}
20620
20621// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20622func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
20623	return nil, false
20624}
20625
20626// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20627func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
20628	return nil, false
20629}
20630
20631// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20632func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
20633	return nil, false
20634}
20635
20636// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20637func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
20638	return nil, false
20639}
20640
20641// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20642func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
20643	return nil, false
20644}
20645
20646// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20647func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
20648	return nil, false
20649}
20650
20651// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20652func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
20653	return nil, false
20654}
20655
20656// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20657func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
20658	return nil, false
20659}
20660
20661// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20662func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
20663	return nil, false
20664}
20665
20666// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20667func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
20668	return nil, false
20669}
20670
20671// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20672func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
20673	return nil, false
20674}
20675
20676// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20677func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
20678	return nil, false
20679}
20680
20681// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20682func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
20683	return nil, false
20684}
20685
20686// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20687func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
20688	return nil, false
20689}
20690
20691// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20692func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
20693	return nil, false
20694}
20695
20696// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20697func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
20698	return nil, false
20699}
20700
20701// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20702func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
20703	return nil, false
20704}
20705
20706// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20707func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
20708	return nil, false
20709}
20710
20711// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20712func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
20713	return nil, false
20714}
20715
20716// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20717func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
20718	return nil, false
20719}
20720
20721// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20722func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
20723	return nil, false
20724}
20725
20726// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20727func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
20728	return nil, false
20729}
20730
20731// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20732func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
20733	return nil, false
20734}
20735
20736// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20737func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
20738	return nil, false
20739}
20740
20741// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20742func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
20743	return nil, false
20744}
20745
20746// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20747func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
20748	return nil, false
20749}
20750
20751// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20752func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
20753	return nil, false
20754}
20755
20756// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20757func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
20758	return nil, false
20759}
20760
20761// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20762func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
20763	return nil, false
20764}
20765
20766// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20767func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
20768	return nil, false
20769}
20770
20771// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20772func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
20773	return nil, false
20774}
20775
20776// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20777func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
20778	return nil, false
20779}
20780
20781// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20782func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
20783	return nil, false
20784}
20785
20786// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20787func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
20788	return nil, false
20789}
20790
20791// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20792func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
20793	return nil, false
20794}
20795
20796// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20797func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
20798	return nil, false
20799}
20800
20801// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20802func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
20803	return nil, false
20804}
20805
20806// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20807func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
20808	return nil, false
20809}
20810
20811// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20812func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
20813	return nil, false
20814}
20815
20816// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20817func (dahrce DeployedApplicationHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
20818	return nil, false
20819}
20820
20821// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20822func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
20823	return &dahrce, true
20824}
20825
20826// DeployedApplicationHealthReportExpiredEvent deployed Application Health Report Expired event.
20827type DeployedApplicationHealthReportExpiredEvent struct {
20828	// ApplicationInstanceID - Id of Application instance.
20829	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
20830	// NodeName - The name of a Service Fabric node.
20831	NodeName *string `json:"NodeName,omitempty"`
20832	// SourceID - Id of report source.
20833	SourceID *string `json:"SourceId,omitempty"`
20834	// Property - Describes the property.
20835	Property *string `json:"Property,omitempty"`
20836	// HealthState - Describes the property health state.
20837	HealthState *string `json:"HealthState,omitempty"`
20838	// TimeToLiveMs - Time to live in milli-seconds.
20839	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
20840	// SequenceNumber - Sequence number of report.
20841	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
20842	// Description - Description of report.
20843	Description *string `json:"Description,omitempty"`
20844	// RemoveWhenExpired - Indicates the removal when it expires.
20845	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
20846	// SourceUtcTimestamp - Source time.
20847	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
20848	// 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.
20849	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
20850	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
20851	ApplicationID *string `json:"ApplicationId,omitempty"`
20852	// EventInstanceID - The identifier for the FabricEvent instance.
20853	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
20854	// TimeStamp - The time event was logged.
20855	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
20856	// HasCorrelatedEvents - Shows there is existing related events available.
20857	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
20858	// 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'
20859	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
20860}
20861
20862// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportExpiredEvent.
20863func (dahree DeployedApplicationHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
20864	dahree.Kind = KindDeployedApplicationHealthReportExpired
20865	objectMap := make(map[string]interface{})
20866	if dahree.ApplicationInstanceID != nil {
20867		objectMap["ApplicationInstanceId"] = dahree.ApplicationInstanceID
20868	}
20869	if dahree.NodeName != nil {
20870		objectMap["NodeName"] = dahree.NodeName
20871	}
20872	if dahree.SourceID != nil {
20873		objectMap["SourceId"] = dahree.SourceID
20874	}
20875	if dahree.Property != nil {
20876		objectMap["Property"] = dahree.Property
20877	}
20878	if dahree.HealthState != nil {
20879		objectMap["HealthState"] = dahree.HealthState
20880	}
20881	if dahree.TimeToLiveMs != nil {
20882		objectMap["TimeToLiveMs"] = dahree.TimeToLiveMs
20883	}
20884	if dahree.SequenceNumber != nil {
20885		objectMap["SequenceNumber"] = dahree.SequenceNumber
20886	}
20887	if dahree.Description != nil {
20888		objectMap["Description"] = dahree.Description
20889	}
20890	if dahree.RemoveWhenExpired != nil {
20891		objectMap["RemoveWhenExpired"] = dahree.RemoveWhenExpired
20892	}
20893	if dahree.SourceUtcTimestamp != nil {
20894		objectMap["SourceUtcTimestamp"] = dahree.SourceUtcTimestamp
20895	}
20896	if dahree.ApplicationID != nil {
20897		objectMap["ApplicationId"] = dahree.ApplicationID
20898	}
20899	if dahree.EventInstanceID != nil {
20900		objectMap["EventInstanceId"] = dahree.EventInstanceID
20901	}
20902	if dahree.TimeStamp != nil {
20903		objectMap["TimeStamp"] = dahree.TimeStamp
20904	}
20905	if dahree.HasCorrelatedEvents != nil {
20906		objectMap["HasCorrelatedEvents"] = dahree.HasCorrelatedEvents
20907	}
20908	if dahree.Kind != "" {
20909		objectMap["Kind"] = dahree.Kind
20910	}
20911	return json.Marshal(objectMap)
20912}
20913
20914// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20915func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
20916	return nil, false
20917}
20918
20919// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20920func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
20921	return &dahree, true
20922}
20923
20924// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20925func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
20926	return nil, false
20927}
20928
20929// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20930func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
20931	return nil, false
20932}
20933
20934// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20935func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
20936	return nil, false
20937}
20938
20939// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20940func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
20941	return nil, false
20942}
20943
20944// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20945func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
20946	return nil, false
20947}
20948
20949// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20950func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
20951	return nil, false
20952}
20953
20954// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20955func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
20956	return nil, false
20957}
20958
20959// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20960func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
20961	return nil, false
20962}
20963
20964// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20965func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
20966	return nil, false
20967}
20968
20969// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20970func (dahree DeployedApplicationHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
20971	return nil, false
20972}
20973
20974// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20975func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
20976	return nil, false
20977}
20978
20979// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20980func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
20981	return nil, false
20982}
20983
20984// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20985func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
20986	return nil, false
20987}
20988
20989// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20990func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
20991	return nil, false
20992}
20993
20994// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
20995func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
20996	return nil, false
20997}
20998
20999// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21000func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
21001	return nil, false
21002}
21003
21004// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21005func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
21006	return nil, false
21007}
21008
21009// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21010func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
21011	return nil, false
21012}
21013
21014// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21015func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
21016	return nil, false
21017}
21018
21019// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21020func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
21021	return nil, false
21022}
21023
21024// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21025func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
21026	return nil, false
21027}
21028
21029// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21030func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
21031	return nil, false
21032}
21033
21034// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21035func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
21036	return nil, false
21037}
21038
21039// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21040func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
21041	return &dahree, true
21042}
21043
21044// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21045func (dahree DeployedApplicationHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
21046	return nil, false
21047}
21048
21049// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21050func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
21051	return nil, false
21052}
21053
21054// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21055func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
21056	return nil, false
21057}
21058
21059// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21060func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
21061	return nil, false
21062}
21063
21064// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21065func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
21066	return nil, false
21067}
21068
21069// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21070func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
21071	return nil, false
21072}
21073
21074// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21075func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
21076	return nil, false
21077}
21078
21079// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21080func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
21081	return nil, false
21082}
21083
21084// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21085func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
21086	return nil, false
21087}
21088
21089// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21090func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
21091	return nil, false
21092}
21093
21094// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21095func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
21096	return nil, false
21097}
21098
21099// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21100func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
21101	return nil, false
21102}
21103
21104// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21105func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
21106	return nil, false
21107}
21108
21109// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21110func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
21111	return nil, false
21112}
21113
21114// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21115func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
21116	return nil, false
21117}
21118
21119// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21120func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
21121	return nil, false
21122}
21123
21124// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21125func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
21126	return nil, false
21127}
21128
21129// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21130func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
21131	return nil, false
21132}
21133
21134// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21135func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
21136	return nil, false
21137}
21138
21139// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21140func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
21141	return nil, false
21142}
21143
21144// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21145func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
21146	return nil, false
21147}
21148
21149// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21150func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
21151	return nil, false
21152}
21153
21154// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21155func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
21156	return nil, false
21157}
21158
21159// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21160func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
21161	return nil, false
21162}
21163
21164// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21165func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
21166	return nil, false
21167}
21168
21169// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21170func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
21171	return nil, false
21172}
21173
21174// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21175func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
21176	return nil, false
21177}
21178
21179// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21180func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
21181	return nil, false
21182}
21183
21184// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21185func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
21186	return nil, false
21187}
21188
21189// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21190func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
21191	return nil, false
21192}
21193
21194// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21195func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
21196	return nil, false
21197}
21198
21199// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21200func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
21201	return nil, false
21202}
21203
21204// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21205func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
21206	return nil, false
21207}
21208
21209// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21210func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
21211	return nil, false
21212}
21213
21214// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21215func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
21216	return nil, false
21217}
21218
21219// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21220func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
21221	return nil, false
21222}
21223
21224// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21225func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
21226	return nil, false
21227}
21228
21229// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21230func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
21231	return nil, false
21232}
21233
21234// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21235func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
21236	return nil, false
21237}
21238
21239// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21240func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
21241	return nil, false
21242}
21243
21244// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21245func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
21246	return nil, false
21247}
21248
21249// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21250func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
21251	return nil, false
21252}
21253
21254// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21255func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
21256	return nil, false
21257}
21258
21259// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21260func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
21261	return nil, false
21262}
21263
21264// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21265func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
21266	return nil, false
21267}
21268
21269// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21270func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
21271	return nil, false
21272}
21273
21274// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21275func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
21276	return nil, false
21277}
21278
21279// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21280func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
21281	return nil, false
21282}
21283
21284// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21285func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
21286	return nil, false
21287}
21288
21289// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21290func (dahree DeployedApplicationHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
21291	return nil, false
21292}
21293
21294// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21295func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
21296	return &dahree, true
21297}
21298
21299// DeployedApplicationHealthState represents the health state of a deployed application, which contains the entity
21300// identifier and the aggregated health state.
21301type DeployedApplicationHealthState struct {
21302	// NodeName - Name of the node on which the service package is deployed.
21303	NodeName *string `json:"NodeName,omitempty"`
21304	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
21305	ApplicationName *string `json:"ApplicationName,omitempty"`
21306	// 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'
21307	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
21308}
21309
21310// DeployedApplicationHealthStateChunk represents the health state chunk of a deployed application, which contains
21311// the node where the application is deployed, the aggregated health state and any deployed service packages that
21312// respect the chunk query description filters.
21313type DeployedApplicationHealthStateChunk struct {
21314	// NodeName - The name of node where the application is deployed.
21315	NodeName *string `json:"NodeName,omitempty"`
21316	// 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.
21317	DeployedServicePackageHealthStateChunks *DeployedServicePackageHealthStateChunkList `json:"DeployedServicePackageHealthStateChunks,omitempty"`
21318	// 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'
21319	HealthState HealthState `json:"HealthState,omitempty"`
21320}
21321
21322// DeployedApplicationHealthStateChunkList the list of deployed application health state chunks that respect the
21323// input filters in the chunk query. Returned by get cluster health state chunks query.
21324type DeployedApplicationHealthStateChunkList struct {
21325	// Items - The list of deployed application health state chunks that respect the input filters in the chunk query.
21326	Items *[]DeployedApplicationHealthStateChunk `json:"Items,omitempty"`
21327}
21328
21329// DeployedApplicationHealthStateFilter defines matching criteria to determine whether a deployed application
21330// should be included as a child of an application in the cluster health chunk.
21331// The deployed applications are only returned if the parent application matches a filter specified in the cluster
21332// health chunk query description.
21333// One filter can match zero, one or multiple deployed applications, depending on its properties.
21334type DeployedApplicationHealthStateFilter struct {
21335	// NodeNameFilter - The name of the node where the application is deployed in order to match the filter.
21336	// If specified, the filter is applied only to the application deployed on the specified node.
21337	// 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.
21338	// Otherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.
21339	// 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.
21340	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
21341	// HealthStateFilter - The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.
21342	// 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.
21343	// 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.
21344	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
21345	// For example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).
21346	// - Default - Default value. Matches any HealthState. The value is zero.
21347	// - 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.
21348	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
21349	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
21350	// - Error - Filter that matches input with HealthState value Error. The value is 8.
21351	// - All - Filter that matches input with any HealthState value. The value is 65535.
21352	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
21353	// 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.
21354	// 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.
21355	// The deployed application filter may specify multiple deployed service package filters.
21356	// 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.
21357	DeployedServicePackageFilters *[]DeployedServicePackageHealthStateFilter `json:"DeployedServicePackageFilters,omitempty"`
21358}
21359
21360// DeployedApplicationInfo information about application deployed on the node.
21361type DeployedApplicationInfo struct {
21362	autorest.Response `json:"-"`
21363	// 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.
21364	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
21365	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
21366	ID *string `json:"Id,omitempty"`
21367	// Name - The name of the application, including the 'fabric:' URI scheme.
21368	Name *string `json:"Name,omitempty"`
21369	// TypeName - The application type name as defined in the application manifest.
21370	TypeName *string `json:"TypeName,omitempty"`
21371	// Status - The status of the application deployed on the node. Following are the possible values. Possible values include: 'DeployedApplicationStatusInvalid', 'DeployedApplicationStatusDownloading', 'DeployedApplicationStatusActivating', 'DeployedApplicationStatusActive', 'DeployedApplicationStatusUpgrading', 'DeployedApplicationStatusDeactivating'
21372	Status DeployedApplicationStatus `json:"Status,omitempty"`
21373	// WorkDirectory - The work directory of the application on the node. The work directory can be used to store application data.
21374	WorkDirectory *string `json:"WorkDirectory,omitempty"`
21375	// LogDirectory - The log directory of the application on the node. The log directory can be used to store application logs.
21376	LogDirectory *string `json:"LogDirectory,omitempty"`
21377	// 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.
21378	TempDirectory *string `json:"TempDirectory,omitempty"`
21379	// 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'
21380	HealthState HealthState `json:"HealthState,omitempty"`
21381}
21382
21383// DeployedApplicationsHealthEvaluation represents health evaluation for deployed applications, containing health
21384// evaluations for each unhealthy deployed application that impacted current aggregated health state.
21385// Can be returned when evaluating application health and the aggregated health state is either Error or Warning.
21386type DeployedApplicationsHealthEvaluation struct {
21387	// MaxPercentUnhealthyDeployedApplications - Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy.
21388	MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"`
21389	// TotalCount - Total number of deployed applications of the application in the health store.
21390	TotalCount *int64 `json:"TotalCount,omitempty"`
21391	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health.
21392	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
21393	// 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'
21394	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
21395	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
21396	Description *string `json:"Description,omitempty"`
21397	// 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'
21398	Kind Kind `json:"Kind,omitempty"`
21399}
21400
21401// MarshalJSON is the custom marshaler for DeployedApplicationsHealthEvaluation.
21402func (dahe DeployedApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
21403	dahe.Kind = KindDeployedApplications
21404	objectMap := make(map[string]interface{})
21405	if dahe.MaxPercentUnhealthyDeployedApplications != nil {
21406		objectMap["MaxPercentUnhealthyDeployedApplications"] = dahe.MaxPercentUnhealthyDeployedApplications
21407	}
21408	if dahe.TotalCount != nil {
21409		objectMap["TotalCount"] = dahe.TotalCount
21410	}
21411	if dahe.UnhealthyEvaluations != nil {
21412		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
21413	}
21414	if dahe.AggregatedHealthState != "" {
21415		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
21416	}
21417	if dahe.Description != nil {
21418		objectMap["Description"] = dahe.Description
21419	}
21420	if dahe.Kind != "" {
21421		objectMap["Kind"] = dahe.Kind
21422	}
21423	return json.Marshal(objectMap)
21424}
21425
21426// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21427func (dahe DeployedApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
21428	return nil, false
21429}
21430
21431// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21432func (dahe DeployedApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
21433	return nil, false
21434}
21435
21436// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21437func (dahe DeployedApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
21438	return nil, false
21439}
21440
21441// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21442func (dahe DeployedApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
21443	return nil, false
21444}
21445
21446// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21447func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
21448	return nil, false
21449}
21450
21451// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21452func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
21453	return &dahe, true
21454}
21455
21456// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21457func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
21458	return nil, false
21459}
21460
21461// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21462func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
21463	return nil, false
21464}
21465
21466// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21467func (dahe DeployedApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
21468	return nil, false
21469}
21470
21471// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21472func (dahe DeployedApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
21473	return nil, false
21474}
21475
21476// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21477func (dahe DeployedApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
21478	return nil, false
21479}
21480
21481// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21482func (dahe DeployedApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
21483	return nil, false
21484}
21485
21486// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21487func (dahe DeployedApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
21488	return nil, false
21489}
21490
21491// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21492func (dahe DeployedApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
21493	return nil, false
21494}
21495
21496// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21497func (dahe DeployedApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
21498	return nil, false
21499}
21500
21501// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21502func (dahe DeployedApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
21503	return nil, false
21504}
21505
21506// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21507func (dahe DeployedApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
21508	return nil, false
21509}
21510
21511// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21512func (dahe DeployedApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
21513	return nil, false
21514}
21515
21516// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21517func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
21518	return nil, false
21519}
21520
21521// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21522func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
21523	return nil, false
21524}
21525
21526// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21527func (dahe DeployedApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
21528	return nil, false
21529}
21530
21531// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21532func (dahe DeployedApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
21533	return &dahe, true
21534}
21535
21536// DeployedCodePackageInfo information about code package deployed on a Service Fabric node.
21537type DeployedCodePackageInfo struct {
21538	// Name - The name of the code package.
21539	Name *string `json:"Name,omitempty"`
21540	// Version - The version of the code package specified in service manifest.
21541	Version *string `json:"Version,omitempty"`
21542	// ServiceManifestName - The name of service manifest that specified this code package.
21543	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
21544	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
21545	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
21546	// is always an empty string.
21547	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
21548	// 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'
21549	HostType HostType `json:"HostType,omitempty"`
21550	// 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'
21551	HostIsolationMode HostIsolationMode `json:"HostIsolationMode,omitempty"`
21552	// 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'
21553	Status DeploymentStatus `json:"Status,omitempty"`
21554	// RunFrequencyInterval - The interval at which code package is run. This is used for periodic code package.
21555	RunFrequencyInterval *string `json:"RunFrequencyInterval,omitempty"`
21556	// SetupEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
21557	SetupEntryPoint *CodePackageEntryPoint `json:"SetupEntryPoint,omitempty"`
21558	// MainEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
21559	MainEntryPoint *CodePackageEntryPoint `json:"MainEntryPoint,omitempty"`
21560}
21561
21562// DeployedServiceHealthReportCreatedEvent deployed Service Health Report Created event.
21563type DeployedServiceHealthReportCreatedEvent struct {
21564	// ServiceManifestName - Service manifest name.
21565	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
21566	// ServicePackageInstanceID - Id of Service package instance.
21567	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
21568	// ServicePackageActivationID - Id of Service package activation.
21569	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
21570	// NodeName - The name of a Service Fabric node.
21571	NodeName *string `json:"NodeName,omitempty"`
21572	// SourceID - Id of report source.
21573	SourceID *string `json:"SourceId,omitempty"`
21574	// Property - Describes the property.
21575	Property *string `json:"Property,omitempty"`
21576	// HealthState - Describes the property health state.
21577	HealthState *string `json:"HealthState,omitempty"`
21578	// TTLTimespan - Time to live in milli-seconds.
21579	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
21580	// SequenceNumber - Sequence number of report.
21581	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
21582	// Description - Description of report.
21583	Description *string `json:"Description,omitempty"`
21584	// RemoveWhenExpired - Indicates the removal when it expires.
21585	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
21586	// SourceUtcTimestamp - Source time.
21587	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
21588	// 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.
21589	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
21590	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
21591	ApplicationID *string `json:"ApplicationId,omitempty"`
21592	// EventInstanceID - The identifier for the FabricEvent instance.
21593	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
21594	// TimeStamp - The time event was logged.
21595	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
21596	// HasCorrelatedEvents - Shows there is existing related events available.
21597	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
21598	// 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'
21599	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
21600}
21601
21602// MarshalJSON is the custom marshaler for DeployedServiceHealthReportCreatedEvent.
21603func (dshrce DeployedServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
21604	dshrce.Kind = KindDeployedServiceHealthReportCreated
21605	objectMap := make(map[string]interface{})
21606	if dshrce.ServiceManifestName != nil {
21607		objectMap["ServiceManifestName"] = dshrce.ServiceManifestName
21608	}
21609	if dshrce.ServicePackageInstanceID != nil {
21610		objectMap["ServicePackageInstanceId"] = dshrce.ServicePackageInstanceID
21611	}
21612	if dshrce.ServicePackageActivationID != nil {
21613		objectMap["ServicePackageActivationId"] = dshrce.ServicePackageActivationID
21614	}
21615	if dshrce.NodeName != nil {
21616		objectMap["NodeName"] = dshrce.NodeName
21617	}
21618	if dshrce.SourceID != nil {
21619		objectMap["SourceId"] = dshrce.SourceID
21620	}
21621	if dshrce.Property != nil {
21622		objectMap["Property"] = dshrce.Property
21623	}
21624	if dshrce.HealthState != nil {
21625		objectMap["HealthState"] = dshrce.HealthState
21626	}
21627	if dshrce.TTLTimespan != nil {
21628		objectMap["TTLTimespan"] = dshrce.TTLTimespan
21629	}
21630	if dshrce.SequenceNumber != nil {
21631		objectMap["SequenceNumber"] = dshrce.SequenceNumber
21632	}
21633	if dshrce.Description != nil {
21634		objectMap["Description"] = dshrce.Description
21635	}
21636	if dshrce.RemoveWhenExpired != nil {
21637		objectMap["RemoveWhenExpired"] = dshrce.RemoveWhenExpired
21638	}
21639	if dshrce.SourceUtcTimestamp != nil {
21640		objectMap["SourceUtcTimestamp"] = dshrce.SourceUtcTimestamp
21641	}
21642	if dshrce.ApplicationID != nil {
21643		objectMap["ApplicationId"] = dshrce.ApplicationID
21644	}
21645	if dshrce.EventInstanceID != nil {
21646		objectMap["EventInstanceId"] = dshrce.EventInstanceID
21647	}
21648	if dshrce.TimeStamp != nil {
21649		objectMap["TimeStamp"] = dshrce.TimeStamp
21650	}
21651	if dshrce.HasCorrelatedEvents != nil {
21652		objectMap["HasCorrelatedEvents"] = dshrce.HasCorrelatedEvents
21653	}
21654	if dshrce.Kind != "" {
21655		objectMap["Kind"] = dshrce.Kind
21656	}
21657	return json.Marshal(objectMap)
21658}
21659
21660// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21661func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
21662	return nil, false
21663}
21664
21665// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21666func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
21667	return &dshrce, true
21668}
21669
21670// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21671func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
21672	return nil, false
21673}
21674
21675// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21676func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
21677	return nil, false
21678}
21679
21680// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21681func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
21682	return nil, false
21683}
21684
21685// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21686func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
21687	return nil, false
21688}
21689
21690// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21691func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
21692	return nil, false
21693}
21694
21695// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21696func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
21697	return nil, false
21698}
21699
21700// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21701func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
21702	return nil, false
21703}
21704
21705// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21706func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
21707	return nil, false
21708}
21709
21710// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21711func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
21712	return nil, false
21713}
21714
21715// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21716func (dshrce DeployedServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
21717	return nil, false
21718}
21719
21720// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21721func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
21722	return nil, false
21723}
21724
21725// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21726func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
21727	return nil, false
21728}
21729
21730// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21731func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
21732	return nil, false
21733}
21734
21735// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21736func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
21737	return nil, false
21738}
21739
21740// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21741func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
21742	return nil, false
21743}
21744
21745// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21746func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
21747	return nil, false
21748}
21749
21750// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21751func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
21752	return nil, false
21753}
21754
21755// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21756func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
21757	return nil, false
21758}
21759
21760// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21761func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
21762	return nil, false
21763}
21764
21765// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21766func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
21767	return nil, false
21768}
21769
21770// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21771func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
21772	return nil, false
21773}
21774
21775// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21776func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
21777	return nil, false
21778}
21779
21780// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21781func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
21782	return nil, false
21783}
21784
21785// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21786func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
21787	return nil, false
21788}
21789
21790// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21791func (dshrce DeployedServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
21792	return nil, false
21793}
21794
21795// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21796func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
21797	return nil, false
21798}
21799
21800// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21801func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
21802	return nil, false
21803}
21804
21805// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21806func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
21807	return nil, false
21808}
21809
21810// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21811func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
21812	return nil, false
21813}
21814
21815// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21816func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
21817	return nil, false
21818}
21819
21820// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21821func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
21822	return nil, false
21823}
21824
21825// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21826func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
21827	return nil, false
21828}
21829
21830// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21831func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
21832	return nil, false
21833}
21834
21835// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21836func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
21837	return nil, false
21838}
21839
21840// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21841func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
21842	return nil, false
21843}
21844
21845// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21846func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
21847	return nil, false
21848}
21849
21850// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21851func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
21852	return nil, false
21853}
21854
21855// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21856func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
21857	return nil, false
21858}
21859
21860// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21861func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
21862	return nil, false
21863}
21864
21865// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21866func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
21867	return nil, false
21868}
21869
21870// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21871func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
21872	return nil, false
21873}
21874
21875// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21876func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
21877	return nil, false
21878}
21879
21880// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21881func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
21882	return nil, false
21883}
21884
21885// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21886func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
21887	return nil, false
21888}
21889
21890// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21891func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
21892	return nil, false
21893}
21894
21895// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21896func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
21897	return nil, false
21898}
21899
21900// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21901func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
21902	return nil, false
21903}
21904
21905// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21906func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
21907	return nil, false
21908}
21909
21910// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21911func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
21912	return nil, false
21913}
21914
21915// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21916func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
21917	return &dshrce, true
21918}
21919
21920// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21921func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
21922	return nil, false
21923}
21924
21925// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21926func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
21927	return nil, false
21928}
21929
21930// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21931func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
21932	return nil, false
21933}
21934
21935// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21936func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
21937	return nil, false
21938}
21939
21940// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21941func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
21942	return nil, false
21943}
21944
21945// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21946func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
21947	return nil, false
21948}
21949
21950// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21951func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
21952	return nil, false
21953}
21954
21955// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21956func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
21957	return nil, false
21958}
21959
21960// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21961func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
21962	return nil, false
21963}
21964
21965// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21966func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
21967	return nil, false
21968}
21969
21970// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21971func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
21972	return nil, false
21973}
21974
21975// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21976func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
21977	return nil, false
21978}
21979
21980// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21981func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
21982	return nil, false
21983}
21984
21985// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21986func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
21987	return nil, false
21988}
21989
21990// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21991func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
21992	return nil, false
21993}
21994
21995// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21996func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
21997	return nil, false
21998}
21999
22000// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22001func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
22002	return nil, false
22003}
22004
22005// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22006func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
22007	return nil, false
22008}
22009
22010// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22011func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
22012	return nil, false
22013}
22014
22015// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22016func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
22017	return nil, false
22018}
22019
22020// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22021func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
22022	return nil, false
22023}
22024
22025// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22026func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
22027	return nil, false
22028}
22029
22030// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22031func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
22032	return nil, false
22033}
22034
22035// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22036func (dshrce DeployedServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
22037	return nil, false
22038}
22039
22040// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22041func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
22042	return &dshrce, true
22043}
22044
22045// DeployedServiceHealthReportExpiredEvent deployed Service Health Report Expired event.
22046type DeployedServiceHealthReportExpiredEvent struct {
22047	// ServiceManifest - Service manifest name.
22048	ServiceManifest *string `json:"ServiceManifest,omitempty"`
22049	// ServicePackageInstanceID - Id of Service package instance.
22050	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
22051	// ServicePackageActivationID - Id of Service package activation.
22052	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
22053	// NodeName - The name of a Service Fabric node.
22054	NodeName *string `json:"NodeName,omitempty"`
22055	// SourceID - Id of report source.
22056	SourceID *string `json:"SourceId,omitempty"`
22057	// Property - Describes the property.
22058	Property *string `json:"Property,omitempty"`
22059	// HealthState - Describes the property health state.
22060	HealthState *string `json:"HealthState,omitempty"`
22061	// TTLTimespan - Time to live in milli-seconds.
22062	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
22063	// SequenceNumber - Sequence number of report.
22064	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
22065	// Description - Description of report.
22066	Description *string `json:"Description,omitempty"`
22067	// RemoveWhenExpired - Indicates the removal when it expires.
22068	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
22069	// SourceUtcTimestamp - Source time.
22070	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
22071	// 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.
22072	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
22073	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
22074	ApplicationID *string `json:"ApplicationId,omitempty"`
22075	// EventInstanceID - The identifier for the FabricEvent instance.
22076	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
22077	// TimeStamp - The time event was logged.
22078	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
22079	// HasCorrelatedEvents - Shows there is existing related events available.
22080	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
22081	// 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'
22082	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
22083}
22084
22085// MarshalJSON is the custom marshaler for DeployedServiceHealthReportExpiredEvent.
22086func (dshree DeployedServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
22087	dshree.Kind = KindDeployedServiceHealthReportExpired
22088	objectMap := make(map[string]interface{})
22089	if dshree.ServiceManifest != nil {
22090		objectMap["ServiceManifest"] = dshree.ServiceManifest
22091	}
22092	if dshree.ServicePackageInstanceID != nil {
22093		objectMap["ServicePackageInstanceId"] = dshree.ServicePackageInstanceID
22094	}
22095	if dshree.ServicePackageActivationID != nil {
22096		objectMap["ServicePackageActivationId"] = dshree.ServicePackageActivationID
22097	}
22098	if dshree.NodeName != nil {
22099		objectMap["NodeName"] = dshree.NodeName
22100	}
22101	if dshree.SourceID != nil {
22102		objectMap["SourceId"] = dshree.SourceID
22103	}
22104	if dshree.Property != nil {
22105		objectMap["Property"] = dshree.Property
22106	}
22107	if dshree.HealthState != nil {
22108		objectMap["HealthState"] = dshree.HealthState
22109	}
22110	if dshree.TTLTimespan != nil {
22111		objectMap["TTLTimespan"] = dshree.TTLTimespan
22112	}
22113	if dshree.SequenceNumber != nil {
22114		objectMap["SequenceNumber"] = dshree.SequenceNumber
22115	}
22116	if dshree.Description != nil {
22117		objectMap["Description"] = dshree.Description
22118	}
22119	if dshree.RemoveWhenExpired != nil {
22120		objectMap["RemoveWhenExpired"] = dshree.RemoveWhenExpired
22121	}
22122	if dshree.SourceUtcTimestamp != nil {
22123		objectMap["SourceUtcTimestamp"] = dshree.SourceUtcTimestamp
22124	}
22125	if dshree.ApplicationID != nil {
22126		objectMap["ApplicationId"] = dshree.ApplicationID
22127	}
22128	if dshree.EventInstanceID != nil {
22129		objectMap["EventInstanceId"] = dshree.EventInstanceID
22130	}
22131	if dshree.TimeStamp != nil {
22132		objectMap["TimeStamp"] = dshree.TimeStamp
22133	}
22134	if dshree.HasCorrelatedEvents != nil {
22135		objectMap["HasCorrelatedEvents"] = dshree.HasCorrelatedEvents
22136	}
22137	if dshree.Kind != "" {
22138		objectMap["Kind"] = dshree.Kind
22139	}
22140	return json.Marshal(objectMap)
22141}
22142
22143// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22144func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
22145	return nil, false
22146}
22147
22148// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22149func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
22150	return &dshree, true
22151}
22152
22153// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22154func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
22155	return nil, false
22156}
22157
22158// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22159func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
22160	return nil, false
22161}
22162
22163// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22164func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
22165	return nil, false
22166}
22167
22168// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22169func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
22170	return nil, false
22171}
22172
22173// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22174func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
22175	return nil, false
22176}
22177
22178// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22179func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
22180	return nil, false
22181}
22182
22183// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22184func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
22185	return nil, false
22186}
22187
22188// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22189func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
22190	return nil, false
22191}
22192
22193// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22194func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
22195	return nil, false
22196}
22197
22198// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22199func (dshree DeployedServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
22200	return nil, false
22201}
22202
22203// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22204func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
22205	return nil, false
22206}
22207
22208// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22209func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
22210	return nil, false
22211}
22212
22213// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22214func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
22215	return nil, false
22216}
22217
22218// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22219func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
22220	return nil, false
22221}
22222
22223// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22224func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
22225	return nil, false
22226}
22227
22228// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22229func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
22230	return nil, false
22231}
22232
22233// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22234func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
22235	return nil, false
22236}
22237
22238// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22239func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
22240	return nil, false
22241}
22242
22243// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22244func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
22245	return nil, false
22246}
22247
22248// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22249func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
22250	return nil, false
22251}
22252
22253// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22254func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
22255	return nil, false
22256}
22257
22258// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22259func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
22260	return nil, false
22261}
22262
22263// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22264func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
22265	return nil, false
22266}
22267
22268// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22269func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
22270	return nil, false
22271}
22272
22273// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22274func (dshree DeployedServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
22275	return nil, false
22276}
22277
22278// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22279func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
22280	return nil, false
22281}
22282
22283// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22284func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
22285	return nil, false
22286}
22287
22288// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22289func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
22290	return nil, false
22291}
22292
22293// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22294func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
22295	return nil, false
22296}
22297
22298// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22299func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
22300	return nil, false
22301}
22302
22303// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22304func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
22305	return nil, false
22306}
22307
22308// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22309func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
22310	return nil, false
22311}
22312
22313// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22314func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
22315	return nil, false
22316}
22317
22318// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22319func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
22320	return nil, false
22321}
22322
22323// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22324func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
22325	return nil, false
22326}
22327
22328// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22329func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
22330	return nil, false
22331}
22332
22333// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22334func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
22335	return nil, false
22336}
22337
22338// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22339func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
22340	return nil, false
22341}
22342
22343// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22344func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
22345	return nil, false
22346}
22347
22348// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22349func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
22350	return nil, false
22351}
22352
22353// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22354func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
22355	return nil, false
22356}
22357
22358// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22359func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
22360	return nil, false
22361}
22362
22363// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22364func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
22365	return nil, false
22366}
22367
22368// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22369func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
22370	return nil, false
22371}
22372
22373// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22374func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
22375	return nil, false
22376}
22377
22378// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22379func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
22380	return nil, false
22381}
22382
22383// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22384func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
22385	return nil, false
22386}
22387
22388// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22389func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
22390	return nil, false
22391}
22392
22393// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22394func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
22395	return nil, false
22396}
22397
22398// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22399func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
22400	return nil, false
22401}
22402
22403// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22404func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
22405	return &dshree, true
22406}
22407
22408// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22409func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
22410	return nil, false
22411}
22412
22413// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22414func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
22415	return nil, false
22416}
22417
22418// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22419func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
22420	return nil, false
22421}
22422
22423// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22424func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
22425	return nil, false
22426}
22427
22428// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22429func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
22430	return nil, false
22431}
22432
22433// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22434func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
22435	return nil, false
22436}
22437
22438// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22439func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
22440	return nil, false
22441}
22442
22443// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22444func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
22445	return nil, false
22446}
22447
22448// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22449func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
22450	return nil, false
22451}
22452
22453// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22454func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
22455	return nil, false
22456}
22457
22458// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22459func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
22460	return nil, false
22461}
22462
22463// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22464func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
22465	return nil, false
22466}
22467
22468// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22469func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
22470	return nil, false
22471}
22472
22473// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22474func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
22475	return nil, false
22476}
22477
22478// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22479func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
22480	return nil, false
22481}
22482
22483// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22484func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
22485	return nil, false
22486}
22487
22488// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22489func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
22490	return nil, false
22491}
22492
22493// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22494func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
22495	return nil, false
22496}
22497
22498// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22499func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
22500	return nil, false
22501}
22502
22503// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22504func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
22505	return nil, false
22506}
22507
22508// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22509func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
22510	return nil, false
22511}
22512
22513// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22514func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
22515	return nil, false
22516}
22517
22518// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22519func (dshree DeployedServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
22520	return nil, false
22521}
22522
22523// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22524func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
22525	return &dshree, true
22526}
22527
22528// DeployedServicePackageHealth information about the health of a service package for a specific application
22529// deployed on a Service Fabric node.
22530type DeployedServicePackageHealth struct {
22531	autorest.Response `json:"-"`
22532	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
22533	ApplicationName *string `json:"ApplicationName,omitempty"`
22534	// ServiceManifestName - Name of the service manifest.
22535	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
22536	// NodeName - Name of the node where this service package is deployed.
22537	NodeName *string `json:"NodeName,omitempty"`
22538	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
22539	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
22540	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
22541	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22542	// HealthEvents - The list of health events reported on the entity.
22543	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
22544	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
22545	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
22546	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
22547	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
22548}
22549
22550// DeployedServicePackageHealthEvaluation represents health evaluation for a deployed service package, containing
22551// information about the data and the algorithm used by health store to evaluate health. The evaluation is returned
22552// only when the aggregated health state is either Error or Warning.
22553type DeployedServicePackageHealthEvaluation struct {
22554	// NodeName - The name of a Service Fabric node.
22555	NodeName *string `json:"NodeName,omitempty"`
22556	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
22557	ApplicationName *string `json:"ApplicationName,omitempty"`
22558	// ServiceManifestName - The name of the service manifest.
22559	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
22560	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation.
22561	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
22562	// 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'
22563	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22564	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
22565	Description *string `json:"Description,omitempty"`
22566	// 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'
22567	Kind Kind `json:"Kind,omitempty"`
22568}
22569
22570// MarshalJSON is the custom marshaler for DeployedServicePackageHealthEvaluation.
22571func (dsphe DeployedServicePackageHealthEvaluation) MarshalJSON() ([]byte, error) {
22572	dsphe.Kind = KindDeployedServicePackage
22573	objectMap := make(map[string]interface{})
22574	if dsphe.NodeName != nil {
22575		objectMap["NodeName"] = dsphe.NodeName
22576	}
22577	if dsphe.ApplicationName != nil {
22578		objectMap["ApplicationName"] = dsphe.ApplicationName
22579	}
22580	if dsphe.ServiceManifestName != nil {
22581		objectMap["ServiceManifestName"] = dsphe.ServiceManifestName
22582	}
22583	if dsphe.UnhealthyEvaluations != nil {
22584		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
22585	}
22586	if dsphe.AggregatedHealthState != "" {
22587		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
22588	}
22589	if dsphe.Description != nil {
22590		objectMap["Description"] = dsphe.Description
22591	}
22592	if dsphe.Kind != "" {
22593		objectMap["Kind"] = dsphe.Kind
22594	}
22595	return json.Marshal(objectMap)
22596}
22597
22598// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22599func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
22600	return nil, false
22601}
22602
22603// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22604func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
22605	return nil, false
22606}
22607
22608// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22609func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
22610	return nil, false
22611}
22612
22613// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22614func (dsphe DeployedServicePackageHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
22615	return nil, false
22616}
22617
22618// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22619func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
22620	return nil, false
22621}
22622
22623// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22624func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
22625	return nil, false
22626}
22627
22628// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22629func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
22630	return &dsphe, true
22631}
22632
22633// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22634func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
22635	return nil, false
22636}
22637
22638// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22639func (dsphe DeployedServicePackageHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
22640	return nil, false
22641}
22642
22643// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22644func (dsphe DeployedServicePackageHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
22645	return nil, false
22646}
22647
22648// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22649func (dsphe DeployedServicePackageHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
22650	return nil, false
22651}
22652
22653// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22654func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
22655	return nil, false
22656}
22657
22658// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22659func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
22660	return nil, false
22661}
22662
22663// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22664func (dsphe DeployedServicePackageHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
22665	return nil, false
22666}
22667
22668// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22669func (dsphe DeployedServicePackageHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
22670	return nil, false
22671}
22672
22673// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22674func (dsphe DeployedServicePackageHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
22675	return nil, false
22676}
22677
22678// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22679func (dsphe DeployedServicePackageHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
22680	return nil, false
22681}
22682
22683// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22684func (dsphe DeployedServicePackageHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
22685	return nil, false
22686}
22687
22688// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22689func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
22690	return nil, false
22691}
22692
22693// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22694func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
22695	return nil, false
22696}
22697
22698// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22699func (dsphe DeployedServicePackageHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
22700	return nil, false
22701}
22702
22703// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22704func (dsphe DeployedServicePackageHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
22705	return &dsphe, true
22706}
22707
22708// DeployedServicePackageHealthState represents the health state of a deployed service package, containing the
22709// entity identifier and the aggregated health state.
22710type DeployedServicePackageHealthState struct {
22711	// NodeName - Name of the node on which the service package is deployed.
22712	NodeName *string `json:"NodeName,omitempty"`
22713	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
22714	ApplicationName *string `json:"ApplicationName,omitempty"`
22715	// ServiceManifestName - Name of the manifest describing the service package.
22716	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
22717	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
22718	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
22719	// is always an empty string.
22720	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
22721	// 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'
22722	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22723}
22724
22725// DeployedServicePackageHealthStateChunk represents the health state chunk of a deployed service package, which
22726// contains the service manifest name and the service package aggregated health state.
22727type DeployedServicePackageHealthStateChunk struct {
22728	// ServiceManifestName - The name of the service manifest.
22729	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
22730	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
22731	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
22732	// is always an empty string.
22733	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
22734	// 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'
22735	HealthState HealthState `json:"HealthState,omitempty"`
22736}
22737
22738// DeployedServicePackageHealthStateChunkList the list of deployed service package health state chunks that respect
22739// the input filters in the chunk query. Returned by get cluster health state chunks query.
22740type DeployedServicePackageHealthStateChunkList struct {
22741	// Items - The list of deployed service package health state chunks that respect the input filters in the chunk query.
22742	Items *[]DeployedServicePackageHealthStateChunk `json:"Items,omitempty"`
22743}
22744
22745// DeployedServicePackageHealthStateFilter defines matching criteria to determine whether a deployed service
22746// package should be included as a child of a deployed application in the cluster health chunk.
22747// The deployed service packages are only returned if the parent entities match a filter specified in the cluster
22748// health chunk query description. The parent deployed application and its parent application must be included in
22749// the cluster health chunk.
22750// One filter can match zero, one or multiple deployed service packages, depending on its properties.
22751type DeployedServicePackageHealthStateFilter struct {
22752	// ServiceManifestNameFilter - The name of the service manifest which identifies the deployed service packages that matches the filter.
22753	// If specified, the filter is applied only to the specified deployed service packages, if any.
22754	// If no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.
22755	// If any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.
22756	// 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.
22757	ServiceManifestNameFilter *string `json:"ServiceManifestNameFilter,omitempty"`
22758	// ServicePackageActivationIDFilter - The activation ID of a deployed service package that matches the filter.
22759	// If not specified, the filter applies to all deployed service packages that match the other parameters.
22760	// If specified, the filter matches only the deployed service package with the specified activation ID.
22761	ServicePackageActivationIDFilter *string `json:"ServicePackageActivationIdFilter,omitempty"`
22762	// 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.
22763	// 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.
22764	// 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.
22765	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
22766	// For example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).
22767	// - Default - Default value. Matches any HealthState. The value is zero.
22768	// - 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.
22769	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
22770	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
22771	// - Error - Filter that matches input with HealthState value Error. The value is 8.
22772	// - All - Filter that matches input with any HealthState value. The value is 65535.
22773	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
22774}
22775
22776// DeployedServicePackageInfo information about service package deployed on a Service Fabric node.
22777type DeployedServicePackageInfo struct {
22778	// Name - The name of the service package as specified in the service manifest.
22779	Name *string `json:"Name,omitempty"`
22780	// Version - The version of the service package specified in service manifest.
22781	Version *string `json:"Version,omitempty"`
22782	// 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'
22783	Status DeploymentStatus `json:"Status,omitempty"`
22784	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
22785	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
22786	// is always an empty string.
22787	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
22788}
22789
22790// DeployedServicePackagesHealthEvaluation represents health evaluation for deployed service packages, containing
22791// health evaluations for each unhealthy deployed service package that impacted current aggregated health state.
22792// Can be returned when evaluating deployed application health and the aggregated health state is either Error or
22793// Warning.
22794type DeployedServicePackagesHealthEvaluation struct {
22795	// TotalCount - Total number of deployed service packages of the deployed application in the health store.
22796	TotalCount *int64 `json:"TotalCount,omitempty"`
22797	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health.
22798	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
22799	// 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'
22800	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22801	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
22802	Description *string `json:"Description,omitempty"`
22803	// 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'
22804	Kind Kind `json:"Kind,omitempty"`
22805}
22806
22807// MarshalJSON is the custom marshaler for DeployedServicePackagesHealthEvaluation.
22808func (dsphe DeployedServicePackagesHealthEvaluation) MarshalJSON() ([]byte, error) {
22809	dsphe.Kind = KindDeployedServicePackages
22810	objectMap := make(map[string]interface{})
22811	if dsphe.TotalCount != nil {
22812		objectMap["TotalCount"] = dsphe.TotalCount
22813	}
22814	if dsphe.UnhealthyEvaluations != nil {
22815		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
22816	}
22817	if dsphe.AggregatedHealthState != "" {
22818		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
22819	}
22820	if dsphe.Description != nil {
22821		objectMap["Description"] = dsphe.Description
22822	}
22823	if dsphe.Kind != "" {
22824		objectMap["Kind"] = dsphe.Kind
22825	}
22826	return json.Marshal(objectMap)
22827}
22828
22829// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22830func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
22831	return nil, false
22832}
22833
22834// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22835func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
22836	return nil, false
22837}
22838
22839// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22840func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
22841	return nil, false
22842}
22843
22844// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22845func (dsphe DeployedServicePackagesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
22846	return nil, false
22847}
22848
22849// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22850func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
22851	return nil, false
22852}
22853
22854// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22855func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
22856	return nil, false
22857}
22858
22859// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22860func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
22861	return nil, false
22862}
22863
22864// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22865func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
22866	return &dsphe, true
22867}
22868
22869// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22870func (dsphe DeployedServicePackagesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
22871	return nil, false
22872}
22873
22874// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22875func (dsphe DeployedServicePackagesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
22876	return nil, false
22877}
22878
22879// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22880func (dsphe DeployedServicePackagesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
22881	return nil, false
22882}
22883
22884// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22885func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
22886	return nil, false
22887}
22888
22889// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22890func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
22891	return nil, false
22892}
22893
22894// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22895func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
22896	return nil, false
22897}
22898
22899// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22900func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
22901	return nil, false
22902}
22903
22904// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22905func (dsphe DeployedServicePackagesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
22906	return nil, false
22907}
22908
22909// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22910func (dsphe DeployedServicePackagesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
22911	return nil, false
22912}
22913
22914// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22915func (dsphe DeployedServicePackagesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
22916	return nil, false
22917}
22918
22919// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22920func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
22921	return nil, false
22922}
22923
22924// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22925func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
22926	return nil, false
22927}
22928
22929// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22930func (dsphe DeployedServicePackagesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
22931	return nil, false
22932}
22933
22934// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
22935func (dsphe DeployedServicePackagesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
22936	return &dsphe, true
22937}
22938
22939// BasicDeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
22940type BasicDeployedServiceReplicaDetailInfo interface {
22941	AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool)
22942	AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool)
22943	AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool)
22944}
22945
22946// DeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
22947type DeployedServiceReplicaDetailInfo struct {
22948	autorest.Response `json:"-"`
22949	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
22950	ServiceName *string `json:"ServiceName,omitempty"`
22951	// 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.
22952	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
22953	// 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'
22954	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
22955	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
22956	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
22957	// ReportedLoad - List of load reported by replica.
22958	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
22959	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
22960	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
22961}
22962
22963func unmarshalBasicDeployedServiceReplicaDetailInfo(body []byte) (BasicDeployedServiceReplicaDetailInfo, error) {
22964	var m map[string]interface{}
22965	err := json.Unmarshal(body, &m)
22966	if err != nil {
22967		return nil, err
22968	}
22969
22970	switch m["ServiceKind"] {
22971	case string(ServiceKindStateful1):
22972		var dssrdi DeployedStatefulServiceReplicaDetailInfo
22973		err := json.Unmarshal(body, &dssrdi)
22974		return dssrdi, err
22975	case string(ServiceKindStateless1):
22976		var dssidi DeployedStatelessServiceInstanceDetailInfo
22977		err := json.Unmarshal(body, &dssidi)
22978		return dssidi, err
22979	default:
22980		var dsrdi DeployedServiceReplicaDetailInfo
22981		err := json.Unmarshal(body, &dsrdi)
22982		return dsrdi, err
22983	}
22984}
22985func unmarshalBasicDeployedServiceReplicaDetailInfoArray(body []byte) ([]BasicDeployedServiceReplicaDetailInfo, error) {
22986	var rawMessages []*json.RawMessage
22987	err := json.Unmarshal(body, &rawMessages)
22988	if err != nil {
22989		return nil, err
22990	}
22991
22992	dsrdiArray := make([]BasicDeployedServiceReplicaDetailInfo, len(rawMessages))
22993
22994	for index, rawMessage := range rawMessages {
22995		dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(*rawMessage)
22996		if err != nil {
22997			return nil, err
22998		}
22999		dsrdiArray[index] = dsrdi
23000	}
23001	return dsrdiArray, nil
23002}
23003
23004// MarshalJSON is the custom marshaler for DeployedServiceReplicaDetailInfo.
23005func (dsrdi DeployedServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
23006	dsrdi.ServiceKind = ServiceKindDeployedServiceReplicaDetailInfo
23007	objectMap := make(map[string]interface{})
23008	if dsrdi.ServiceName != nil {
23009		objectMap["ServiceName"] = dsrdi.ServiceName
23010	}
23011	if dsrdi.PartitionID != nil {
23012		objectMap["PartitionId"] = dsrdi.PartitionID
23013	}
23014	if dsrdi.CurrentServiceOperation != "" {
23015		objectMap["CurrentServiceOperation"] = dsrdi.CurrentServiceOperation
23016	}
23017	if dsrdi.CurrentServiceOperationStartTimeUtc != nil {
23018		objectMap["CurrentServiceOperationStartTimeUtc"] = dsrdi.CurrentServiceOperationStartTimeUtc
23019	}
23020	if dsrdi.ReportedLoad != nil {
23021		objectMap["ReportedLoad"] = dsrdi.ReportedLoad
23022	}
23023	if dsrdi.ServiceKind != "" {
23024		objectMap["ServiceKind"] = dsrdi.ServiceKind
23025	}
23026	return json.Marshal(objectMap)
23027}
23028
23029// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23030func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
23031	return nil, false
23032}
23033
23034// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23035func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
23036	return nil, false
23037}
23038
23039// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23040func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
23041	return &dsrdi, true
23042}
23043
23044// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23045func (dsrdi DeployedServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
23046	return &dsrdi, true
23047}
23048
23049// DeployedServiceReplicaDetailInfoModel ...
23050type DeployedServiceReplicaDetailInfoModel struct {
23051	autorest.Response `json:"-"`
23052	Value             BasicDeployedServiceReplicaDetailInfo `json:"value,omitempty"`
23053}
23054
23055// UnmarshalJSON is the custom unmarshaler for DeployedServiceReplicaDetailInfoModel struct.
23056func (dsrdim *DeployedServiceReplicaDetailInfoModel) UnmarshalJSON(body []byte) error {
23057	dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(body)
23058	if err != nil {
23059		return err
23060	}
23061	dsrdim.Value = dsrdi
23062
23063	return nil
23064}
23065
23066// BasicDeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
23067type BasicDeployedServiceReplicaInfo interface {
23068	AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool)
23069	AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool)
23070	AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool)
23071}
23072
23073// DeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
23074type DeployedServiceReplicaInfo struct {
23075	// ServiceName - The full name of the service with 'fabric:' URI scheme.
23076	ServiceName *string `json:"ServiceName,omitempty"`
23077	// ServiceTypeName - Name of the service type as specified in the service manifest.
23078	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23079	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23080	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23081	// CodePackageName - The name of the code package that hosts this replica.
23082	CodePackageName *string `json:"CodePackageName,omitempty"`
23083	// 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.
23084	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23085	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
23086	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
23087	// Address - The last address returned by the replica in Open or ChangeRole.
23088	Address *string `json:"Address,omitempty"`
23089	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23090	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23091	// is always an empty string.
23092	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23093	// 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.
23094	HostProcessID *string `json:"HostProcessId,omitempty"`
23095	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
23096	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
23097}
23098
23099func unmarshalBasicDeployedServiceReplicaInfo(body []byte) (BasicDeployedServiceReplicaInfo, error) {
23100	var m map[string]interface{}
23101	err := json.Unmarshal(body, &m)
23102	if err != nil {
23103		return nil, err
23104	}
23105
23106	switch m["ServiceKind"] {
23107	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful):
23108		var dssri DeployedStatefulServiceReplicaInfo
23109		err := json.Unmarshal(body, &dssri)
23110		return dssri, err
23111	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless):
23112		var dssii DeployedStatelessServiceInstanceInfo
23113		err := json.Unmarshal(body, &dssii)
23114		return dssii, err
23115	default:
23116		var dsri DeployedServiceReplicaInfo
23117		err := json.Unmarshal(body, &dsri)
23118		return dsri, err
23119	}
23120}
23121func unmarshalBasicDeployedServiceReplicaInfoArray(body []byte) ([]BasicDeployedServiceReplicaInfo, error) {
23122	var rawMessages []*json.RawMessage
23123	err := json.Unmarshal(body, &rawMessages)
23124	if err != nil {
23125		return nil, err
23126	}
23127
23128	dsriArray := make([]BasicDeployedServiceReplicaInfo, len(rawMessages))
23129
23130	for index, rawMessage := range rawMessages {
23131		dsri, err := unmarshalBasicDeployedServiceReplicaInfo(*rawMessage)
23132		if err != nil {
23133			return nil, err
23134		}
23135		dsriArray[index] = dsri
23136	}
23137	return dsriArray, nil
23138}
23139
23140// MarshalJSON is the custom marshaler for DeployedServiceReplicaInfo.
23141func (dsri DeployedServiceReplicaInfo) MarshalJSON() ([]byte, error) {
23142	dsri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo
23143	objectMap := make(map[string]interface{})
23144	if dsri.ServiceName != nil {
23145		objectMap["ServiceName"] = dsri.ServiceName
23146	}
23147	if dsri.ServiceTypeName != nil {
23148		objectMap["ServiceTypeName"] = dsri.ServiceTypeName
23149	}
23150	if dsri.ServiceManifestName != nil {
23151		objectMap["ServiceManifestName"] = dsri.ServiceManifestName
23152	}
23153	if dsri.CodePackageName != nil {
23154		objectMap["CodePackageName"] = dsri.CodePackageName
23155	}
23156	if dsri.PartitionID != nil {
23157		objectMap["PartitionId"] = dsri.PartitionID
23158	}
23159	if dsri.ReplicaStatus != "" {
23160		objectMap["ReplicaStatus"] = dsri.ReplicaStatus
23161	}
23162	if dsri.Address != nil {
23163		objectMap["Address"] = dsri.Address
23164	}
23165	if dsri.ServicePackageActivationID != nil {
23166		objectMap["ServicePackageActivationId"] = dsri.ServicePackageActivationID
23167	}
23168	if dsri.HostProcessID != nil {
23169		objectMap["HostProcessId"] = dsri.HostProcessID
23170	}
23171	if dsri.ServiceKind != "" {
23172		objectMap["ServiceKind"] = dsri.ServiceKind
23173	}
23174	return json.Marshal(objectMap)
23175}
23176
23177// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23178func (dsri DeployedServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
23179	return nil, false
23180}
23181
23182// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23183func (dsri DeployedServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
23184	return nil, false
23185}
23186
23187// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23188func (dsri DeployedServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
23189	return &dsri, true
23190}
23191
23192// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23193func (dsri DeployedServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
23194	return &dsri, true
23195}
23196
23197// DeployedServiceTypeInfo information about service type deployed on a node, information such as the status of the
23198// service type registration on a node.
23199type DeployedServiceTypeInfo struct {
23200	// ServiceTypeName - Name of the service type as specified in the service manifest.
23201	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23202	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23203	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23204	// CodePackageName - The name of the code package that registered the service type.
23205	CodePackageName *string `json:"CodePackageName,omitempty"`
23206	// Status - The status of the service type registration on the node. Possible values include: 'ServiceTypeRegistrationStatusInvalid', 'ServiceTypeRegistrationStatusDisabled', 'ServiceTypeRegistrationStatusEnabled', 'ServiceTypeRegistrationStatusRegistered'
23207	Status ServiceTypeRegistrationStatus `json:"Status,omitempty"`
23208	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23209	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23210	// is always an empty string.
23211	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23212}
23213
23214// DeployedStatefulServiceReplicaDetailInfo information about a stateful replica running in a code package. Please
23215// note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName, PartitionId
23216// and replicaId.
23217type DeployedStatefulServiceReplicaDetailInfo struct {
23218	// 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.
23219	ReplicaID *string `json:"ReplicaId,omitempty"`
23220	// CurrentReplicatorOperation - Specifies the operation currently being executed by the Replicator. Possible values include: 'ReplicatorOperationNameInvalid', 'ReplicatorOperationNameNone', 'ReplicatorOperationNameOpen', 'ReplicatorOperationNameChangeRole', 'ReplicatorOperationNameUpdateEpoch', 'ReplicatorOperationNameClose', 'ReplicatorOperationNameAbort', 'ReplicatorOperationNameOnDataLoss', 'ReplicatorOperationNameWaitForCatchup', 'ReplicatorOperationNameBuild'
23221	CurrentReplicatorOperation ReplicatorOperationName `json:"CurrentReplicatorOperation,omitempty"`
23222	// ReadStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
23223	ReadStatus PartitionAccessStatus `json:"ReadStatus,omitempty"`
23224	// WriteStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
23225	WriteStatus PartitionAccessStatus `json:"WriteStatus,omitempty"`
23226	// ReplicatorStatus - Represents a base class for primary or secondary replicator status.
23227	// Contains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.
23228	ReplicatorStatus BasicReplicatorStatus `json:"ReplicatorStatus,omitempty"`
23229	// ReplicaStatus - Key value store related information for the replica.
23230	ReplicaStatus *KeyValueStoreReplicaStatus `json:"ReplicaStatus,omitempty"`
23231	// DeployedServiceReplicaQueryResult - Information about a stateful service replica deployed on a node.
23232	DeployedServiceReplicaQueryResult *DeployedStatefulServiceReplicaInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
23233	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
23234	ServiceName *string `json:"ServiceName,omitempty"`
23235	// 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.
23236	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23237	// 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'
23238	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
23239	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
23240	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
23241	// ReportedLoad - List of load reported by replica.
23242	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
23243	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
23244	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
23245}
23246
23247// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaDetailInfo.
23248func (dssrdi DeployedStatefulServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
23249	dssrdi.ServiceKind = ServiceKindStateful1
23250	objectMap := make(map[string]interface{})
23251	if dssrdi.ReplicaID != nil {
23252		objectMap["ReplicaId"] = dssrdi.ReplicaID
23253	}
23254	if dssrdi.CurrentReplicatorOperation != "" {
23255		objectMap["CurrentReplicatorOperation"] = dssrdi.CurrentReplicatorOperation
23256	}
23257	if dssrdi.ReadStatus != "" {
23258		objectMap["ReadStatus"] = dssrdi.ReadStatus
23259	}
23260	if dssrdi.WriteStatus != "" {
23261		objectMap["WriteStatus"] = dssrdi.WriteStatus
23262	}
23263	objectMap["ReplicatorStatus"] = dssrdi.ReplicatorStatus
23264	if dssrdi.ReplicaStatus != nil {
23265		objectMap["ReplicaStatus"] = dssrdi.ReplicaStatus
23266	}
23267	if dssrdi.DeployedServiceReplicaQueryResult != nil {
23268		objectMap["DeployedServiceReplicaQueryResult"] = dssrdi.DeployedServiceReplicaQueryResult
23269	}
23270	if dssrdi.ServiceName != nil {
23271		objectMap["ServiceName"] = dssrdi.ServiceName
23272	}
23273	if dssrdi.PartitionID != nil {
23274		objectMap["PartitionId"] = dssrdi.PartitionID
23275	}
23276	if dssrdi.CurrentServiceOperation != "" {
23277		objectMap["CurrentServiceOperation"] = dssrdi.CurrentServiceOperation
23278	}
23279	if dssrdi.CurrentServiceOperationStartTimeUtc != nil {
23280		objectMap["CurrentServiceOperationStartTimeUtc"] = dssrdi.CurrentServiceOperationStartTimeUtc
23281	}
23282	if dssrdi.ReportedLoad != nil {
23283		objectMap["ReportedLoad"] = dssrdi.ReportedLoad
23284	}
23285	if dssrdi.ServiceKind != "" {
23286		objectMap["ServiceKind"] = dssrdi.ServiceKind
23287	}
23288	return json.Marshal(objectMap)
23289}
23290
23291// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23292func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
23293	return &dssrdi, true
23294}
23295
23296// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23297func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
23298	return nil, false
23299}
23300
23301// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23302func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
23303	return nil, false
23304}
23305
23306// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23307func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
23308	return &dssrdi, true
23309}
23310
23311// UnmarshalJSON is the custom unmarshaler for DeployedStatefulServiceReplicaDetailInfo struct.
23312func (dssrdi *DeployedStatefulServiceReplicaDetailInfo) UnmarshalJSON(body []byte) error {
23313	var m map[string]*json.RawMessage
23314	err := json.Unmarshal(body, &m)
23315	if err != nil {
23316		return err
23317	}
23318	for k, v := range m {
23319		switch k {
23320		case "ReplicaId":
23321			if v != nil {
23322				var replicaID string
23323				err = json.Unmarshal(*v, &replicaID)
23324				if err != nil {
23325					return err
23326				}
23327				dssrdi.ReplicaID = &replicaID
23328			}
23329		case "CurrentReplicatorOperation":
23330			if v != nil {
23331				var currentReplicatorOperation ReplicatorOperationName
23332				err = json.Unmarshal(*v, &currentReplicatorOperation)
23333				if err != nil {
23334					return err
23335				}
23336				dssrdi.CurrentReplicatorOperation = currentReplicatorOperation
23337			}
23338		case "ReadStatus":
23339			if v != nil {
23340				var readStatus PartitionAccessStatus
23341				err = json.Unmarshal(*v, &readStatus)
23342				if err != nil {
23343					return err
23344				}
23345				dssrdi.ReadStatus = readStatus
23346			}
23347		case "WriteStatus":
23348			if v != nil {
23349				var writeStatus PartitionAccessStatus
23350				err = json.Unmarshal(*v, &writeStatus)
23351				if err != nil {
23352					return err
23353				}
23354				dssrdi.WriteStatus = writeStatus
23355			}
23356		case "ReplicatorStatus":
23357			if v != nil {
23358				replicatorStatus, err := unmarshalBasicReplicatorStatus(*v)
23359				if err != nil {
23360					return err
23361				}
23362				dssrdi.ReplicatorStatus = replicatorStatus
23363			}
23364		case "ReplicaStatus":
23365			if v != nil {
23366				var replicaStatus KeyValueStoreReplicaStatus
23367				err = json.Unmarshal(*v, &replicaStatus)
23368				if err != nil {
23369					return err
23370				}
23371				dssrdi.ReplicaStatus = &replicaStatus
23372			}
23373		case "DeployedServiceReplicaQueryResult":
23374			if v != nil {
23375				var deployedServiceReplicaQueryResult DeployedStatefulServiceReplicaInfo
23376				err = json.Unmarshal(*v, &deployedServiceReplicaQueryResult)
23377				if err != nil {
23378					return err
23379				}
23380				dssrdi.DeployedServiceReplicaQueryResult = &deployedServiceReplicaQueryResult
23381			}
23382		case "ServiceName":
23383			if v != nil {
23384				var serviceName string
23385				err = json.Unmarshal(*v, &serviceName)
23386				if err != nil {
23387					return err
23388				}
23389				dssrdi.ServiceName = &serviceName
23390			}
23391		case "PartitionId":
23392			if v != nil {
23393				var partitionID uuid.UUID
23394				err = json.Unmarshal(*v, &partitionID)
23395				if err != nil {
23396					return err
23397				}
23398				dssrdi.PartitionID = &partitionID
23399			}
23400		case "CurrentServiceOperation":
23401			if v != nil {
23402				var currentServiceOperation ServiceOperationName
23403				err = json.Unmarshal(*v, &currentServiceOperation)
23404				if err != nil {
23405					return err
23406				}
23407				dssrdi.CurrentServiceOperation = currentServiceOperation
23408			}
23409		case "CurrentServiceOperationStartTimeUtc":
23410			if v != nil {
23411				var currentServiceOperationStartTimeUtc date.Time
23412				err = json.Unmarshal(*v, &currentServiceOperationStartTimeUtc)
23413				if err != nil {
23414					return err
23415				}
23416				dssrdi.CurrentServiceOperationStartTimeUtc = &currentServiceOperationStartTimeUtc
23417			}
23418		case "ReportedLoad":
23419			if v != nil {
23420				var reportedLoad []LoadMetricReportInfo
23421				err = json.Unmarshal(*v, &reportedLoad)
23422				if err != nil {
23423					return err
23424				}
23425				dssrdi.ReportedLoad = &reportedLoad
23426			}
23427		case "ServiceKind":
23428			if v != nil {
23429				var serviceKind ServiceKindBasicDeployedServiceReplicaDetailInfo
23430				err = json.Unmarshal(*v, &serviceKind)
23431				if err != nil {
23432					return err
23433				}
23434				dssrdi.ServiceKind = serviceKind
23435			}
23436		}
23437	}
23438
23439	return nil
23440}
23441
23442// DeployedStatefulServiceReplicaInfo information about a stateful service replica deployed on a node.
23443type DeployedStatefulServiceReplicaInfo struct {
23444	// 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.
23445	ReplicaID *string `json:"ReplicaId,omitempty"`
23446	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
23447	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
23448	// ReconfigurationInformation - Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.
23449	ReconfigurationInformation *ReconfigurationInformation `json:"ReconfigurationInformation,omitempty"`
23450	// ServiceName - The full name of the service with 'fabric:' URI scheme.
23451	ServiceName *string `json:"ServiceName,omitempty"`
23452	// ServiceTypeName - Name of the service type as specified in the service manifest.
23453	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23454	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23455	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23456	// CodePackageName - The name of the code package that hosts this replica.
23457	CodePackageName *string `json:"CodePackageName,omitempty"`
23458	// 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.
23459	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23460	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
23461	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
23462	// Address - The last address returned by the replica in Open or ChangeRole.
23463	Address *string `json:"Address,omitempty"`
23464	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23465	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23466	// is always an empty string.
23467	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23468	// 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.
23469	HostProcessID *string `json:"HostProcessId,omitempty"`
23470	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
23471	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
23472}
23473
23474// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaInfo.
23475func (dssri DeployedStatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
23476	dssri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful
23477	objectMap := make(map[string]interface{})
23478	if dssri.ReplicaID != nil {
23479		objectMap["ReplicaId"] = dssri.ReplicaID
23480	}
23481	if dssri.ReplicaRole != "" {
23482		objectMap["ReplicaRole"] = dssri.ReplicaRole
23483	}
23484	if dssri.ReconfigurationInformation != nil {
23485		objectMap["ReconfigurationInformation"] = dssri.ReconfigurationInformation
23486	}
23487	if dssri.ServiceName != nil {
23488		objectMap["ServiceName"] = dssri.ServiceName
23489	}
23490	if dssri.ServiceTypeName != nil {
23491		objectMap["ServiceTypeName"] = dssri.ServiceTypeName
23492	}
23493	if dssri.ServiceManifestName != nil {
23494		objectMap["ServiceManifestName"] = dssri.ServiceManifestName
23495	}
23496	if dssri.CodePackageName != nil {
23497		objectMap["CodePackageName"] = dssri.CodePackageName
23498	}
23499	if dssri.PartitionID != nil {
23500		objectMap["PartitionId"] = dssri.PartitionID
23501	}
23502	if dssri.ReplicaStatus != "" {
23503		objectMap["ReplicaStatus"] = dssri.ReplicaStatus
23504	}
23505	if dssri.Address != nil {
23506		objectMap["Address"] = dssri.Address
23507	}
23508	if dssri.ServicePackageActivationID != nil {
23509		objectMap["ServicePackageActivationId"] = dssri.ServicePackageActivationID
23510	}
23511	if dssri.HostProcessID != nil {
23512		objectMap["HostProcessId"] = dssri.HostProcessID
23513	}
23514	if dssri.ServiceKind != "" {
23515		objectMap["ServiceKind"] = dssri.ServiceKind
23516	}
23517	return json.Marshal(objectMap)
23518}
23519
23520// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23521func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
23522	return &dssri, true
23523}
23524
23525// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23526func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
23527	return nil, false
23528}
23529
23530// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23531func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
23532	return nil, false
23533}
23534
23535// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23536func (dssri DeployedStatefulServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
23537	return &dssri, true
23538}
23539
23540// DeployedStatelessServiceInstanceDetailInfo information about a stateless instance running in a code package.
23541// Please note that DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName,
23542// PartitionId and InstanceId.
23543type DeployedStatelessServiceInstanceDetailInfo struct {
23544	// 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.
23545	InstanceID *string `json:"InstanceId,omitempty"`
23546	// DeployedServiceReplicaQueryResult - Information about a stateless service instance deployed on a node.
23547	DeployedServiceReplicaQueryResult *DeployedStatelessServiceInstanceInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
23548	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
23549	ServiceName *string `json:"ServiceName,omitempty"`
23550	// 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.
23551	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23552	// 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'
23553	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
23554	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
23555	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
23556	// ReportedLoad - List of load reported by replica.
23557	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
23558	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
23559	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
23560}
23561
23562// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceDetailInfo.
23563func (dssidi DeployedStatelessServiceInstanceDetailInfo) MarshalJSON() ([]byte, error) {
23564	dssidi.ServiceKind = ServiceKindStateless1
23565	objectMap := make(map[string]interface{})
23566	if dssidi.InstanceID != nil {
23567		objectMap["InstanceId"] = dssidi.InstanceID
23568	}
23569	if dssidi.DeployedServiceReplicaQueryResult != nil {
23570		objectMap["DeployedServiceReplicaQueryResult"] = dssidi.DeployedServiceReplicaQueryResult
23571	}
23572	if dssidi.ServiceName != nil {
23573		objectMap["ServiceName"] = dssidi.ServiceName
23574	}
23575	if dssidi.PartitionID != nil {
23576		objectMap["PartitionId"] = dssidi.PartitionID
23577	}
23578	if dssidi.CurrentServiceOperation != "" {
23579		objectMap["CurrentServiceOperation"] = dssidi.CurrentServiceOperation
23580	}
23581	if dssidi.CurrentServiceOperationStartTimeUtc != nil {
23582		objectMap["CurrentServiceOperationStartTimeUtc"] = dssidi.CurrentServiceOperationStartTimeUtc
23583	}
23584	if dssidi.ReportedLoad != nil {
23585		objectMap["ReportedLoad"] = dssidi.ReportedLoad
23586	}
23587	if dssidi.ServiceKind != "" {
23588		objectMap["ServiceKind"] = dssidi.ServiceKind
23589	}
23590	return json.Marshal(objectMap)
23591}
23592
23593// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23594func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
23595	return nil, false
23596}
23597
23598// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23599func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
23600	return &dssidi, true
23601}
23602
23603// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23604func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
23605	return nil, false
23606}
23607
23608// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23609func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
23610	return &dssidi, true
23611}
23612
23613// DeployedStatelessServiceInstanceInfo information about a stateless service instance deployed on a node.
23614type DeployedStatelessServiceInstanceInfo struct {
23615	// 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.
23616	InstanceID *string `json:"InstanceId,omitempty"`
23617	// ServiceName - The full name of the service with 'fabric:' URI scheme.
23618	ServiceName *string `json:"ServiceName,omitempty"`
23619	// ServiceTypeName - Name of the service type as specified in the service manifest.
23620	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23621	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23622	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23623	// CodePackageName - The name of the code package that hosts this replica.
23624	CodePackageName *string `json:"CodePackageName,omitempty"`
23625	// 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.
23626	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23627	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
23628	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
23629	// Address - The last address returned by the replica in Open or ChangeRole.
23630	Address *string `json:"Address,omitempty"`
23631	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23632	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23633	// is always an empty string.
23634	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23635	// 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.
23636	HostProcessID *string `json:"HostProcessId,omitempty"`
23637	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
23638	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
23639}
23640
23641// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceInfo.
23642func (dssii DeployedStatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
23643	dssii.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless
23644	objectMap := make(map[string]interface{})
23645	if dssii.InstanceID != nil {
23646		objectMap["InstanceId"] = dssii.InstanceID
23647	}
23648	if dssii.ServiceName != nil {
23649		objectMap["ServiceName"] = dssii.ServiceName
23650	}
23651	if dssii.ServiceTypeName != nil {
23652		objectMap["ServiceTypeName"] = dssii.ServiceTypeName
23653	}
23654	if dssii.ServiceManifestName != nil {
23655		objectMap["ServiceManifestName"] = dssii.ServiceManifestName
23656	}
23657	if dssii.CodePackageName != nil {
23658		objectMap["CodePackageName"] = dssii.CodePackageName
23659	}
23660	if dssii.PartitionID != nil {
23661		objectMap["PartitionId"] = dssii.PartitionID
23662	}
23663	if dssii.ReplicaStatus != "" {
23664		objectMap["ReplicaStatus"] = dssii.ReplicaStatus
23665	}
23666	if dssii.Address != nil {
23667		objectMap["Address"] = dssii.Address
23668	}
23669	if dssii.ServicePackageActivationID != nil {
23670		objectMap["ServicePackageActivationId"] = dssii.ServicePackageActivationID
23671	}
23672	if dssii.HostProcessID != nil {
23673		objectMap["HostProcessId"] = dssii.HostProcessID
23674	}
23675	if dssii.ServiceKind != "" {
23676		objectMap["ServiceKind"] = dssii.ServiceKind
23677	}
23678	return json.Marshal(objectMap)
23679}
23680
23681// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23682func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
23683	return nil, false
23684}
23685
23686// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23687func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
23688	return &dssii, true
23689}
23690
23691// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23692func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
23693	return nil, false
23694}
23695
23696// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23697func (dssii DeployedStatelessServiceInstanceInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
23698	return &dssii, true
23699}
23700
23701// DeployServicePackageToNodeDescription defines description for downloading packages associated with a service
23702// manifest to image cache on a Service Fabric node.
23703type DeployServicePackageToNodeDescription struct {
23704	// ServiceManifestName - The name of service manifest whose packages need to be downloaded.
23705	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23706	// ApplicationTypeName - The application type name as defined in the application manifest.
23707	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
23708	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
23709	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
23710	// NodeName - The name of a Service Fabric node.
23711	NodeName *string `json:"NodeName,omitempty"`
23712	// PackageSharingPolicy - List of package sharing policy information.
23713	PackageSharingPolicy *[]PackageSharingPolicyInfo `json:"PackageSharingPolicy,omitempty"`
23714}
23715
23716// DoublePropertyValue describes a Service Fabric property value of type Double.
23717type DoublePropertyValue struct {
23718	// Data - The data of the property value.
23719	Data *float64 `json:"Data,omitempty"`
23720	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
23721	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
23722}
23723
23724// MarshalJSON is the custom marshaler for DoublePropertyValue.
23725func (dpv DoublePropertyValue) MarshalJSON() ([]byte, error) {
23726	dpv.Kind = KindDouble
23727	objectMap := make(map[string]interface{})
23728	if dpv.Data != nil {
23729		objectMap["Data"] = dpv.Data
23730	}
23731	if dpv.Kind != "" {
23732		objectMap["Kind"] = dpv.Kind
23733	}
23734	return json.Marshal(objectMap)
23735}
23736
23737// AsBinaryPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
23738func (dpv DoublePropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
23739	return nil, false
23740}
23741
23742// AsInt64PropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
23743func (dpv DoublePropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
23744	return nil, false
23745}
23746
23747// AsDoublePropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
23748func (dpv DoublePropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
23749	return &dpv, true
23750}
23751
23752// AsStringPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
23753func (dpv DoublePropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
23754	return nil, false
23755}
23756
23757// AsGUIDPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
23758func (dpv DoublePropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
23759	return nil, false
23760}
23761
23762// AsPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
23763func (dpv DoublePropertyValue) AsPropertyValue() (*PropertyValue, bool) {
23764	return nil, false
23765}
23766
23767// AsBasicPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
23768func (dpv DoublePropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
23769	return &dpv, true
23770}
23771
23772// EnableBackupDescription specifies the parameters needed to enable periodic backup.
23773type EnableBackupDescription struct {
23774	// BackupPolicyName - Name of the backup policy to be used for enabling periodic backups.
23775	BackupPolicyName *string `json:"BackupPolicyName,omitempty"`
23776}
23777
23778// EnsureAvailabilitySafetyCheck safety check that waits to ensure the availability of the partition. It waits
23779// until there are replicas available such that bringing down this replica will not cause availability loss for the
23780// partition.
23781type EnsureAvailabilitySafetyCheck struct {
23782	// PartitionID - Id of the partition which is undergoing the safety check.
23783	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23784	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
23785	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
23786}
23787
23788// MarshalJSON is the custom marshaler for EnsureAvailabilitySafetyCheck.
23789func (easc EnsureAvailabilitySafetyCheck) MarshalJSON() ([]byte, error) {
23790	easc.Kind = KindEnsureAvailability
23791	objectMap := make(map[string]interface{})
23792	if easc.PartitionID != nil {
23793		objectMap["PartitionId"] = easc.PartitionID
23794	}
23795	if easc.Kind != "" {
23796		objectMap["Kind"] = easc.Kind
23797	}
23798	return json.Marshal(objectMap)
23799}
23800
23801// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23802func (easc EnsureAvailabilitySafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
23803	return nil, false
23804}
23805
23806// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23807func (easc EnsureAvailabilitySafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
23808	return &easc, true
23809}
23810
23811// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23812func (easc EnsureAvailabilitySafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
23813	return &easc, true
23814}
23815
23816// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23817func (easc EnsureAvailabilitySafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
23818	return nil, false
23819}
23820
23821// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23822func (easc EnsureAvailabilitySafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
23823	return nil, false
23824}
23825
23826// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23827func (easc EnsureAvailabilitySafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
23828	return nil, false
23829}
23830
23831// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23832func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
23833	return nil, false
23834}
23835
23836// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23837func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
23838	return nil, false
23839}
23840
23841// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23842func (easc EnsureAvailabilitySafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
23843	return nil, false
23844}
23845
23846// AsSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23847func (easc EnsureAvailabilitySafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
23848	return nil, false
23849}
23850
23851// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
23852func (easc EnsureAvailabilitySafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
23853	return &easc, true
23854}
23855
23856// EnsurePartitionQurumSafetyCheck safety check that ensures that a quorum of replicas are not lost for a
23857// partition.
23858type EnsurePartitionQurumSafetyCheck struct {
23859	// PartitionID - Id of the partition which is undergoing the safety check.
23860	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23861	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
23862	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
23863}
23864
23865// MarshalJSON is the custom marshaler for EnsurePartitionQurumSafetyCheck.
23866func (epqsc EnsurePartitionQurumSafetyCheck) MarshalJSON() ([]byte, error) {
23867	epqsc.Kind = KindEnsurePartitionQuorum
23868	objectMap := make(map[string]interface{})
23869	if epqsc.PartitionID != nil {
23870		objectMap["PartitionId"] = epqsc.PartitionID
23871	}
23872	if epqsc.Kind != "" {
23873		objectMap["Kind"] = epqsc.Kind
23874	}
23875	return json.Marshal(objectMap)
23876}
23877
23878// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23879func (epqsc EnsurePartitionQurumSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
23880	return nil, false
23881}
23882
23883// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23884func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
23885	return &epqsc, true
23886}
23887
23888// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23889func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
23890	return nil, false
23891}
23892
23893// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23894func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
23895	return &epqsc, true
23896}
23897
23898// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23899func (epqsc EnsurePartitionQurumSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
23900	return nil, false
23901}
23902
23903// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23904func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
23905	return nil, false
23906}
23907
23908// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23909func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
23910	return nil, false
23911}
23912
23913// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23914func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
23915	return nil, false
23916}
23917
23918// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23919func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
23920	return nil, false
23921}
23922
23923// AsSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23924func (epqsc EnsurePartitionQurumSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
23925	return nil, false
23926}
23927
23928// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
23929func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
23930	return &epqsc, true
23931}
23932
23933// EntityHealth health information common to all entities in the cluster. It contains the aggregated health state,
23934// health events and unhealthy evaluation.
23935type EntityHealth struct {
23936	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
23937	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
23938	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
23939	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
23940	// HealthEvents - The list of health events reported on the entity.
23941	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
23942	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
23943	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
23944	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
23945	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
23946}
23947
23948// EntityHealthState a base type for the health state of various entities in the cluster. It contains the
23949// aggregated health state.
23950type EntityHealthState struct {
23951	// 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'
23952	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
23953}
23954
23955// EntityHealthStateChunk a base type for the health state chunk of various entities in the cluster. It contains
23956// the aggregated health state.
23957type EntityHealthStateChunk struct {
23958	// 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'
23959	HealthState HealthState `json:"HealthState,omitempty"`
23960}
23961
23962// EntityHealthStateChunkList a base type for the list of health state chunks found in the cluster. It contains the
23963// total number of health states that match the input filters.
23964type EntityHealthStateChunkList struct {
23965	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
23966	TotalCount *int64 `json:"TotalCount,omitempty"`
23967}
23968
23969// EntityKindHealthStateCount represents health state count for entities of the specified entity kind.
23970type EntityKindHealthStateCount struct {
23971	// EntityKind - The entity kind for which health states are evaluated. Possible values include: 'EntityKindInvalid', 'EntityKindNode', 'EntityKindPartition', 'EntityKindService', 'EntityKindApplication', 'EntityKindReplica', 'EntityKindDeployedApplication', 'EntityKindDeployedServicePackage', 'EntityKindCluster'
23972	EntityKind EntityKind `json:"EntityKind,omitempty"`
23973	// HealthStateCount - The health state count for the entities of the specified kind.
23974	HealthStateCount *HealthStateCount `json:"HealthStateCount,omitempty"`
23975}
23976
23977// Epoch an Epoch is a configuration number for the partition as a whole. When the configuration of the replica set
23978// changes, for example when the Primary replica changes, the operations that are replicated from the new Primary
23979// replica are said to be a new Epoch from the ones which were sent by the old Primary replica.
23980type Epoch struct {
23981	// 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.
23982	ConfigurationVersion *string `json:"ConfigurationVersion,omitempty"`
23983	// DataLossVersion - The current dataloss 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.
23984	DataLossVersion *string `json:"DataLossVersion,omitempty"`
23985}
23986
23987// EventHealthEvaluation represents health evaluation of a HealthEvent that was reported on the entity.
23988// The health evaluation is returned when evaluating health of an entity results in Error or Warning.
23989type EventHealthEvaluation struct {
23990	// 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.
23991	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
23992	// UnhealthyEvent - Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.
23993	UnhealthyEvent *HealthEvent `json:"UnhealthyEvent,omitempty"`
23994	// 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'
23995	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
23996	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
23997	Description *string `json:"Description,omitempty"`
23998	// 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'
23999	Kind Kind `json:"Kind,omitempty"`
24000}
24001
24002// MarshalJSON is the custom marshaler for EventHealthEvaluation.
24003func (ehe EventHealthEvaluation) MarshalJSON() ([]byte, error) {
24004	ehe.Kind = KindEvent
24005	objectMap := make(map[string]interface{})
24006	if ehe.ConsiderWarningAsError != nil {
24007		objectMap["ConsiderWarningAsError"] = ehe.ConsiderWarningAsError
24008	}
24009	if ehe.UnhealthyEvent != nil {
24010		objectMap["UnhealthyEvent"] = ehe.UnhealthyEvent
24011	}
24012	if ehe.AggregatedHealthState != "" {
24013		objectMap["AggregatedHealthState"] = ehe.AggregatedHealthState
24014	}
24015	if ehe.Description != nil {
24016		objectMap["Description"] = ehe.Description
24017	}
24018	if ehe.Kind != "" {
24019		objectMap["Kind"] = ehe.Kind
24020	}
24021	return json.Marshal(objectMap)
24022}
24023
24024// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24025func (ehe EventHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
24026	return nil, false
24027}
24028
24029// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24030func (ehe EventHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
24031	return nil, false
24032}
24033
24034// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24035func (ehe EventHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
24036	return nil, false
24037}
24038
24039// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24040func (ehe EventHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
24041	return nil, false
24042}
24043
24044// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24045func (ehe EventHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
24046	return nil, false
24047}
24048
24049// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24050func (ehe EventHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
24051	return nil, false
24052}
24053
24054// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24055func (ehe EventHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
24056	return nil, false
24057}
24058
24059// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24060func (ehe EventHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
24061	return nil, false
24062}
24063
24064// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24065func (ehe EventHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
24066	return &ehe, true
24067}
24068
24069// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24070func (ehe EventHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
24071	return nil, false
24072}
24073
24074// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24075func (ehe EventHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
24076	return nil, false
24077}
24078
24079// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24080func (ehe EventHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
24081	return nil, false
24082}
24083
24084// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24085func (ehe EventHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
24086	return nil, false
24087}
24088
24089// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24090func (ehe EventHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
24091	return nil, false
24092}
24093
24094// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24095func (ehe EventHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
24096	return nil, false
24097}
24098
24099// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24100func (ehe EventHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
24101	return nil, false
24102}
24103
24104// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24105func (ehe EventHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
24106	return nil, false
24107}
24108
24109// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24110func (ehe EventHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
24111	return nil, false
24112}
24113
24114// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24115func (ehe EventHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
24116	return nil, false
24117}
24118
24119// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24120func (ehe EventHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
24121	return nil, false
24122}
24123
24124// AsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24125func (ehe EventHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
24126	return nil, false
24127}
24128
24129// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24130func (ehe EventHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
24131	return &ehe, true
24132}
24133
24134// ExecutingFaultsChaosEvent describes a Chaos event that gets generated when Chaos has decided on the faults for
24135// an iteration. This Chaos event contains the details of the faults as a list of strings.
24136type ExecutingFaultsChaosEvent struct {
24137	// Faults - List of string description of the faults that Chaos decided to execute in an iteration.
24138	Faults *[]string `json:"Faults,omitempty"`
24139	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
24140	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
24141	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
24142	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
24143}
24144
24145// MarshalJSON is the custom marshaler for ExecutingFaultsChaosEvent.
24146func (efce ExecutingFaultsChaosEvent) MarshalJSON() ([]byte, error) {
24147	efce.Kind = KindExecutingFaults
24148	objectMap := make(map[string]interface{})
24149	if efce.Faults != nil {
24150		objectMap["Faults"] = efce.Faults
24151	}
24152	if efce.TimeStampUtc != nil {
24153		objectMap["TimeStampUtc"] = efce.TimeStampUtc
24154	}
24155	if efce.Kind != "" {
24156		objectMap["Kind"] = efce.Kind
24157	}
24158	return json.Marshal(objectMap)
24159}
24160
24161// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24162func (efce ExecutingFaultsChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
24163	return &efce, true
24164}
24165
24166// AsStartedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24167func (efce ExecutingFaultsChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
24168	return nil, false
24169}
24170
24171// AsStoppedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24172func (efce ExecutingFaultsChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
24173	return nil, false
24174}
24175
24176// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24177func (efce ExecutingFaultsChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
24178	return nil, false
24179}
24180
24181// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24182func (efce ExecutingFaultsChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
24183	return nil, false
24184}
24185
24186// AsWaitingChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24187func (efce ExecutingFaultsChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
24188	return nil, false
24189}
24190
24191// AsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24192func (efce ExecutingFaultsChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
24193	return nil, false
24194}
24195
24196// AsBasicChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24197func (efce ExecutingFaultsChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
24198	return &efce, true
24199}
24200
24201// ExternalStoreProvisionApplicationTypeDescription describes the operation to register or provision an application
24202// type using an application package from an external store instead of a package uploaded to the Service Fabric
24203// image store.
24204type ExternalStoreProvisionApplicationTypeDescription struct {
24205	// 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.
24206	ApplicationPackageDownloadURI *string `json:"ApplicationPackageDownloadUri,omitempty"`
24207	// ApplicationTypeName - The application type name represents the name of the application type found in the application manifest.
24208	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
24209	// ApplicationTypeVersion - The application type version represents the version of the application type found in the application manifest.
24210	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
24211	// 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.
24212	Async *bool `json:"Async,omitempty"`
24213	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
24214	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
24215}
24216
24217// MarshalJSON is the custom marshaler for ExternalStoreProvisionApplicationTypeDescription.
24218func (espatd ExternalStoreProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
24219	espatd.Kind = KindExternalStore
24220	objectMap := make(map[string]interface{})
24221	if espatd.ApplicationPackageDownloadURI != nil {
24222		objectMap["ApplicationPackageDownloadUri"] = espatd.ApplicationPackageDownloadURI
24223	}
24224	if espatd.ApplicationTypeName != nil {
24225		objectMap["ApplicationTypeName"] = espatd.ApplicationTypeName
24226	}
24227	if espatd.ApplicationTypeVersion != nil {
24228		objectMap["ApplicationTypeVersion"] = espatd.ApplicationTypeVersion
24229	}
24230	if espatd.Async != nil {
24231		objectMap["Async"] = espatd.Async
24232	}
24233	if espatd.Kind != "" {
24234		objectMap["Kind"] = espatd.Kind
24235	}
24236	return json.Marshal(objectMap)
24237}
24238
24239// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24240func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
24241	return nil, false
24242}
24243
24244// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24245func (espatd ExternalStoreProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
24246	return &espatd, true
24247}
24248
24249// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24250func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
24251	return nil, false
24252}
24253
24254// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24255func (espatd ExternalStoreProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
24256	return &espatd, true
24257}
24258
24259// FabricCodeVersionInfo information about a Service Fabric code version.
24260type FabricCodeVersionInfo struct {
24261	// CodeVersion - The product version of Service Fabric.
24262	CodeVersion *string `json:"CodeVersion,omitempty"`
24263}
24264
24265// FabricConfigVersionInfo information about a Service Fabric config version.
24266type FabricConfigVersionInfo struct {
24267	// ConfigVersion - The config version of Service Fabric.
24268	ConfigVersion *string `json:"ConfigVersion,omitempty"`
24269}
24270
24271// FabricError the REST API operations for Service Fabric return standard HTTP status codes. This type defines the
24272// additional information returned from the Service Fabric API operations that are not successful.
24273type FabricError struct {
24274	// Error - Error object containing error code and error message.
24275	Error *FabricErrorError `json:"Error,omitempty"`
24276}
24277
24278// FabricErrorError error object containing error code and error message.
24279type FabricErrorError struct {
24280	// 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.
24281	//   - Possible values of the error code for HTTP status code 400 (Bad Request)
24282	//     - "FABRIC_E_INVALID_PARTITION_KEY"
24283	//     - "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
24284	//     - "FABRIC_E_INVALID_ADDRESS"
24285	//     - "FABRIC_E_APPLICATION_NOT_UPGRADING"
24286	//     - "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
24287	//     - "FABRIC_E_FABRIC_NOT_UPGRADING"
24288	//     - "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
24289	//     - "FABRIC_E_INVALID_CONFIGURATION"
24290	//     - "FABRIC_E_INVALID_NAME_URI"
24291	//     - "FABRIC_E_PATH_TOO_LONG"
24292	//     - "FABRIC_E_KEY_TOO_LARGE"
24293	//     - "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
24294	//     - "FABRIC_E_INVALID_ATOMIC_GROUP"
24295	//     - "FABRIC_E_VALUE_EMPTY"
24296	//     - "FABRIC_E_BACKUP_IS_ENABLED"
24297	//     - "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
24298	//     - "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
24299	//     - "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
24300	//     - "E_INVALIDARG"
24301	//   - Possible values of the error code for HTTP status code 404 (Not Found)
24302	//     - "FABRIC_E_NODE_NOT_FOUND"
24303	//     - "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
24304	//     - "FABRIC_E_APPLICATION_NOT_FOUND"
24305	//     - "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
24306	//     - "FABRIC_E_SERVICE_DOES_NOT_EXIST"
24307	//     - "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
24308	//     - "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
24309	//     - "FABRIC_E_PARTITION_NOT_FOUND"
24310	//     - "FABRIC_E_REPLICA_DOES_NOT_EXIST"
24311	//     - "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
24312	//     - "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
24313	//     - "FABRIC_E_DIRECTORY_NOT_FOUND"
24314	//     - "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
24315	//     - "FABRIC_E_FILE_NOT_FOUND"
24316	//     - "FABRIC_E_NAME_DOES_NOT_EXIST"
24317	//     - "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
24318	//     - "FABRIC_E_ENUMERATION_COMPLETED"
24319	//     - "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
24320	//     - "FABRIC_E_KEY_NOT_FOUND"
24321	//     - "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
24322	//     - "FABRIC_E_BACKUP_NOT_ENABLED"
24323	//     - "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
24324	//     - "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
24325	//   - Possible values of the error code for HTTP status code 409 (Conflict)
24326	//     - "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
24327	//     - "FABRIC_E_APPLICATION_ALREADY_EXISTS"
24328	//     - "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
24329	//     - "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
24330	//     - "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
24331	//     - "FABRIC_E_SERVICE_ALREADY_EXISTS"
24332	//     - "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
24333	//     - "FABRIC_E_APPLICATION_TYPE_IN_USE"
24334	//     - "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
24335	//     - "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
24336	//     - "FABRIC_E_FABRIC_VERSION_IN_USE"
24337	//     - "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
24338	//     - "FABRIC_E_NAME_ALREADY_EXISTS"
24339	//     - "FABRIC_E_NAME_NOT_EMPTY"
24340	//     - "FABRIC_E_PROPERTY_CHECK_FAILED"
24341	//     - "FABRIC_E_SERVICE_METADATA_MISMATCH"
24342	//     - "FABRIC_E_SERVICE_TYPE_MISMATCH"
24343	//     - "FABRIC_E_HEALTH_STALE_REPORT"
24344	//     - "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
24345	//     - "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
24346	//     - "FABRIC_E_INSTANCE_ID_MISMATCH"
24347	//     - "FABRIC_E_BACKUP_IN_PROGRESS"
24348	//     - "FABRIC_E_RESTORE_IN_PROGRESS"
24349	//     - "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
24350	//   - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)
24351	//     - "FABRIC_E_VALUE_TOO_LARGE"
24352	//   - Possible values of the error code for HTTP status code 500 (Internal Server Error)
24353	//     - "FABRIC_E_NODE_IS_UP"
24354	//     - "E_FAIL"
24355	//   - Possible values of the error code for HTTP status code 503 (Service Unavailable)
24356	//     - "FABRIC_E_NO_WRITE_QUORUM"
24357	//     - "FABRIC_E_NOT_PRIMARY"
24358	//     - "FABRIC_E_NOT_READY"
24359	//     - "FABRIC_E_RECONFIGURATION_PENDING"
24360	//     - "FABRIC_E_SERVICE_OFFLINE"
24361	//     - "E_ABORT"
24362	//     - "FABRIC_E_VALUE_TOO_LARGE"
24363	//   - Possible values of the error code for HTTP status code 504 (Gateway Timeout)
24364	//     - "FABRIC_E_COMMUNICATION_ERROR"
24365	//     - "FABRIC_E_OPERATION_NOT_COMPLETE"
24366	//     - "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'
24367	Code FabricErrorCodes `json:"Code,omitempty"`
24368	// Message - Error message.
24369	Message *string `json:"Message,omitempty"`
24370}
24371
24372// BasicFabricEvent represents the base for all Fabric Events.
24373type BasicFabricEvent interface {
24374	AsApplicationEvent() (*ApplicationEvent, bool)
24375	AsBasicApplicationEvent() (BasicApplicationEvent, bool)
24376	AsClusterEvent() (*ClusterEvent, bool)
24377	AsBasicClusterEvent() (BasicClusterEvent, bool)
24378	AsContainerInstanceEvent() (*ContainerInstanceEvent, bool)
24379	AsNodeEvent() (*NodeEvent, bool)
24380	AsBasicNodeEvent() (BasicNodeEvent, bool)
24381	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
24382	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
24383	AsPartitionEvent() (*PartitionEvent, bool)
24384	AsBasicPartitionEvent() (BasicPartitionEvent, bool)
24385	AsReplicaEvent() (*ReplicaEvent, bool)
24386	AsBasicReplicaEvent() (BasicReplicaEvent, bool)
24387	AsServiceEvent() (*ServiceEvent, bool)
24388	AsBasicServiceEvent() (BasicServiceEvent, bool)
24389	AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool)
24390	AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool)
24391	AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool)
24392	AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool)
24393	AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool)
24394	AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool)
24395	AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool)
24396	AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool)
24397	AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool)
24398	AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool)
24399	AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool)
24400	AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool)
24401	AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool)
24402	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
24403	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
24404	AsNodeAddedEvent() (*NodeAddedEvent, bool)
24405	AsNodeCloseEvent() (*NodeCloseEvent, bool)
24406	AsNodeClosingEvent() (*NodeClosingEvent, bool)
24407	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
24408	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
24409	AsNodeDownEvent() (*NodeDownEvent, bool)
24410	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
24411	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
24412	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
24413	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
24414	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
24415	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
24416	AsNodeUpEvent() (*NodeUpEvent, bool)
24417	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
24418	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
24419	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
24420	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
24421	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
24422	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
24423	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
24424	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
24425	AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool)
24426	AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool)
24427	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
24428	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
24429	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
24430	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
24431	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
24432	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
24433	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
24434	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
24435	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
24436	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
24437	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
24438	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
24439	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
24440	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
24441	AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool)
24442	AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool)
24443	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
24444	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
24445	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
24446	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
24447	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
24448	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
24449	AsFabricEvent() (*FabricEvent, bool)
24450}
24451
24452// FabricEvent represents the base for all Fabric Events.
24453type FabricEvent struct {
24454	// EventInstanceID - The identifier for the FabricEvent instance.
24455	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
24456	// TimeStamp - The time event was logged.
24457	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
24458	// HasCorrelatedEvents - Shows there is existing related events available.
24459	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
24460	// 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'
24461	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
24462}
24463
24464func unmarshalBasicFabricEvent(body []byte) (BasicFabricEvent, error) {
24465	var m map[string]interface{}
24466	err := json.Unmarshal(body, &m)
24467	if err != nil {
24468		return nil, err
24469	}
24470
24471	switch m["Kind"] {
24472	case string(KindApplicationEvent):
24473		var ae ApplicationEvent
24474		err := json.Unmarshal(body, &ae)
24475		return ae, err
24476	case string(KindClusterEvent):
24477		var ce ClusterEvent
24478		err := json.Unmarshal(body, &ce)
24479		return ce, err
24480	case string(KindContainerInstanceEvent):
24481		var cie ContainerInstanceEvent
24482		err := json.Unmarshal(body, &cie)
24483		return cie, err
24484	case string(KindNodeEvent):
24485		var ne NodeEvent
24486		err := json.Unmarshal(body, &ne)
24487		return ne, err
24488	case string(KindPartitionAnalysisEvent):
24489		var pae PartitionAnalysisEvent
24490		err := json.Unmarshal(body, &pae)
24491		return pae, err
24492	case string(KindPartitionEvent):
24493		var peVar PartitionEvent
24494		err := json.Unmarshal(body, &peVar)
24495		return peVar, err
24496	case string(KindReplicaEvent):
24497		var re ReplicaEvent
24498		err := json.Unmarshal(body, &re)
24499		return re, err
24500	case string(KindServiceEvent):
24501		var se ServiceEvent
24502		err := json.Unmarshal(body, &se)
24503		return se, err
24504	case string(KindApplicationCreated):
24505		var ace ApplicationCreatedEvent
24506		err := json.Unmarshal(body, &ace)
24507		return ace, err
24508	case string(KindApplicationDeleted):
24509		var ade ApplicationDeletedEvent
24510		err := json.Unmarshal(body, &ade)
24511		return ade, err
24512	case string(KindApplicationHealthReportCreated):
24513		var ahrce ApplicationHealthReportCreatedEvent
24514		err := json.Unmarshal(body, &ahrce)
24515		return ahrce, err
24516	case string(KindApplicationHealthReportExpired):
24517		var ahree ApplicationHealthReportExpiredEvent
24518		err := json.Unmarshal(body, &ahree)
24519		return ahree, err
24520	case string(KindApplicationUpgradeComplete):
24521		var auce ApplicationUpgradeCompleteEvent
24522		err := json.Unmarshal(body, &auce)
24523		return auce, err
24524	case string(KindApplicationUpgradeDomainComplete):
24525		var audce ApplicationUpgradeDomainCompleteEvent
24526		err := json.Unmarshal(body, &audce)
24527		return audce, err
24528	case string(KindApplicationUpgradeRollbackComplete):
24529		var aurce ApplicationUpgradeRollbackCompleteEvent
24530		err := json.Unmarshal(body, &aurce)
24531		return aurce, err
24532	case string(KindApplicationUpgradeRollbackStart):
24533		var aurse ApplicationUpgradeRollbackStartEvent
24534		err := json.Unmarshal(body, &aurse)
24535		return aurse, err
24536	case string(KindApplicationUpgradeStart):
24537		var ause ApplicationUpgradeStartEvent
24538		err := json.Unmarshal(body, &ause)
24539		return ause, err
24540	case string(KindDeployedApplicationHealthReportCreated):
24541		var dahrce DeployedApplicationHealthReportCreatedEvent
24542		err := json.Unmarshal(body, &dahrce)
24543		return dahrce, err
24544	case string(KindDeployedApplicationHealthReportExpired):
24545		var dahree DeployedApplicationHealthReportExpiredEvent
24546		err := json.Unmarshal(body, &dahree)
24547		return dahree, err
24548	case string(KindProcessDeactivated):
24549		var pde ProcessDeactivatedEvent
24550		err := json.Unmarshal(body, &pde)
24551		return pde, err
24552	case string(KindContainerDeactivated):
24553		var cde ContainerDeactivatedEvent
24554		err := json.Unmarshal(body, &cde)
24555		return cde, err
24556	case string(KindNodeAborted):
24557		var nae NodeAbortedEvent
24558		err := json.Unmarshal(body, &nae)
24559		return nae, err
24560	case string(KindNodeAborting):
24561		var nae NodeAbortingEvent
24562		err := json.Unmarshal(body, &nae)
24563		return nae, err
24564	case string(KindNodeAdded):
24565		var nae NodeAddedEvent
24566		err := json.Unmarshal(body, &nae)
24567		return nae, err
24568	case string(KindNodeClose):
24569		var nce NodeCloseEvent
24570		err := json.Unmarshal(body, &nce)
24571		return nce, err
24572	case string(KindNodeClosing):
24573		var nce NodeClosingEvent
24574		err := json.Unmarshal(body, &nce)
24575		return nce, err
24576	case string(KindNodeDeactivateComplete):
24577		var ndce NodeDeactivateCompleteEvent
24578		err := json.Unmarshal(body, &ndce)
24579		return ndce, err
24580	case string(KindNodeDeactivateStart):
24581		var ndse NodeDeactivateStartEvent
24582		err := json.Unmarshal(body, &ndse)
24583		return ndse, err
24584	case string(KindNodeDown):
24585		var nde NodeDownEvent
24586		err := json.Unmarshal(body, &nde)
24587		return nde, err
24588	case string(KindNodeHealthReportCreated):
24589		var nhrce NodeHealthReportCreatedEvent
24590		err := json.Unmarshal(body, &nhrce)
24591		return nhrce, err
24592	case string(KindNodeHealthReportExpired):
24593		var nhree NodeHealthReportExpiredEvent
24594		err := json.Unmarshal(body, &nhree)
24595		return nhree, err
24596	case string(KindNodeOpenedSuccess):
24597		var nose NodeOpenedSuccessEvent
24598		err := json.Unmarshal(body, &nose)
24599		return nose, err
24600	case string(KindNodeOpenFailed):
24601		var nofe NodeOpenFailedEvent
24602		err := json.Unmarshal(body, &nofe)
24603		return nofe, err
24604	case string(KindNodeOpening):
24605		var noe NodeOpeningEvent
24606		err := json.Unmarshal(body, &noe)
24607		return noe, err
24608	case string(KindNodeRemoved):
24609		var nre NodeRemovedEvent
24610		err := json.Unmarshal(body, &nre)
24611		return nre, err
24612	case string(KindNodeUp):
24613		var nue NodeUpEvent
24614		err := json.Unmarshal(body, &nue)
24615		return nue, err
24616	case string(KindPartitionHealthReportCreated):
24617		var phrce PartitionHealthReportCreatedEvent
24618		err := json.Unmarshal(body, &phrce)
24619		return phrce, err
24620	case string(KindPartitionHealthReportExpired):
24621		var phree PartitionHealthReportExpiredEvent
24622		err := json.Unmarshal(body, &phree)
24623		return phree, err
24624	case string(KindPartitionReconfigurationCompleted):
24625		var prce PartitionReconfigurationCompletedEvent
24626		err := json.Unmarshal(body, &prce)
24627		return prce, err
24628	case string(KindPartitionPrimaryMoveAnalysis):
24629		var ppmae PartitionPrimaryMoveAnalysisEvent
24630		err := json.Unmarshal(body, &ppmae)
24631		return ppmae, err
24632	case string(KindServiceCreated):
24633		var sce ServiceCreatedEvent
24634		err := json.Unmarshal(body, &sce)
24635		return sce, err
24636	case string(KindServiceDeleted):
24637		var sde ServiceDeletedEvent
24638		err := json.Unmarshal(body, &sde)
24639		return sde, err
24640	case string(KindServiceHealthReportCreated):
24641		var shrce ServiceHealthReportCreatedEvent
24642		err := json.Unmarshal(body, &shrce)
24643		return shrce, err
24644	case string(KindServiceHealthReportExpired):
24645		var shree ServiceHealthReportExpiredEvent
24646		err := json.Unmarshal(body, &shree)
24647		return shree, err
24648	case string(KindDeployedServiceHealthReportCreated):
24649		var dshrce DeployedServiceHealthReportCreatedEvent
24650		err := json.Unmarshal(body, &dshrce)
24651		return dshrce, err
24652	case string(KindDeployedServiceHealthReportExpired):
24653		var dshree DeployedServiceHealthReportExpiredEvent
24654		err := json.Unmarshal(body, &dshree)
24655		return dshree, err
24656	case string(KindStatefulReplicaHealthReportCreated):
24657		var srhrce StatefulReplicaHealthReportCreatedEvent
24658		err := json.Unmarshal(body, &srhrce)
24659		return srhrce, err
24660	case string(KindStatefulReplicaHealthReportExpired):
24661		var srhree StatefulReplicaHealthReportExpiredEvent
24662		err := json.Unmarshal(body, &srhree)
24663		return srhree, err
24664	case string(KindStatelessReplicaHealthReportCreated):
24665		var srhrce StatelessReplicaHealthReportCreatedEvent
24666		err := json.Unmarshal(body, &srhrce)
24667		return srhrce, err
24668	case string(KindStatelessReplicaHealthReportExpired):
24669		var srhree StatelessReplicaHealthReportExpiredEvent
24670		err := json.Unmarshal(body, &srhree)
24671		return srhree, err
24672	case string(KindClusterHealthReportCreated):
24673		var chrce ClusterHealthReportCreatedEvent
24674		err := json.Unmarshal(body, &chrce)
24675		return chrce, err
24676	case string(KindClusterHealthReportExpired):
24677		var chree ClusterHealthReportExpiredEvent
24678		err := json.Unmarshal(body, &chree)
24679		return chree, err
24680	case string(KindClusterUpgradeComplete):
24681		var cuce ClusterUpgradeCompleteEvent
24682		err := json.Unmarshal(body, &cuce)
24683		return cuce, err
24684	case string(KindClusterUpgradeDomainComplete):
24685		var cudce ClusterUpgradeDomainCompleteEvent
24686		err := json.Unmarshal(body, &cudce)
24687		return cudce, err
24688	case string(KindClusterUpgradeRollbackComplete):
24689		var curce ClusterUpgradeRollbackCompleteEvent
24690		err := json.Unmarshal(body, &curce)
24691		return curce, err
24692	case string(KindClusterUpgradeRollbackStart):
24693		var curse ClusterUpgradeRollbackStartEvent
24694		err := json.Unmarshal(body, &curse)
24695		return curse, err
24696	case string(KindClusterUpgradeStart):
24697		var cuse ClusterUpgradeStartEvent
24698		err := json.Unmarshal(body, &cuse)
24699		return cuse, err
24700	case string(KindChaosStopped):
24701		var cse ChaosStoppedEvent
24702		err := json.Unmarshal(body, &cse)
24703		return cse, err
24704	case string(KindChaosStarted):
24705		var cse ChaosStartedEvent
24706		err := json.Unmarshal(body, &cse)
24707		return cse, err
24708	case string(KindChaosRestartNodeFaultCompleted):
24709		var crnfce ChaosRestartNodeFaultCompletedEvent
24710		err := json.Unmarshal(body, &crnfce)
24711		return crnfce, err
24712	case string(KindChaosRestartCodePackageFaultScheduled):
24713		var crcpfse ChaosRestartCodePackageFaultScheduledEvent
24714		err := json.Unmarshal(body, &crcpfse)
24715		return crcpfse, err
24716	case string(KindChaosRestartCodePackageFaultCompleted):
24717		var crcpfce ChaosRestartCodePackageFaultCompletedEvent
24718		err := json.Unmarshal(body, &crcpfce)
24719		return crcpfce, err
24720	case string(KindChaosRemoveReplicaFaultScheduled):
24721		var crrfse ChaosRemoveReplicaFaultScheduledEvent
24722		err := json.Unmarshal(body, &crrfse)
24723		return crrfse, err
24724	case string(KindChaosRemoveReplicaFaultCompleted):
24725		var crrfce ChaosRemoveReplicaFaultCompletedEvent
24726		err := json.Unmarshal(body, &crrfce)
24727		return crrfce, err
24728	case string(KindChaosMoveSecondaryFaultScheduled):
24729		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
24730		err := json.Unmarshal(body, &cmsfse)
24731		return cmsfse, err
24732	case string(KindChaosMovePrimaryFaultScheduled):
24733		var cmpfse ChaosMovePrimaryFaultScheduledEvent
24734		err := json.Unmarshal(body, &cmpfse)
24735		return cmpfse, err
24736	case string(KindChaosRestartReplicaFaultScheduled):
24737		var crrfse ChaosRestartReplicaFaultScheduledEvent
24738		err := json.Unmarshal(body, &crrfse)
24739		return crrfse, err
24740	case string(KindChaosRestartNodeFaultScheduled):
24741		var crnfse ChaosRestartNodeFaultScheduledEvent
24742		err := json.Unmarshal(body, &crnfse)
24743		return crnfse, err
24744	default:
24745		var fe FabricEvent
24746		err := json.Unmarshal(body, &fe)
24747		return fe, err
24748	}
24749}
24750func unmarshalBasicFabricEventArray(body []byte) ([]BasicFabricEvent, error) {
24751	var rawMessages []*json.RawMessage
24752	err := json.Unmarshal(body, &rawMessages)
24753	if err != nil {
24754		return nil, err
24755	}
24756
24757	feArray := make([]BasicFabricEvent, len(rawMessages))
24758
24759	for index, rawMessage := range rawMessages {
24760		fe, err := unmarshalBasicFabricEvent(*rawMessage)
24761		if err != nil {
24762			return nil, err
24763		}
24764		feArray[index] = fe
24765	}
24766	return feArray, nil
24767}
24768
24769// MarshalJSON is the custom marshaler for FabricEvent.
24770func (fe FabricEvent) MarshalJSON() ([]byte, error) {
24771	fe.Kind = KindFabricEvent
24772	objectMap := make(map[string]interface{})
24773	if fe.EventInstanceID != nil {
24774		objectMap["EventInstanceId"] = fe.EventInstanceID
24775	}
24776	if fe.TimeStamp != nil {
24777		objectMap["TimeStamp"] = fe.TimeStamp
24778	}
24779	if fe.HasCorrelatedEvents != nil {
24780		objectMap["HasCorrelatedEvents"] = fe.HasCorrelatedEvents
24781	}
24782	if fe.Kind != "" {
24783		objectMap["Kind"] = fe.Kind
24784	}
24785	return json.Marshal(objectMap)
24786}
24787
24788// AsApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
24789func (fe FabricEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
24790	return nil, false
24791}
24792
24793// AsBasicApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
24794func (fe FabricEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
24795	return nil, false
24796}
24797
24798// AsClusterEvent is the BasicFabricEvent implementation for FabricEvent.
24799func (fe FabricEvent) AsClusterEvent() (*ClusterEvent, bool) {
24800	return nil, false
24801}
24802
24803// AsBasicClusterEvent is the BasicFabricEvent implementation for FabricEvent.
24804func (fe FabricEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
24805	return nil, false
24806}
24807
24808// AsContainerInstanceEvent is the BasicFabricEvent implementation for FabricEvent.
24809func (fe FabricEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
24810	return nil, false
24811}
24812
24813// AsNodeEvent is the BasicFabricEvent implementation for FabricEvent.
24814func (fe FabricEvent) AsNodeEvent() (*NodeEvent, bool) {
24815	return nil, false
24816}
24817
24818// AsBasicNodeEvent is the BasicFabricEvent implementation for FabricEvent.
24819func (fe FabricEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
24820	return nil, false
24821}
24822
24823// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
24824func (fe FabricEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
24825	return nil, false
24826}
24827
24828// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
24829func (fe FabricEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
24830	return nil, false
24831}
24832
24833// AsPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
24834func (fe FabricEvent) AsPartitionEvent() (*PartitionEvent, bool) {
24835	return nil, false
24836}
24837
24838// AsBasicPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
24839func (fe FabricEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
24840	return nil, false
24841}
24842
24843// AsReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
24844func (fe FabricEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
24845	return nil, false
24846}
24847
24848// AsBasicReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
24849func (fe FabricEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
24850	return nil, false
24851}
24852
24853// AsServiceEvent is the BasicFabricEvent implementation for FabricEvent.
24854func (fe FabricEvent) AsServiceEvent() (*ServiceEvent, bool) {
24855	return nil, false
24856}
24857
24858// AsBasicServiceEvent is the BasicFabricEvent implementation for FabricEvent.
24859func (fe FabricEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
24860	return nil, false
24861}
24862
24863// AsApplicationCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
24864func (fe FabricEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
24865	return nil, false
24866}
24867
24868// AsApplicationDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
24869func (fe FabricEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
24870	return nil, false
24871}
24872
24873// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
24874func (fe FabricEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
24875	return nil, false
24876}
24877
24878// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
24879func (fe FabricEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
24880	return nil, false
24881}
24882
24883// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
24884func (fe FabricEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
24885	return nil, false
24886}
24887
24888// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
24889func (fe FabricEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
24890	return nil, false
24891}
24892
24893// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
24894func (fe FabricEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
24895	return nil, false
24896}
24897
24898// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
24899func (fe FabricEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
24900	return nil, false
24901}
24902
24903// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
24904func (fe FabricEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
24905	return nil, false
24906}
24907
24908// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
24909func (fe FabricEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
24910	return nil, false
24911}
24912
24913// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
24914func (fe FabricEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
24915	return nil, false
24916}
24917
24918// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
24919func (fe FabricEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
24920	return nil, false
24921}
24922
24923// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
24924func (fe FabricEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
24925	return nil, false
24926}
24927
24928// AsNodeAbortedEvent is the BasicFabricEvent implementation for FabricEvent.
24929func (fe FabricEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
24930	return nil, false
24931}
24932
24933// AsNodeAbortingEvent is the BasicFabricEvent implementation for FabricEvent.
24934func (fe FabricEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
24935	return nil, false
24936}
24937
24938// AsNodeAddedEvent is the BasicFabricEvent implementation for FabricEvent.
24939func (fe FabricEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
24940	return nil, false
24941}
24942
24943// AsNodeCloseEvent is the BasicFabricEvent implementation for FabricEvent.
24944func (fe FabricEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
24945	return nil, false
24946}
24947
24948// AsNodeClosingEvent is the BasicFabricEvent implementation for FabricEvent.
24949func (fe FabricEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
24950	return nil, false
24951}
24952
24953// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
24954func (fe FabricEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
24955	return nil, false
24956}
24957
24958// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for FabricEvent.
24959func (fe FabricEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
24960	return nil, false
24961}
24962
24963// AsNodeDownEvent is the BasicFabricEvent implementation for FabricEvent.
24964func (fe FabricEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
24965	return nil, false
24966}
24967
24968// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
24969func (fe FabricEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
24970	return nil, false
24971}
24972
24973// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
24974func (fe FabricEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
24975	return nil, false
24976}
24977
24978// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for FabricEvent.
24979func (fe FabricEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
24980	return nil, false
24981}
24982
24983// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for FabricEvent.
24984func (fe FabricEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
24985	return nil, false
24986}
24987
24988// AsNodeOpeningEvent is the BasicFabricEvent implementation for FabricEvent.
24989func (fe FabricEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
24990	return nil, false
24991}
24992
24993// AsNodeRemovedEvent is the BasicFabricEvent implementation for FabricEvent.
24994func (fe FabricEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
24995	return nil, false
24996}
24997
24998// AsNodeUpEvent is the BasicFabricEvent implementation for FabricEvent.
24999func (fe FabricEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
25000	return nil, false
25001}
25002
25003// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25004func (fe FabricEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
25005	return nil, false
25006}
25007
25008// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25009func (fe FabricEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
25010	return nil, false
25011}
25012
25013// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25014func (fe FabricEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
25015	return nil, false
25016}
25017
25018// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
25019func (fe FabricEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
25020	return nil, false
25021}
25022
25023// AsServiceCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25024func (fe FabricEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
25025	return nil, false
25026}
25027
25028// AsServiceDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
25029func (fe FabricEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
25030	return nil, false
25031}
25032
25033// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25034func (fe FabricEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
25035	return nil, false
25036}
25037
25038// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25039func (fe FabricEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
25040	return nil, false
25041}
25042
25043// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25044func (fe FabricEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
25045	return nil, false
25046}
25047
25048// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25049func (fe FabricEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
25050	return nil, false
25051}
25052
25053// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25054func (fe FabricEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
25055	return nil, false
25056}
25057
25058// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25059func (fe FabricEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
25060	return nil, false
25061}
25062
25063// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25064func (fe FabricEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
25065	return nil, false
25066}
25067
25068// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25069func (fe FabricEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
25070	return nil, false
25071}
25072
25073// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25074func (fe FabricEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
25075	return nil, false
25076}
25077
25078// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25079func (fe FabricEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
25080	return nil, false
25081}
25082
25083// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25084func (fe FabricEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
25085	return nil, false
25086}
25087
25088// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25089func (fe FabricEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
25090	return nil, false
25091}
25092
25093// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25094func (fe FabricEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
25095	return nil, false
25096}
25097
25098// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
25099func (fe FabricEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
25100	return nil, false
25101}
25102
25103// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
25104func (fe FabricEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
25105	return nil, false
25106}
25107
25108// AsChaosStoppedEvent is the BasicFabricEvent implementation for FabricEvent.
25109func (fe FabricEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
25110	return nil, false
25111}
25112
25113// AsChaosStartedEvent is the BasicFabricEvent implementation for FabricEvent.
25114func (fe FabricEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
25115	return nil, false
25116}
25117
25118// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25119func (fe FabricEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
25120	return nil, false
25121}
25122
25123// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25124func (fe FabricEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
25125	return nil, false
25126}
25127
25128// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25129func (fe FabricEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
25130	return nil, false
25131}
25132
25133// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25134func (fe FabricEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
25135	return nil, false
25136}
25137
25138// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25139func (fe FabricEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
25140	return nil, false
25141}
25142
25143// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25144func (fe FabricEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
25145	return nil, false
25146}
25147
25148// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25149func (fe FabricEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
25150	return nil, false
25151}
25152
25153// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25154func (fe FabricEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
25155	return nil, false
25156}
25157
25158// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25159func (fe FabricEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
25160	return nil, false
25161}
25162
25163// AsFabricEvent is the BasicFabricEvent implementation for FabricEvent.
25164func (fe FabricEvent) AsFabricEvent() (*FabricEvent, bool) {
25165	return &fe, true
25166}
25167
25168// AsBasicFabricEvent is the BasicFabricEvent implementation for FabricEvent.
25169func (fe FabricEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
25170	return &fe, true
25171}
25172
25173// FailedPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch failing. Contains
25174// information about the specific batch failure.
25175type FailedPropertyBatchInfo struct {
25176	// ErrorMessage - The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch.
25177	ErrorMessage *string `json:"ErrorMessage,omitempty"`
25178	// OperationIndex - The index of the unsuccessful operation in the property batch.
25179	OperationIndex *int32 `json:"OperationIndex,omitempty"`
25180	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
25181	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
25182}
25183
25184// MarshalJSON is the custom marshaler for FailedPropertyBatchInfo.
25185func (fpbi FailedPropertyBatchInfo) MarshalJSON() ([]byte, error) {
25186	fpbi.Kind = KindFailed
25187	objectMap := make(map[string]interface{})
25188	if fpbi.ErrorMessage != nil {
25189		objectMap["ErrorMessage"] = fpbi.ErrorMessage
25190	}
25191	if fpbi.OperationIndex != nil {
25192		objectMap["OperationIndex"] = fpbi.OperationIndex
25193	}
25194	if fpbi.Kind != "" {
25195		objectMap["Kind"] = fpbi.Kind
25196	}
25197	return json.Marshal(objectMap)
25198}
25199
25200// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25201func (fpbi FailedPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
25202	return nil, false
25203}
25204
25205// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25206func (fpbi FailedPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
25207	return &fpbi, true
25208}
25209
25210// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25211func (fpbi FailedPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
25212	return nil, false
25213}
25214
25215// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25216func (fpbi FailedPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
25217	return &fpbi, true
25218}
25219
25220// FailedUpgradeDomainProgressObject the detailed upgrade progress for nodes in the current upgrade domain at the
25221// point of failure.
25222type FailedUpgradeDomainProgressObject struct {
25223	// DomainName - The name of the upgrade domain
25224	DomainName *string `json:"DomainName,omitempty"`
25225	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
25226	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
25227}
25228
25229// FailureUpgradeDomainProgressInfo information about the upgrade domain progress at the time of upgrade failure.
25230type FailureUpgradeDomainProgressInfo struct {
25231	// DomainName - The name of the upgrade domain
25232	DomainName *string `json:"DomainName,omitempty"`
25233	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
25234	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
25235}
25236
25237// FileInfo information about a image store file.
25238type FileInfo struct {
25239	// FileSize - The size of file in bytes.
25240	FileSize *string `json:"FileSize,omitempty"`
25241	// FileVersion - Information about the version of image store file.
25242	FileVersion *FileVersion `json:"FileVersion,omitempty"`
25243	// ModifiedDate - The date and time when the image store file was last modified.
25244	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
25245	// StoreRelativePath - The file path relative to the image store root path.
25246	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
25247}
25248
25249// FileShareBackupStorageDescription describes the parameters for file share storage used for storing or
25250// enumerating backups.
25251type FileShareBackupStorageDescription struct {
25252	// Path - UNC path of the file share where to store or enumerate backups from.
25253	Path *string `json:"Path,omitempty"`
25254	// PrimaryUserName - Primary user name to access the file share.
25255	PrimaryUserName *string `json:"PrimaryUserName,omitempty"`
25256	// PrimaryPassword - Primary password to access the share location.
25257	PrimaryPassword *string `json:"PrimaryPassword,omitempty"`
25258	// SecondaryUserName - Secondary user name to access the file share.
25259	SecondaryUserName *string `json:"SecondaryUserName,omitempty"`
25260	// SecondaryPassword - Secondary password to access the share location
25261	SecondaryPassword *string `json:"SecondaryPassword,omitempty"`
25262	// FriendlyName - Friendly name for this backup storage.
25263	FriendlyName *string `json:"FriendlyName,omitempty"`
25264	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
25265	StorageKind StorageKind `json:"StorageKind,omitempty"`
25266}
25267
25268// MarshalJSON is the custom marshaler for FileShareBackupStorageDescription.
25269func (fsbsd FileShareBackupStorageDescription) MarshalJSON() ([]byte, error) {
25270	fsbsd.StorageKind = StorageKindFileShare
25271	objectMap := make(map[string]interface{})
25272	if fsbsd.Path != nil {
25273		objectMap["Path"] = fsbsd.Path
25274	}
25275	if fsbsd.PrimaryUserName != nil {
25276		objectMap["PrimaryUserName"] = fsbsd.PrimaryUserName
25277	}
25278	if fsbsd.PrimaryPassword != nil {
25279		objectMap["PrimaryPassword"] = fsbsd.PrimaryPassword
25280	}
25281	if fsbsd.SecondaryUserName != nil {
25282		objectMap["SecondaryUserName"] = fsbsd.SecondaryUserName
25283	}
25284	if fsbsd.SecondaryPassword != nil {
25285		objectMap["SecondaryPassword"] = fsbsd.SecondaryPassword
25286	}
25287	if fsbsd.FriendlyName != nil {
25288		objectMap["FriendlyName"] = fsbsd.FriendlyName
25289	}
25290	if fsbsd.StorageKind != "" {
25291		objectMap["StorageKind"] = fsbsd.StorageKind
25292	}
25293	return json.Marshal(objectMap)
25294}
25295
25296// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25297func (fsbsd FileShareBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
25298	return nil, false
25299}
25300
25301// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25302func (fsbsd FileShareBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
25303	return &fsbsd, true
25304}
25305
25306// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25307func (fsbsd FileShareBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
25308	return nil, false
25309}
25310
25311// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25312func (fsbsd FileShareBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
25313	return &fsbsd, true
25314}
25315
25316// FileVersion information about the version of image store file.
25317type FileVersion struct {
25318	// VersionNumber - The current image store version number for the file is used in image store for checking whether it need to be updated.
25319	VersionNumber *string `json:"VersionNumber,omitempty"`
25320	// EpochDataLossNumber - The epoch data loss number of image store replica when this file entry was updated or created.
25321	EpochDataLossNumber *string `json:"EpochDataLossNumber,omitempty"`
25322	// EpochConfigurationNumber - The epoch configuration version number of the image store replica when this file entry was created or updated.
25323	EpochConfigurationNumber *string `json:"EpochConfigurationNumber,omitempty"`
25324}
25325
25326// FolderInfo information about a image store folder. It includes how many files this folder contains and its image
25327// store relative path.
25328type FolderInfo struct {
25329	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
25330	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
25331	// FileCount - The number of files from within the image store folder.
25332	FileCount *string `json:"FileCount,omitempty"`
25333}
25334
25335// FrequencyBasedBackupScheduleDescription describes the frequency based backup schedule.
25336type FrequencyBasedBackupScheduleDescription struct {
25337	// 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.
25338	Interval *string `json:"Interval,omitempty"`
25339	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
25340	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
25341}
25342
25343// MarshalJSON is the custom marshaler for FrequencyBasedBackupScheduleDescription.
25344func (fbbsd FrequencyBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
25345	fbbsd.ScheduleKind = ScheduleKindFrequencyBased
25346	objectMap := make(map[string]interface{})
25347	if fbbsd.Interval != nil {
25348		objectMap["Interval"] = fbbsd.Interval
25349	}
25350	if fbbsd.ScheduleKind != "" {
25351		objectMap["ScheduleKind"] = fbbsd.ScheduleKind
25352	}
25353	return json.Marshal(objectMap)
25354}
25355
25356// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25357func (fbbsd FrequencyBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
25358	return &fbbsd, true
25359}
25360
25361// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25362func (fbbsd FrequencyBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
25363	return nil, false
25364}
25365
25366// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25367func (fbbsd FrequencyBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
25368	return nil, false
25369}
25370
25371// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25372func (fbbsd FrequencyBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
25373	return &fbbsd, true
25374}
25375
25376// GetBackupByStorageQueryDescription describes additional filters to be applied, while listing backups, and backup
25377// storage details from where to fetch the backups.
25378type GetBackupByStorageQueryDescription struct {
25379	// StartDateTimeFilter - Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning.
25380	StartDateTimeFilter *date.Time `json:"StartDateTimeFilter,omitempty"`
25381	// EndDateTimeFilter - Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end.
25382	EndDateTimeFilter *date.Time `json:"EndDateTimeFilter,omitempty"`
25383	// Latest - If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity.
25384	Latest *bool `json:"Latest,omitempty"`
25385	// 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.
25386	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
25387	// BackupEntity - Indicates the entity for which to enumerate backups.
25388	BackupEntity BasicBackupEntity `json:"BackupEntity,omitempty"`
25389}
25390
25391// UnmarshalJSON is the custom unmarshaler for GetBackupByStorageQueryDescription struct.
25392func (gbbsqd *GetBackupByStorageQueryDescription) UnmarshalJSON(body []byte) error {
25393	var m map[string]*json.RawMessage
25394	err := json.Unmarshal(body, &m)
25395	if err != nil {
25396		return err
25397	}
25398	for k, v := range m {
25399		switch k {
25400		case "StartDateTimeFilter":
25401			if v != nil {
25402				var startDateTimeFilter date.Time
25403				err = json.Unmarshal(*v, &startDateTimeFilter)
25404				if err != nil {
25405					return err
25406				}
25407				gbbsqd.StartDateTimeFilter = &startDateTimeFilter
25408			}
25409		case "EndDateTimeFilter":
25410			if v != nil {
25411				var endDateTimeFilter date.Time
25412				err = json.Unmarshal(*v, &endDateTimeFilter)
25413				if err != nil {
25414					return err
25415				}
25416				gbbsqd.EndDateTimeFilter = &endDateTimeFilter
25417			}
25418		case "Latest":
25419			if v != nil {
25420				var latest bool
25421				err = json.Unmarshal(*v, &latest)
25422				if err != nil {
25423					return err
25424				}
25425				gbbsqd.Latest = &latest
25426			}
25427		case "Storage":
25428			if v != nil {
25429				storage, err := unmarshalBasicBackupStorageDescription(*v)
25430				if err != nil {
25431					return err
25432				}
25433				gbbsqd.Storage = storage
25434			}
25435		case "BackupEntity":
25436			if v != nil {
25437				backupEntity, err := unmarshalBasicBackupEntity(*v)
25438				if err != nil {
25439					return err
25440				}
25441				gbbsqd.BackupEntity = backupEntity
25442			}
25443		}
25444	}
25445
25446	return nil
25447}
25448
25449// GetPropertyBatchOperation represents a PropertyBatchOperation that gets the specified property if it exists.
25450// Note that if one PropertyBatchOperation in a PropertyBatch fails,
25451// the entire batch fails and cannot be committed in a transactional manner.
25452type GetPropertyBatchOperation struct {
25453	// IncludeValue - Whether or not to return the property value with the metadata.
25454	// True if values should be returned with the metadata; False to return only property metadata.
25455	IncludeValue *bool `json:"IncludeValue,omitempty"`
25456	// PropertyName - The name of the Service Fabric property.
25457	PropertyName *string `json:"PropertyName,omitempty"`
25458	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
25459	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
25460}
25461
25462// MarshalJSON is the custom marshaler for GetPropertyBatchOperation.
25463func (gpbo GetPropertyBatchOperation) MarshalJSON() ([]byte, error) {
25464	gpbo.Kind = KindGet
25465	objectMap := make(map[string]interface{})
25466	if gpbo.IncludeValue != nil {
25467		objectMap["IncludeValue"] = gpbo.IncludeValue
25468	}
25469	if gpbo.PropertyName != nil {
25470		objectMap["PropertyName"] = gpbo.PropertyName
25471	}
25472	if gpbo.Kind != "" {
25473		objectMap["Kind"] = gpbo.Kind
25474	}
25475	return json.Marshal(objectMap)
25476}
25477
25478// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25479func (gpbo GetPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
25480	return nil, false
25481}
25482
25483// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25484func (gpbo GetPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
25485	return nil, false
25486}
25487
25488// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25489func (gpbo GetPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
25490	return nil, false
25491}
25492
25493// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25494func (gpbo GetPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
25495	return nil, false
25496}
25497
25498// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25499func (gpbo GetPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
25500	return &gpbo, true
25501}
25502
25503// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25504func (gpbo GetPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
25505	return nil, false
25506}
25507
25508// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25509func (gpbo GetPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
25510	return nil, false
25511}
25512
25513// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25514func (gpbo GetPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
25515	return &gpbo, true
25516}
25517
25518// GUIDPropertyValue describes a Service Fabric property value of type Guid.
25519type GUIDPropertyValue struct {
25520	// Data - The data of the property value.
25521	Data *uuid.UUID `json:"Data,omitempty"`
25522	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
25523	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
25524}
25525
25526// MarshalJSON is the custom marshaler for GUIDPropertyValue.
25527func (gpv GUIDPropertyValue) MarshalJSON() ([]byte, error) {
25528	gpv.Kind = KindGUID
25529	objectMap := make(map[string]interface{})
25530	if gpv.Data != nil {
25531		objectMap["Data"] = gpv.Data
25532	}
25533	if gpv.Kind != "" {
25534		objectMap["Kind"] = gpv.Kind
25535	}
25536	return json.Marshal(objectMap)
25537}
25538
25539// AsBinaryPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25540func (gpv GUIDPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
25541	return nil, false
25542}
25543
25544// AsInt64PropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25545func (gpv GUIDPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
25546	return nil, false
25547}
25548
25549// AsDoublePropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25550func (gpv GUIDPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
25551	return nil, false
25552}
25553
25554// AsStringPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25555func (gpv GUIDPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
25556	return nil, false
25557}
25558
25559// AsGUIDPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25560func (gpv GUIDPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
25561	return &gpv, true
25562}
25563
25564// AsPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25565func (gpv GUIDPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
25566	return nil, false
25567}
25568
25569// AsBasicPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25570func (gpv GUIDPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
25571	return &gpv, true
25572}
25573
25574// BasicHealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
25575// manager to evaluate the health of an entity.
25576type BasicHealthEvaluation interface {
25577	AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool)
25578	AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool)
25579	AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool)
25580	AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool)
25581	AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool)
25582	AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool)
25583	AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool)
25584	AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool)
25585	AsEventHealthEvaluation() (*EventHealthEvaluation, bool)
25586	AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool)
25587	AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool)
25588	AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool)
25589	AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool)
25590	AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool)
25591	AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool)
25592	AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool)
25593	AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool)
25594	AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool)
25595	AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool)
25596	AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool)
25597	AsHealthEvaluation() (*HealthEvaluation, bool)
25598}
25599
25600// HealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
25601// manager to evaluate the health of an entity.
25602type HealthEvaluation struct {
25603	// 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'
25604	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
25605	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
25606	Description *string `json:"Description,omitempty"`
25607	// 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'
25608	Kind Kind `json:"Kind,omitempty"`
25609}
25610
25611func unmarshalBasicHealthEvaluation(body []byte) (BasicHealthEvaluation, error) {
25612	var m map[string]interface{}
25613	err := json.Unmarshal(body, &m)
25614	if err != nil {
25615		return nil, err
25616	}
25617
25618	switch m["Kind"] {
25619	case string(KindApplication):
25620		var ahe ApplicationHealthEvaluation
25621		err := json.Unmarshal(body, &ahe)
25622		return ahe, err
25623	case string(KindApplications):
25624		var ahe ApplicationsHealthEvaluation
25625		err := json.Unmarshal(body, &ahe)
25626		return ahe, err
25627	case string(KindApplicationTypeApplications):
25628		var atahe ApplicationTypeApplicationsHealthEvaluation
25629		err := json.Unmarshal(body, &atahe)
25630		return atahe, err
25631	case string(KindDeltaNodesCheck):
25632		var dnche DeltaNodesCheckHealthEvaluation
25633		err := json.Unmarshal(body, &dnche)
25634		return dnche, err
25635	case string(KindDeployedApplication):
25636		var dahe DeployedApplicationHealthEvaluation
25637		err := json.Unmarshal(body, &dahe)
25638		return dahe, err
25639	case string(KindDeployedApplications):
25640		var dahe DeployedApplicationsHealthEvaluation
25641		err := json.Unmarshal(body, &dahe)
25642		return dahe, err
25643	case string(KindDeployedServicePackage):
25644		var dsphe DeployedServicePackageHealthEvaluation
25645		err := json.Unmarshal(body, &dsphe)
25646		return dsphe, err
25647	case string(KindDeployedServicePackages):
25648		var dsphe DeployedServicePackagesHealthEvaluation
25649		err := json.Unmarshal(body, &dsphe)
25650		return dsphe, err
25651	case string(KindEvent):
25652		var ehe EventHealthEvaluation
25653		err := json.Unmarshal(body, &ehe)
25654		return ehe, err
25655	case string(KindNode):
25656		var nhe NodeHealthEvaluation
25657		err := json.Unmarshal(body, &nhe)
25658		return nhe, err
25659	case string(KindNodes):
25660		var nhe NodesHealthEvaluation
25661		err := json.Unmarshal(body, &nhe)
25662		return nhe, err
25663	case string(KindPartition):
25664		var phe PartitionHealthEvaluation
25665		err := json.Unmarshal(body, &phe)
25666		return phe, err
25667	case string(KindPartitions):
25668		var phe PartitionsHealthEvaluation
25669		err := json.Unmarshal(body, &phe)
25670		return phe, err
25671	case string(KindReplica):
25672		var rhe ReplicaHealthEvaluation
25673		err := json.Unmarshal(body, &rhe)
25674		return rhe, err
25675	case string(KindReplicas):
25676		var rhe ReplicasHealthEvaluation
25677		err := json.Unmarshal(body, &rhe)
25678		return rhe, err
25679	case string(KindService):
25680		var she ServiceHealthEvaluation
25681		err := json.Unmarshal(body, &she)
25682		return she, err
25683	case string(KindServices):
25684		var she ServicesHealthEvaluation
25685		err := json.Unmarshal(body, &she)
25686		return she, err
25687	case string(KindSystemApplication):
25688		var sahe SystemApplicationHealthEvaluation
25689		err := json.Unmarshal(body, &sahe)
25690		return sahe, err
25691	case string(KindUpgradeDomainDeltaNodesCheck):
25692		var uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation
25693		err := json.Unmarshal(body, &uddnche)
25694		return uddnche, err
25695	case string(KindUpgradeDomainNodes):
25696		var udnhe UpgradeDomainNodesHealthEvaluation
25697		err := json.Unmarshal(body, &udnhe)
25698		return udnhe, err
25699	default:
25700		var he HealthEvaluation
25701		err := json.Unmarshal(body, &he)
25702		return he, err
25703	}
25704}
25705func unmarshalBasicHealthEvaluationArray(body []byte) ([]BasicHealthEvaluation, error) {
25706	var rawMessages []*json.RawMessage
25707	err := json.Unmarshal(body, &rawMessages)
25708	if err != nil {
25709		return nil, err
25710	}
25711
25712	heArray := make([]BasicHealthEvaluation, len(rawMessages))
25713
25714	for index, rawMessage := range rawMessages {
25715		he, err := unmarshalBasicHealthEvaluation(*rawMessage)
25716		if err != nil {
25717			return nil, err
25718		}
25719		heArray[index] = he
25720	}
25721	return heArray, nil
25722}
25723
25724// MarshalJSON is the custom marshaler for HealthEvaluation.
25725func (he HealthEvaluation) MarshalJSON() ([]byte, error) {
25726	he.Kind = KindHealthEvaluation
25727	objectMap := make(map[string]interface{})
25728	if he.AggregatedHealthState != "" {
25729		objectMap["AggregatedHealthState"] = he.AggregatedHealthState
25730	}
25731	if he.Description != nil {
25732		objectMap["Description"] = he.Description
25733	}
25734	if he.Kind != "" {
25735		objectMap["Kind"] = he.Kind
25736	}
25737	return json.Marshal(objectMap)
25738}
25739
25740// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25741func (he HealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
25742	return nil, false
25743}
25744
25745// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25746func (he HealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
25747	return nil, false
25748}
25749
25750// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25751func (he HealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
25752	return nil, false
25753}
25754
25755// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25756func (he HealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
25757	return nil, false
25758}
25759
25760// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25761func (he HealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
25762	return nil, false
25763}
25764
25765// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25766func (he HealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
25767	return nil, false
25768}
25769
25770// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25771func (he HealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
25772	return nil, false
25773}
25774
25775// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25776func (he HealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
25777	return nil, false
25778}
25779
25780// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25781func (he HealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
25782	return nil, false
25783}
25784
25785// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25786func (he HealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
25787	return nil, false
25788}
25789
25790// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25791func (he HealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
25792	return nil, false
25793}
25794
25795// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25796func (he HealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
25797	return nil, false
25798}
25799
25800// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25801func (he HealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
25802	return nil, false
25803}
25804
25805// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25806func (he HealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
25807	return nil, false
25808}
25809
25810// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25811func (he HealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
25812	return nil, false
25813}
25814
25815// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25816func (he HealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
25817	return nil, false
25818}
25819
25820// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25821func (he HealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
25822	return nil, false
25823}
25824
25825// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25826func (he HealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
25827	return nil, false
25828}
25829
25830// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25831func (he HealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
25832	return nil, false
25833}
25834
25835// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25836func (he HealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
25837	return nil, false
25838}
25839
25840// AsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25841func (he HealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
25842	return &he, true
25843}
25844
25845// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
25846func (he HealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
25847	return &he, true
25848}
25849
25850// HealthEvaluationWrapper wrapper object for health evaluation.
25851type HealthEvaluationWrapper struct {
25852	// HealthEvaluation - Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.
25853	HealthEvaluation BasicHealthEvaluation `json:"HealthEvaluation,omitempty"`
25854}
25855
25856// UnmarshalJSON is the custom unmarshaler for HealthEvaluationWrapper struct.
25857func (hew *HealthEvaluationWrapper) UnmarshalJSON(body []byte) error {
25858	var m map[string]*json.RawMessage
25859	err := json.Unmarshal(body, &m)
25860	if err != nil {
25861		return err
25862	}
25863	for k, v := range m {
25864		switch k {
25865		case "HealthEvaluation":
25866			if v != nil {
25867				healthEvaluation, err := unmarshalBasicHealthEvaluation(*v)
25868				if err != nil {
25869					return err
25870				}
25871				hew.HealthEvaluation = healthEvaluation
25872			}
25873		}
25874	}
25875
25876	return nil
25877}
25878
25879// HealthEvent represents health information reported on a health entity, such as cluster, application or node,
25880// with additional metadata added by the Health Manager.
25881type HealthEvent struct {
25882	// IsExpired - Returns true if the health event is expired, otherwise false.
25883	IsExpired *bool `json:"IsExpired,omitempty"`
25884	// SourceUtcTimestamp - The date and time when the health report was sent by the source.
25885	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
25886	// LastModifiedUtcTimestamp - The date and time when the health report was last modified by the health store.
25887	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
25888	// LastOkTransitionAt - If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.
25889	// For periodic reporting, many reports with the same state may have been generated.
25890	// This property returns the date and time when the first 'Ok' health report was received.
25891	// 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.
25892	// If the health state was never 'Ok', the value will be zero date-time.
25893	LastOkTransitionAt *date.Time `json:"LastOkTransitionAt,omitempty"`
25894	// 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.
25895	// 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.
25896	// If the health state was never 'Warning', the value will be zero date-time.
25897	LastWarningTransitionAt *date.Time `json:"LastWarningTransitionAt,omitempty"`
25898	// 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.
25899	// 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.
25900	// If the health state was never 'Error', the value will be zero date-time.
25901	LastErrorTransitionAt *date.Time `json:"LastErrorTransitionAt,omitempty"`
25902	// SourceID - The source name which identifies the client/watchdog/system component which generated the health information.
25903	SourceID *string `json:"SourceId,omitempty"`
25904	// Property - The property of the health information. An entity can have health reports for different properties.
25905	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
25906	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
25907	// so it can report "AvailableDisk" property on that node.
25908	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
25909	// In the health store, these reports are treated as separate health events for the specified node.
25910	// Together with the SourceId, the property uniquely identifies the health information.
25911	Property *string `json:"Property,omitempty"`
25912	// 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'
25913	HealthState HealthState `json:"HealthState,omitempty"`
25914	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
25915	// When clients report periodically, they should send reports with higher frequency than time to live.
25916	// If clients report on transition, they can set the time to live to infinite.
25917	// When time to live expires, the health event that contains the health information
25918	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
25919	// If not specified, time to live defaults to infinite value.
25920	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
25921	// Description - The description of the health information. It represents free text used to add human readable information about the report.
25922	// The maximum string length for the description is 4096 characters.
25923	// If the provided string is longer, it will be automatically truncated.
25924	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
25925	// The presence of the marker indicates to users that truncation occurred.
25926	// Note that when truncated, the description has less than 4096 characters from the original string.
25927	Description *string `json:"Description,omitempty"`
25928	// SequenceNumber - The sequence number for this health report as a numeric string.
25929	// The report sequence number is used by the health store to detect stale reports.
25930	// If not specified, a sequence number is auto-generated by the health client when a report is added.
25931	SequenceNumber *string `json:"SequenceNumber,omitempty"`
25932	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
25933	// If set to true, the report is removed from the health store after it expires.
25934	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
25935	// When clients report periodically, they should set RemoveWhenExpired false (default).
25936	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
25937	// This flags the entity as being in Error health state.
25938	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
25939}
25940
25941// HealthInformation represents common health report information. It is included in all health reports sent to
25942// health store and in all health events returned by health queries.
25943type HealthInformation struct {
25944	// SourceID - The source name which identifies the client/watchdog/system component which generated the health information.
25945	SourceID *string `json:"SourceId,omitempty"`
25946	// Property - The property of the health information. An entity can have health reports for different properties.
25947	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
25948	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
25949	// so it can report "AvailableDisk" property on that node.
25950	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
25951	// In the health store, these reports are treated as separate health events for the specified node.
25952	// Together with the SourceId, the property uniquely identifies the health information.
25953	Property *string `json:"Property,omitempty"`
25954	// 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'
25955	HealthState HealthState `json:"HealthState,omitempty"`
25956	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
25957	// When clients report periodically, they should send reports with higher frequency than time to live.
25958	// If clients report on transition, they can set the time to live to infinite.
25959	// When time to live expires, the health event that contains the health information
25960	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
25961	// If not specified, time to live defaults to infinite value.
25962	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
25963	// Description - The description of the health information. It represents free text used to add human readable information about the report.
25964	// The maximum string length for the description is 4096 characters.
25965	// If the provided string is longer, it will be automatically truncated.
25966	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
25967	// The presence of the marker indicates to users that truncation occurred.
25968	// Note that when truncated, the description has less than 4096 characters from the original string.
25969	Description *string `json:"Description,omitempty"`
25970	// SequenceNumber - The sequence number for this health report as a numeric string.
25971	// The report sequence number is used by the health store to detect stale reports.
25972	// If not specified, a sequence number is auto-generated by the health client when a report is added.
25973	SequenceNumber *string `json:"SequenceNumber,omitempty"`
25974	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
25975	// If set to true, the report is removed from the health store after it expires.
25976	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
25977	// When clients report periodically, they should set RemoveWhenExpired false (default).
25978	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
25979	// This flags the entity as being in Error health state.
25980	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
25981}
25982
25983// HealthStateCount represents information about how many health entities are in Ok, Warning and Error health
25984// state.
25985type HealthStateCount struct {
25986	// OkCount - The number of health entities with aggregated health state Ok.
25987	OkCount *int64 `json:"OkCount,omitempty"`
25988	// WarningCount - The number of health entities with aggregated health state Warning.
25989	WarningCount *int64 `json:"WarningCount,omitempty"`
25990	// ErrorCount - The number of health entities with aggregated health state Error.
25991	ErrorCount *int64 `json:"ErrorCount,omitempty"`
25992}
25993
25994// HealthStatistics the health statistics of an entity, returned as part of the health query result when the query
25995// description is configured to include statistics.
25996// The statistics include health state counts for all children types of the current entity.
25997// For example, for cluster, the health statistics include health state counts for nodes, applications, services,
25998// partitions, replicas, deployed applications and deployed service packages.
25999// For partition, the health statistics include health counts for replicas.
26000type HealthStatistics struct {
26001	// 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.
26002	HealthStateCountList *[]EntityKindHealthStateCount `json:"HealthStateCountList,omitempty"`
26003}
26004
26005// ImageStoreContent information about the image store content.
26006type ImageStoreContent struct {
26007	autorest.Response `json:"-"`
26008	// StoreFiles - The list of image store file info objects represents files found under the given image store relative path.
26009	StoreFiles *[]FileInfo `json:"StoreFiles,omitempty"`
26010	// StoreFolders - The list of image store folder info objects represents subfolders found under the given image store relative path.
26011	StoreFolders *[]FolderInfo `json:"StoreFolders,omitempty"`
26012}
26013
26014// ImageStoreCopyDescription information about how to copy image store content from one image store relative path
26015// to another image store relative path.
26016type ImageStoreCopyDescription struct {
26017	// RemoteSource - The relative path of source image store content to be copied from.
26018	RemoteSource *string `json:"RemoteSource,omitempty"`
26019	// RemoteDestination - The relative path of destination image store content to be copied to.
26020	RemoteDestination *string `json:"RemoteDestination,omitempty"`
26021	// SkipFiles - The list of the file names to be skipped for copying.
26022	SkipFiles *[]string `json:"SkipFiles,omitempty"`
26023	// 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.
26024	CheckMarkFile *bool `json:"CheckMarkFile,omitempty"`
26025}
26026
26027// Int64PropertyValue describes a Service Fabric property value of type Int64.
26028type Int64PropertyValue struct {
26029	// Data - The data of the property value.
26030	Data *string `json:"Data,omitempty"`
26031	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
26032	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
26033}
26034
26035// MarshalJSON is the custom marshaler for Int64PropertyValue.
26036func (i6pv Int64PropertyValue) MarshalJSON() ([]byte, error) {
26037	i6pv.Kind = KindInt64
26038	objectMap := make(map[string]interface{})
26039	if i6pv.Data != nil {
26040		objectMap["Data"] = i6pv.Data
26041	}
26042	if i6pv.Kind != "" {
26043		objectMap["Kind"] = i6pv.Kind
26044	}
26045	return json.Marshal(objectMap)
26046}
26047
26048// AsBinaryPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26049func (i6pv Int64PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
26050	return nil, false
26051}
26052
26053// AsInt64PropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26054func (i6pv Int64PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
26055	return &i6pv, true
26056}
26057
26058// AsDoublePropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26059func (i6pv Int64PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
26060	return nil, false
26061}
26062
26063// AsStringPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26064func (i6pv Int64PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
26065	return nil, false
26066}
26067
26068// AsGUIDPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26069func (i6pv Int64PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
26070	return nil, false
26071}
26072
26073// AsPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26074func (i6pv Int64PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
26075	return nil, false
26076}
26077
26078// AsBasicPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26079func (i6pv Int64PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
26080	return &i6pv, true
26081}
26082
26083// Int64RangePartitionInformation describes the partition information for the integer range that is based on
26084// partition schemes.
26085type Int64RangePartitionInformation struct {
26086	// LowKey - Specifies the minimum key value handled by this partition.
26087	LowKey *string `json:"LowKey,omitempty"`
26088	// HighKey - Specifies the maximum key value handled by this partition.
26089	HighKey *string `json:"HighKey,omitempty"`
26090	// 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.
26091	ID *uuid.UUID `json:"Id,omitempty"`
26092	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
26093	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
26094}
26095
26096// MarshalJSON is the custom marshaler for Int64RangePartitionInformation.
26097func (i6rpi Int64RangePartitionInformation) MarshalJSON() ([]byte, error) {
26098	i6rpi.ServicePartitionKind = ServicePartitionKindInt64Range1
26099	objectMap := make(map[string]interface{})
26100	if i6rpi.LowKey != nil {
26101		objectMap["LowKey"] = i6rpi.LowKey
26102	}
26103	if i6rpi.HighKey != nil {
26104		objectMap["HighKey"] = i6rpi.HighKey
26105	}
26106	if i6rpi.ID != nil {
26107		objectMap["Id"] = i6rpi.ID
26108	}
26109	if i6rpi.ServicePartitionKind != "" {
26110		objectMap["ServicePartitionKind"] = i6rpi.ServicePartitionKind
26111	}
26112	return json.Marshal(objectMap)
26113}
26114
26115// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26116func (i6rpi Int64RangePartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
26117	return &i6rpi, true
26118}
26119
26120// AsNamedPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26121func (i6rpi Int64RangePartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
26122	return nil, false
26123}
26124
26125// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26126func (i6rpi Int64RangePartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
26127	return nil, false
26128}
26129
26130// AsPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26131func (i6rpi Int64RangePartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
26132	return nil, false
26133}
26134
26135// AsBasicPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26136func (i6rpi Int64RangePartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
26137	return &i6rpi, true
26138}
26139
26140// InvokeDataLossResult represents information about an operation in a terminal state (Completed or Faulted).
26141type InvokeDataLossResult struct {
26142	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
26143	ErrorCode *int32 `json:"ErrorCode,omitempty"`
26144	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
26145	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
26146}
26147
26148// InvokeQuorumLossResult represents information about an operation in a terminal state (Completed or Faulted).
26149type InvokeQuorumLossResult struct {
26150	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
26151	ErrorCode *int32 `json:"ErrorCode,omitempty"`
26152	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
26153	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
26154}
26155
26156// KeyValueStoreReplicaStatus key value store related information for the replica.
26157type KeyValueStoreReplicaStatus struct {
26158	// DatabaseRowCountEstimate - Value indicating the estimated number of rows in the underlying database.
26159	DatabaseRowCountEstimate *string `json:"DatabaseRowCountEstimate,omitempty"`
26160	// DatabaseLogicalSizeEstimate - Value indicating the estimated size of the underlying database.
26161	DatabaseLogicalSizeEstimate *string `json:"DatabaseLogicalSizeEstimate,omitempty"`
26162	// CopyNotificationCurrentKeyFilter - Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback.
26163	CopyNotificationCurrentKeyFilter *string `json:"CopyNotificationCurrentKeyFilter,omitempty"`
26164	// CopyNotificationCurrentProgress - Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback.
26165	CopyNotificationCurrentProgress *string `json:"CopyNotificationCurrentProgress,omitempty"`
26166	// StatusDetails - Value indicating the current status details of the replica.
26167	StatusDetails *string `json:"StatusDetails,omitempty"`
26168	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
26169	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
26170}
26171
26172// MarshalJSON is the custom marshaler for KeyValueStoreReplicaStatus.
26173func (kvsrs KeyValueStoreReplicaStatus) MarshalJSON() ([]byte, error) {
26174	kvsrs.Kind = KindKeyValueStore
26175	objectMap := make(map[string]interface{})
26176	if kvsrs.DatabaseRowCountEstimate != nil {
26177		objectMap["DatabaseRowCountEstimate"] = kvsrs.DatabaseRowCountEstimate
26178	}
26179	if kvsrs.DatabaseLogicalSizeEstimate != nil {
26180		objectMap["DatabaseLogicalSizeEstimate"] = kvsrs.DatabaseLogicalSizeEstimate
26181	}
26182	if kvsrs.CopyNotificationCurrentKeyFilter != nil {
26183		objectMap["CopyNotificationCurrentKeyFilter"] = kvsrs.CopyNotificationCurrentKeyFilter
26184	}
26185	if kvsrs.CopyNotificationCurrentProgress != nil {
26186		objectMap["CopyNotificationCurrentProgress"] = kvsrs.CopyNotificationCurrentProgress
26187	}
26188	if kvsrs.StatusDetails != nil {
26189		objectMap["StatusDetails"] = kvsrs.StatusDetails
26190	}
26191	if kvsrs.Kind != "" {
26192		objectMap["Kind"] = kvsrs.Kind
26193	}
26194	return json.Marshal(objectMap)
26195}
26196
26197// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
26198func (kvsrs KeyValueStoreReplicaStatus) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
26199	return &kvsrs, true
26200}
26201
26202// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
26203func (kvsrs KeyValueStoreReplicaStatus) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
26204	return nil, false
26205}
26206
26207// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
26208func (kvsrs KeyValueStoreReplicaStatus) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
26209	return &kvsrs, true
26210}
26211
26212// ListApplicationEvent ...
26213type ListApplicationEvent struct {
26214	autorest.Response `json:"-"`
26215	Value             *[]BasicApplicationEvent `json:"value,omitempty"`
26216}
26217
26218// UnmarshalJSON is the custom unmarshaler for ListApplicationEvent struct.
26219func (lae *ListApplicationEvent) UnmarshalJSON(body []byte) error {
26220	ae, err := unmarshalBasicApplicationEventArray(body)
26221	if err != nil {
26222		return err
26223	}
26224	lae.Value = &ae
26225
26226	return nil
26227}
26228
26229// ListClusterEvent ...
26230type ListClusterEvent struct {
26231	autorest.Response `json:"-"`
26232	Value             *[]BasicClusterEvent `json:"value,omitempty"`
26233}
26234
26235// UnmarshalJSON is the custom unmarshaler for ListClusterEvent struct.
26236func (lce *ListClusterEvent) UnmarshalJSON(body []byte) error {
26237	ce, err := unmarshalBasicClusterEventArray(body)
26238	if err != nil {
26239		return err
26240	}
26241	lce.Value = &ce
26242
26243	return nil
26244}
26245
26246// ListContainerInstanceEvent ...
26247type ListContainerInstanceEvent struct {
26248	autorest.Response `json:"-"`
26249	Value             *[]ContainerInstanceEvent `json:"value,omitempty"`
26250}
26251
26252// ListDeployedCodePackageInfo ...
26253type ListDeployedCodePackageInfo struct {
26254	autorest.Response `json:"-"`
26255	Value             *[]DeployedCodePackageInfo `json:"value,omitempty"`
26256}
26257
26258// ListDeployedServicePackageInfo ...
26259type ListDeployedServicePackageInfo struct {
26260	autorest.Response `json:"-"`
26261	Value             *[]DeployedServicePackageInfo `json:"value,omitempty"`
26262}
26263
26264// ListDeployedServiceReplicaInfo ...
26265type ListDeployedServiceReplicaInfo struct {
26266	autorest.Response `json:"-"`
26267	Value             *[]BasicDeployedServiceReplicaInfo `json:"value,omitempty"`
26268}
26269
26270// UnmarshalJSON is the custom unmarshaler for ListDeployedServiceReplicaInfo struct.
26271func (ldsri *ListDeployedServiceReplicaInfo) UnmarshalJSON(body []byte) error {
26272	dsri, err := unmarshalBasicDeployedServiceReplicaInfoArray(body)
26273	if err != nil {
26274		return err
26275	}
26276	ldsri.Value = &dsri
26277
26278	return nil
26279}
26280
26281// ListDeployedServiceTypeInfo ...
26282type ListDeployedServiceTypeInfo struct {
26283	autorest.Response `json:"-"`
26284	Value             *[]DeployedServiceTypeInfo `json:"value,omitempty"`
26285}
26286
26287// ListFabricCodeVersionInfo ...
26288type ListFabricCodeVersionInfo struct {
26289	autorest.Response `json:"-"`
26290	Value             *[]FabricCodeVersionInfo `json:"value,omitempty"`
26291}
26292
26293// ListFabricConfigVersionInfo ...
26294type ListFabricConfigVersionInfo struct {
26295	autorest.Response `json:"-"`
26296	Value             *[]FabricConfigVersionInfo `json:"value,omitempty"`
26297}
26298
26299// ListFabricEvent ...
26300type ListFabricEvent struct {
26301	autorest.Response `json:"-"`
26302	Value             *[]BasicFabricEvent `json:"value,omitempty"`
26303}
26304
26305// UnmarshalJSON is the custom unmarshaler for ListFabricEvent struct.
26306func (lfe *ListFabricEvent) UnmarshalJSON(body []byte) error {
26307	fe, err := unmarshalBasicFabricEventArray(body)
26308	if err != nil {
26309		return err
26310	}
26311	lfe.Value = &fe
26312
26313	return nil
26314}
26315
26316// ListNodeEvent ...
26317type ListNodeEvent struct {
26318	autorest.Response `json:"-"`
26319	Value             *[]BasicNodeEvent `json:"value,omitempty"`
26320}
26321
26322// UnmarshalJSON is the custom unmarshaler for ListNodeEvent struct.
26323func (lne *ListNodeEvent) UnmarshalJSON(body []byte) error {
26324	ne, err := unmarshalBasicNodeEventArray(body)
26325	if err != nil {
26326		return err
26327	}
26328	lne.Value = &ne
26329
26330	return nil
26331}
26332
26333// ListOperationStatus ...
26334type ListOperationStatus struct {
26335	autorest.Response `json:"-"`
26336	Value             *[]OperationStatus `json:"value,omitempty"`
26337}
26338
26339// ListPartitionEvent ...
26340type ListPartitionEvent struct {
26341	autorest.Response `json:"-"`
26342	Value             *[]BasicPartitionEvent `json:"value,omitempty"`
26343}
26344
26345// UnmarshalJSON is the custom unmarshaler for ListPartitionEvent struct.
26346func (lpe *ListPartitionEvent) UnmarshalJSON(body []byte) error {
26347	peVar, err := unmarshalBasicPartitionEventArray(body)
26348	if err != nil {
26349		return err
26350	}
26351	lpe.Value = &peVar
26352
26353	return nil
26354}
26355
26356// ListRepairTask ...
26357type ListRepairTask struct {
26358	autorest.Response `json:"-"`
26359	Value             *[]RepairTask `json:"value,omitempty"`
26360}
26361
26362// ListReplicaEvent ...
26363type ListReplicaEvent struct {
26364	autorest.Response `json:"-"`
26365	Value             *[]BasicReplicaEvent `json:"value,omitempty"`
26366}
26367
26368// UnmarshalJSON is the custom unmarshaler for ListReplicaEvent struct.
26369func (lre *ListReplicaEvent) UnmarshalJSON(body []byte) error {
26370	re, err := unmarshalBasicReplicaEventArray(body)
26371	if err != nil {
26372		return err
26373	}
26374	lre.Value = &re
26375
26376	return nil
26377}
26378
26379// ListServiceEvent ...
26380type ListServiceEvent struct {
26381	autorest.Response `json:"-"`
26382	Value             *[]BasicServiceEvent `json:"value,omitempty"`
26383}
26384
26385// UnmarshalJSON is the custom unmarshaler for ListServiceEvent struct.
26386func (lse *ListServiceEvent) UnmarshalJSON(body []byte) error {
26387	se, err := unmarshalBasicServiceEventArray(body)
26388	if err != nil {
26389		return err
26390	}
26391	lse.Value = &se
26392
26393	return nil
26394}
26395
26396// ListServiceTypeInfo ...
26397type ListServiceTypeInfo struct {
26398	autorest.Response `json:"-"`
26399	Value             *[]ServiceTypeInfo `json:"value,omitempty"`
26400}
26401
26402// LoadMetricReport represents the load metric report which contains the time metric was reported, its name and
26403// value.
26404type LoadMetricReport struct {
26405	// LastReportedUtc - Gets the UTC time when the load was reported.
26406	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
26407	// Name - The name of the load metric.
26408	Name *string `json:"Name,omitempty"`
26409	// Value - The value of the load metric.
26410	Value *string `json:"Value,omitempty"`
26411}
26412
26413// LoadMetricReportInfo information about load reported by replica.
26414type LoadMetricReportInfo struct {
26415	// Name - The name of the metric.
26416	Name *string `json:"Name,omitempty"`
26417	// Value - The value of the load for the metric..
26418	Value *int32 `json:"Value,omitempty"`
26419	// LastReportedUtc - The UTC time when the load is reported.
26420	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
26421}
26422
26423// MonitoringPolicyDescription describes the parameters for monitoring an upgrade in Monitored mode.
26424type MonitoringPolicyDescription struct {
26425	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
26426	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
26427	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
26428	FailureAction FailureAction `json:"FailureAction,omitempty"`
26429	// 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.
26430	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
26431	// 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.
26432	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
26433	// 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.
26434	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
26435	// 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.
26436	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
26437	// 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.
26438	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
26439}
26440
26441// NameDescription describes a Service Fabric name.
26442type NameDescription struct {
26443	// Name - The Service Fabric name, including the 'fabric:' URI scheme.
26444	Name *string `json:"Name,omitempty"`
26445}
26446
26447// NamedPartitionInformation describes the partition information for the name as a string that is based on
26448// partition schemes.
26449type NamedPartitionInformation struct {
26450	// Name - Name of the partition.
26451	Name *string `json:"Name,omitempty"`
26452	// 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.
26453	ID *uuid.UUID `json:"Id,omitempty"`
26454	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
26455	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
26456}
26457
26458// MarshalJSON is the custom marshaler for NamedPartitionInformation.
26459func (npi NamedPartitionInformation) MarshalJSON() ([]byte, error) {
26460	npi.ServicePartitionKind = ServicePartitionKindNamed1
26461	objectMap := make(map[string]interface{})
26462	if npi.Name != nil {
26463		objectMap["Name"] = npi.Name
26464	}
26465	if npi.ID != nil {
26466		objectMap["Id"] = npi.ID
26467	}
26468	if npi.ServicePartitionKind != "" {
26469		objectMap["ServicePartitionKind"] = npi.ServicePartitionKind
26470	}
26471	return json.Marshal(objectMap)
26472}
26473
26474// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26475func (npi NamedPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
26476	return nil, false
26477}
26478
26479// AsNamedPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26480func (npi NamedPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
26481	return &npi, true
26482}
26483
26484// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26485func (npi NamedPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
26486	return nil, false
26487}
26488
26489// AsPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26490func (npi NamedPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
26491	return nil, false
26492}
26493
26494// AsBasicPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26495func (npi NamedPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
26496	return &npi, true
26497}
26498
26499// NamedPartitionSchemeDescription describes the named partition scheme of the service.
26500type NamedPartitionSchemeDescription struct {
26501	// Count - The number of partitions.
26502	Count *int32 `json:"Count,omitempty"`
26503	// Names - Array of size specified by the ‘Count’ parameter, for the names of the partitions.
26504	Names *[]string `json:"Names,omitempty"`
26505	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
26506	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
26507}
26508
26509// MarshalJSON is the custom marshaler for NamedPartitionSchemeDescription.
26510func (npsd NamedPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
26511	npsd.PartitionScheme = PartitionSchemeNamed1
26512	objectMap := make(map[string]interface{})
26513	if npsd.Count != nil {
26514		objectMap["Count"] = npsd.Count
26515	}
26516	if npsd.Names != nil {
26517		objectMap["Names"] = npsd.Names
26518	}
26519	if npsd.PartitionScheme != "" {
26520		objectMap["PartitionScheme"] = npsd.PartitionScheme
26521	}
26522	return json.Marshal(objectMap)
26523}
26524
26525// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26526func (npsd NamedPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
26527	return &npsd, true
26528}
26529
26530// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26531func (npsd NamedPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
26532	return nil, false
26533}
26534
26535// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26536func (npsd NamedPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
26537	return nil, false
26538}
26539
26540// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26541func (npsd NamedPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
26542	return nil, false
26543}
26544
26545// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26546func (npsd NamedPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
26547	return &npsd, true
26548}
26549
26550// NodeAbortedEvent node Aborted event.
26551type NodeAbortedEvent struct {
26552	// NodeInstance - Id of Node instance.
26553	NodeInstance *int64 `json:"NodeInstance,omitempty"`
26554	// NodeID - Id of Node.
26555	NodeID *string `json:"NodeId,omitempty"`
26556	// UpgradeDomain - Upgrade domain of Node.
26557	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
26558	// FaultDomain - Fault domain of Node.
26559	FaultDomain *string `json:"FaultDomain,omitempty"`
26560	// IPAddressOrFQDN - IP address or FQDN.
26561	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
26562	// Hostname - Name of Host.
26563	Hostname *string `json:"Hostname,omitempty"`
26564	// IsSeedNode - Indicates if it is seed node.
26565	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
26566	// NodeVersion - Version of Node.
26567	NodeVersion *string `json:"NodeVersion,omitempty"`
26568	// NodeName - The name of a Service Fabric node.
26569	NodeName *string `json:"NodeName,omitempty"`
26570	// EventInstanceID - The identifier for the FabricEvent instance.
26571	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
26572	// TimeStamp - The time event was logged.
26573	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
26574	// HasCorrelatedEvents - Shows there is existing related events available.
26575	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
26576	// 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'
26577	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
26578}
26579
26580// MarshalJSON is the custom marshaler for NodeAbortedEvent.
26581func (nae NodeAbortedEvent) MarshalJSON() ([]byte, error) {
26582	nae.Kind = KindNodeAborted
26583	objectMap := make(map[string]interface{})
26584	if nae.NodeInstance != nil {
26585		objectMap["NodeInstance"] = nae.NodeInstance
26586	}
26587	if nae.NodeID != nil {
26588		objectMap["NodeId"] = nae.NodeID
26589	}
26590	if nae.UpgradeDomain != nil {
26591		objectMap["UpgradeDomain"] = nae.UpgradeDomain
26592	}
26593	if nae.FaultDomain != nil {
26594		objectMap["FaultDomain"] = nae.FaultDomain
26595	}
26596	if nae.IPAddressOrFQDN != nil {
26597		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
26598	}
26599	if nae.Hostname != nil {
26600		objectMap["Hostname"] = nae.Hostname
26601	}
26602	if nae.IsSeedNode != nil {
26603		objectMap["IsSeedNode"] = nae.IsSeedNode
26604	}
26605	if nae.NodeVersion != nil {
26606		objectMap["NodeVersion"] = nae.NodeVersion
26607	}
26608	if nae.NodeName != nil {
26609		objectMap["NodeName"] = nae.NodeName
26610	}
26611	if nae.EventInstanceID != nil {
26612		objectMap["EventInstanceId"] = nae.EventInstanceID
26613	}
26614	if nae.TimeStamp != nil {
26615		objectMap["TimeStamp"] = nae.TimeStamp
26616	}
26617	if nae.HasCorrelatedEvents != nil {
26618		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
26619	}
26620	if nae.Kind != "" {
26621		objectMap["Kind"] = nae.Kind
26622	}
26623	return json.Marshal(objectMap)
26624}
26625
26626// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26627func (nae NodeAbortedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
26628	return nil, false
26629}
26630
26631// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26632func (nae NodeAbortedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
26633	return nil, false
26634}
26635
26636// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26637func (nae NodeAbortedEvent) AsClusterEvent() (*ClusterEvent, bool) {
26638	return nil, false
26639}
26640
26641// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26642func (nae NodeAbortedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
26643	return nil, false
26644}
26645
26646// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26647func (nae NodeAbortedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
26648	return nil, false
26649}
26650
26651// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26652func (nae NodeAbortedEvent) AsNodeEvent() (*NodeEvent, bool) {
26653	return nil, false
26654}
26655
26656// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26657func (nae NodeAbortedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
26658	return &nae, true
26659}
26660
26661// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26662func (nae NodeAbortedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
26663	return nil, false
26664}
26665
26666// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26667func (nae NodeAbortedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
26668	return nil, false
26669}
26670
26671// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26672func (nae NodeAbortedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
26673	return nil, false
26674}
26675
26676// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26677func (nae NodeAbortedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
26678	return nil, false
26679}
26680
26681// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26682func (nae NodeAbortedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
26683	return nil, false
26684}
26685
26686// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26687func (nae NodeAbortedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
26688	return nil, false
26689}
26690
26691// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26692func (nae NodeAbortedEvent) AsServiceEvent() (*ServiceEvent, bool) {
26693	return nil, false
26694}
26695
26696// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26697func (nae NodeAbortedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
26698	return nil, false
26699}
26700
26701// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26702func (nae NodeAbortedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
26703	return nil, false
26704}
26705
26706// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26707func (nae NodeAbortedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
26708	return nil, false
26709}
26710
26711// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26712func (nae NodeAbortedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
26713	return nil, false
26714}
26715
26716// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26717func (nae NodeAbortedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
26718	return nil, false
26719}
26720
26721// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26722func (nae NodeAbortedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
26723	return nil, false
26724}
26725
26726// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26727func (nae NodeAbortedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
26728	return nil, false
26729}
26730
26731// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26732func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
26733	return nil, false
26734}
26735
26736// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26737func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
26738	return nil, false
26739}
26740
26741// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26742func (nae NodeAbortedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
26743	return nil, false
26744}
26745
26746// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26747func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
26748	return nil, false
26749}
26750
26751// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26752func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
26753	return nil, false
26754}
26755
26756// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26757func (nae NodeAbortedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
26758	return nil, false
26759}
26760
26761// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26762func (nae NodeAbortedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
26763	return nil, false
26764}
26765
26766// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26767func (nae NodeAbortedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
26768	return &nae, true
26769}
26770
26771// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26772func (nae NodeAbortedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
26773	return nil, false
26774}
26775
26776// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26777func (nae NodeAbortedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
26778	return nil, false
26779}
26780
26781// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26782func (nae NodeAbortedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
26783	return nil, false
26784}
26785
26786// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26787func (nae NodeAbortedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
26788	return nil, false
26789}
26790
26791// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26792func (nae NodeAbortedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
26793	return nil, false
26794}
26795
26796// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26797func (nae NodeAbortedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
26798	return nil, false
26799}
26800
26801// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26802func (nae NodeAbortedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
26803	return nil, false
26804}
26805
26806// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26807func (nae NodeAbortedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
26808	return nil, false
26809}
26810
26811// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26812func (nae NodeAbortedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
26813	return nil, false
26814}
26815
26816// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26817func (nae NodeAbortedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
26818	return nil, false
26819}
26820
26821// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26822func (nae NodeAbortedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
26823	return nil, false
26824}
26825
26826// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26827func (nae NodeAbortedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
26828	return nil, false
26829}
26830
26831// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26832func (nae NodeAbortedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
26833	return nil, false
26834}
26835
26836// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26837func (nae NodeAbortedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
26838	return nil, false
26839}
26840
26841// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26842func (nae NodeAbortedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
26843	return nil, false
26844}
26845
26846// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26847func (nae NodeAbortedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
26848	return nil, false
26849}
26850
26851// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26852func (nae NodeAbortedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
26853	return nil, false
26854}
26855
26856// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26857func (nae NodeAbortedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
26858	return nil, false
26859}
26860
26861// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26862func (nae NodeAbortedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
26863	return nil, false
26864}
26865
26866// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26867func (nae NodeAbortedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
26868	return nil, false
26869}
26870
26871// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26872func (nae NodeAbortedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
26873	return nil, false
26874}
26875
26876// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26877func (nae NodeAbortedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
26878	return nil, false
26879}
26880
26881// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26882func (nae NodeAbortedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
26883	return nil, false
26884}
26885
26886// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26887func (nae NodeAbortedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
26888	return nil, false
26889}
26890
26891// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26892func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
26893	return nil, false
26894}
26895
26896// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26897func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
26898	return nil, false
26899}
26900
26901// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26902func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
26903	return nil, false
26904}
26905
26906// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26907func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
26908	return nil, false
26909}
26910
26911// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26912func (nae NodeAbortedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
26913	return nil, false
26914}
26915
26916// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26917func (nae NodeAbortedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
26918	return nil, false
26919}
26920
26921// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26922func (nae NodeAbortedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
26923	return nil, false
26924}
26925
26926// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26927func (nae NodeAbortedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
26928	return nil, false
26929}
26930
26931// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26932func (nae NodeAbortedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
26933	return nil, false
26934}
26935
26936// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26937func (nae NodeAbortedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
26938	return nil, false
26939}
26940
26941// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26942func (nae NodeAbortedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
26943	return nil, false
26944}
26945
26946// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26947func (nae NodeAbortedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
26948	return nil, false
26949}
26950
26951// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26952func (nae NodeAbortedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
26953	return nil, false
26954}
26955
26956// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26957func (nae NodeAbortedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
26958	return nil, false
26959}
26960
26961// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26962func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
26963	return nil, false
26964}
26965
26966// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26967func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
26968	return nil, false
26969}
26970
26971// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26972func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
26973	return nil, false
26974}
26975
26976// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26977func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
26978	return nil, false
26979}
26980
26981// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26982func (nae NodeAbortedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
26983	return nil, false
26984}
26985
26986// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26987func (nae NodeAbortedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
26988	return nil, false
26989}
26990
26991// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26992func (nae NodeAbortedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
26993	return nil, false
26994}
26995
26996// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
26997func (nae NodeAbortedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
26998	return nil, false
26999}
27000
27001// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27002func (nae NodeAbortedEvent) AsFabricEvent() (*FabricEvent, bool) {
27003	return nil, false
27004}
27005
27006// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27007func (nae NodeAbortedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27008	return &nae, true
27009}
27010
27011// NodeAbortingEvent node Aborting event.
27012type NodeAbortingEvent struct {
27013	// NodeInstance - Id of Node instance.
27014	NodeInstance *int64 `json:"NodeInstance,omitempty"`
27015	// NodeID - Id of Node.
27016	NodeID *string `json:"NodeId,omitempty"`
27017	// UpgradeDomain - Upgrade domain of Node.
27018	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
27019	// FaultDomain - Fault domain of Node.
27020	FaultDomain *string `json:"FaultDomain,omitempty"`
27021	// IPAddressOrFQDN - IP address or FQDN.
27022	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
27023	// Hostname - Name of Host.
27024	Hostname *string `json:"Hostname,omitempty"`
27025	// IsSeedNode - Indicates if it is seed node.
27026	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
27027	// NodeVersion - Version of Node.
27028	NodeVersion *string `json:"NodeVersion,omitempty"`
27029	// NodeName - The name of a Service Fabric node.
27030	NodeName *string `json:"NodeName,omitempty"`
27031	// EventInstanceID - The identifier for the FabricEvent instance.
27032	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27033	// TimeStamp - The time event was logged.
27034	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27035	// HasCorrelatedEvents - Shows there is existing related events available.
27036	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27037	// 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'
27038	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27039}
27040
27041// MarshalJSON is the custom marshaler for NodeAbortingEvent.
27042func (nae NodeAbortingEvent) MarshalJSON() ([]byte, error) {
27043	nae.Kind = KindNodeAborting
27044	objectMap := make(map[string]interface{})
27045	if nae.NodeInstance != nil {
27046		objectMap["NodeInstance"] = nae.NodeInstance
27047	}
27048	if nae.NodeID != nil {
27049		objectMap["NodeId"] = nae.NodeID
27050	}
27051	if nae.UpgradeDomain != nil {
27052		objectMap["UpgradeDomain"] = nae.UpgradeDomain
27053	}
27054	if nae.FaultDomain != nil {
27055		objectMap["FaultDomain"] = nae.FaultDomain
27056	}
27057	if nae.IPAddressOrFQDN != nil {
27058		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
27059	}
27060	if nae.Hostname != nil {
27061		objectMap["Hostname"] = nae.Hostname
27062	}
27063	if nae.IsSeedNode != nil {
27064		objectMap["IsSeedNode"] = nae.IsSeedNode
27065	}
27066	if nae.NodeVersion != nil {
27067		objectMap["NodeVersion"] = nae.NodeVersion
27068	}
27069	if nae.NodeName != nil {
27070		objectMap["NodeName"] = nae.NodeName
27071	}
27072	if nae.EventInstanceID != nil {
27073		objectMap["EventInstanceId"] = nae.EventInstanceID
27074	}
27075	if nae.TimeStamp != nil {
27076		objectMap["TimeStamp"] = nae.TimeStamp
27077	}
27078	if nae.HasCorrelatedEvents != nil {
27079		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
27080	}
27081	if nae.Kind != "" {
27082		objectMap["Kind"] = nae.Kind
27083	}
27084	return json.Marshal(objectMap)
27085}
27086
27087// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27088func (nae NodeAbortingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27089	return nil, false
27090}
27091
27092// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27093func (nae NodeAbortingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27094	return nil, false
27095}
27096
27097// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27098func (nae NodeAbortingEvent) AsClusterEvent() (*ClusterEvent, bool) {
27099	return nil, false
27100}
27101
27102// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27103func (nae NodeAbortingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27104	return nil, false
27105}
27106
27107// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27108func (nae NodeAbortingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27109	return nil, false
27110}
27111
27112// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27113func (nae NodeAbortingEvent) AsNodeEvent() (*NodeEvent, bool) {
27114	return nil, false
27115}
27116
27117// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27118func (nae NodeAbortingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27119	return &nae, true
27120}
27121
27122// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27123func (nae NodeAbortingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27124	return nil, false
27125}
27126
27127// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27128func (nae NodeAbortingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27129	return nil, false
27130}
27131
27132// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27133func (nae NodeAbortingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27134	return nil, false
27135}
27136
27137// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27138func (nae NodeAbortingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27139	return nil, false
27140}
27141
27142// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27143func (nae NodeAbortingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27144	return nil, false
27145}
27146
27147// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27148func (nae NodeAbortingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27149	return nil, false
27150}
27151
27152// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27153func (nae NodeAbortingEvent) AsServiceEvent() (*ServiceEvent, bool) {
27154	return nil, false
27155}
27156
27157// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27158func (nae NodeAbortingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27159	return nil, false
27160}
27161
27162// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27163func (nae NodeAbortingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27164	return nil, false
27165}
27166
27167// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27168func (nae NodeAbortingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27169	return nil, false
27170}
27171
27172// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27173func (nae NodeAbortingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27174	return nil, false
27175}
27176
27177// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27178func (nae NodeAbortingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27179	return nil, false
27180}
27181
27182// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27183func (nae NodeAbortingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27184	return nil, false
27185}
27186
27187// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27188func (nae NodeAbortingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27189	return nil, false
27190}
27191
27192// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27193func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27194	return nil, false
27195}
27196
27197// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27198func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27199	return nil, false
27200}
27201
27202// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27203func (nae NodeAbortingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27204	return nil, false
27205}
27206
27207// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27208func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27209	return nil, false
27210}
27211
27212// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27213func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27214	return nil, false
27215}
27216
27217// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27218func (nae NodeAbortingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27219	return nil, false
27220}
27221
27222// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27223func (nae NodeAbortingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27224	return nil, false
27225}
27226
27227// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27228func (nae NodeAbortingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
27229	return nil, false
27230}
27231
27232// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27233func (nae NodeAbortingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
27234	return &nae, true
27235}
27236
27237// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27238func (nae NodeAbortingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
27239	return nil, false
27240}
27241
27242// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27243func (nae NodeAbortingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
27244	return nil, false
27245}
27246
27247// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27248func (nae NodeAbortingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
27249	return nil, false
27250}
27251
27252// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27253func (nae NodeAbortingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
27254	return nil, false
27255}
27256
27257// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27258func (nae NodeAbortingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
27259	return nil, false
27260}
27261
27262// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27263func (nae NodeAbortingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
27264	return nil, false
27265}
27266
27267// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27268func (nae NodeAbortingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
27269	return nil, false
27270}
27271
27272// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27273func (nae NodeAbortingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
27274	return nil, false
27275}
27276
27277// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27278func (nae NodeAbortingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
27279	return nil, false
27280}
27281
27282// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27283func (nae NodeAbortingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
27284	return nil, false
27285}
27286
27287// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27288func (nae NodeAbortingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
27289	return nil, false
27290}
27291
27292// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27293func (nae NodeAbortingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
27294	return nil, false
27295}
27296
27297// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27298func (nae NodeAbortingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
27299	return nil, false
27300}
27301
27302// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27303func (nae NodeAbortingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
27304	return nil, false
27305}
27306
27307// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27308func (nae NodeAbortingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
27309	return nil, false
27310}
27311
27312// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27313func (nae NodeAbortingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
27314	return nil, false
27315}
27316
27317// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27318func (nae NodeAbortingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
27319	return nil, false
27320}
27321
27322// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27323func (nae NodeAbortingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
27324	return nil, false
27325}
27326
27327// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27328func (nae NodeAbortingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
27329	return nil, false
27330}
27331
27332// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27333func (nae NodeAbortingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
27334	return nil, false
27335}
27336
27337// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27338func (nae NodeAbortingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
27339	return nil, false
27340}
27341
27342// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27343func (nae NodeAbortingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
27344	return nil, false
27345}
27346
27347// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27348func (nae NodeAbortingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
27349	return nil, false
27350}
27351
27352// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27353func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
27354	return nil, false
27355}
27356
27357// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27358func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
27359	return nil, false
27360}
27361
27362// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27363func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
27364	return nil, false
27365}
27366
27367// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27368func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
27369	return nil, false
27370}
27371
27372// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27373func (nae NodeAbortingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
27374	return nil, false
27375}
27376
27377// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27378func (nae NodeAbortingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
27379	return nil, false
27380}
27381
27382// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27383func (nae NodeAbortingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
27384	return nil, false
27385}
27386
27387// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27388func (nae NodeAbortingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
27389	return nil, false
27390}
27391
27392// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27393func (nae NodeAbortingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
27394	return nil, false
27395}
27396
27397// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27398func (nae NodeAbortingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
27399	return nil, false
27400}
27401
27402// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27403func (nae NodeAbortingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27404	return nil, false
27405}
27406
27407// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27408func (nae NodeAbortingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27409	return nil, false
27410}
27411
27412// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27413func (nae NodeAbortingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27414	return nil, false
27415}
27416
27417// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27418func (nae NodeAbortingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27419	return nil, false
27420}
27421
27422// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27423func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27424	return nil, false
27425}
27426
27427// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27428func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27429	return nil, false
27430}
27431
27432// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27433func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27434	return nil, false
27435}
27436
27437// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27438func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27439	return nil, false
27440}
27441
27442// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27443func (nae NodeAbortingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27444	return nil, false
27445}
27446
27447// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27448func (nae NodeAbortingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27449	return nil, false
27450}
27451
27452// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27453func (nae NodeAbortingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27454	return nil, false
27455}
27456
27457// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27458func (nae NodeAbortingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27459	return nil, false
27460}
27461
27462// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27463func (nae NodeAbortingEvent) AsFabricEvent() (*FabricEvent, bool) {
27464	return nil, false
27465}
27466
27467// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27468func (nae NodeAbortingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27469	return &nae, true
27470}
27471
27472// NodeAddedEvent node Added event.
27473type NodeAddedEvent struct {
27474	// NodeID - Id of Node.
27475	NodeID *string `json:"NodeId,omitempty"`
27476	// NodeInstance - Id of Node instance.
27477	NodeInstance *int64 `json:"NodeInstance,omitempty"`
27478	// NodeType - Type of Node.
27479	NodeType *string `json:"NodeType,omitempty"`
27480	// FabricVersion - Fabric version.
27481	FabricVersion *string `json:"FabricVersion,omitempty"`
27482	// IPAddressOrFQDN - IP address or FQDN.
27483	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
27484	// NodeCapacities - Capacities.
27485	NodeCapacities *string `json:"NodeCapacities,omitempty"`
27486	// NodeName - The name of a Service Fabric node.
27487	NodeName *string `json:"NodeName,omitempty"`
27488	// EventInstanceID - The identifier for the FabricEvent instance.
27489	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27490	// TimeStamp - The time event was logged.
27491	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27492	// HasCorrelatedEvents - Shows there is existing related events available.
27493	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27494	// 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'
27495	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27496}
27497
27498// MarshalJSON is the custom marshaler for NodeAddedEvent.
27499func (nae NodeAddedEvent) MarshalJSON() ([]byte, error) {
27500	nae.Kind = KindNodeAdded
27501	objectMap := make(map[string]interface{})
27502	if nae.NodeID != nil {
27503		objectMap["NodeId"] = nae.NodeID
27504	}
27505	if nae.NodeInstance != nil {
27506		objectMap["NodeInstance"] = nae.NodeInstance
27507	}
27508	if nae.NodeType != nil {
27509		objectMap["NodeType"] = nae.NodeType
27510	}
27511	if nae.FabricVersion != nil {
27512		objectMap["FabricVersion"] = nae.FabricVersion
27513	}
27514	if nae.IPAddressOrFQDN != nil {
27515		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
27516	}
27517	if nae.NodeCapacities != nil {
27518		objectMap["NodeCapacities"] = nae.NodeCapacities
27519	}
27520	if nae.NodeName != nil {
27521		objectMap["NodeName"] = nae.NodeName
27522	}
27523	if nae.EventInstanceID != nil {
27524		objectMap["EventInstanceId"] = nae.EventInstanceID
27525	}
27526	if nae.TimeStamp != nil {
27527		objectMap["TimeStamp"] = nae.TimeStamp
27528	}
27529	if nae.HasCorrelatedEvents != nil {
27530		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
27531	}
27532	if nae.Kind != "" {
27533		objectMap["Kind"] = nae.Kind
27534	}
27535	return json.Marshal(objectMap)
27536}
27537
27538// AsApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27539func (nae NodeAddedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27540	return nil, false
27541}
27542
27543// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27544func (nae NodeAddedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27545	return nil, false
27546}
27547
27548// AsClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27549func (nae NodeAddedEvent) AsClusterEvent() (*ClusterEvent, bool) {
27550	return nil, false
27551}
27552
27553// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27554func (nae NodeAddedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27555	return nil, false
27556}
27557
27558// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27559func (nae NodeAddedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27560	return nil, false
27561}
27562
27563// AsNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27564func (nae NodeAddedEvent) AsNodeEvent() (*NodeEvent, bool) {
27565	return nil, false
27566}
27567
27568// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27569func (nae NodeAddedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27570	return &nae, true
27571}
27572
27573// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27574func (nae NodeAddedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27575	return nil, false
27576}
27577
27578// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27579func (nae NodeAddedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27580	return nil, false
27581}
27582
27583// AsPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27584func (nae NodeAddedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27585	return nil, false
27586}
27587
27588// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27589func (nae NodeAddedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27590	return nil, false
27591}
27592
27593// AsReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27594func (nae NodeAddedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27595	return nil, false
27596}
27597
27598// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27599func (nae NodeAddedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27600	return nil, false
27601}
27602
27603// AsServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27604func (nae NodeAddedEvent) AsServiceEvent() (*ServiceEvent, bool) {
27605	return nil, false
27606}
27607
27608// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27609func (nae NodeAddedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27610	return nil, false
27611}
27612
27613// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27614func (nae NodeAddedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27615	return nil, false
27616}
27617
27618// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27619func (nae NodeAddedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27620	return nil, false
27621}
27622
27623// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27624func (nae NodeAddedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27625	return nil, false
27626}
27627
27628// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27629func (nae NodeAddedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27630	return nil, false
27631}
27632
27633// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27634func (nae NodeAddedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27635	return nil, false
27636}
27637
27638// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27639func (nae NodeAddedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27640	return nil, false
27641}
27642
27643// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27644func (nae NodeAddedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27645	return nil, false
27646}
27647
27648// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27649func (nae NodeAddedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27650	return nil, false
27651}
27652
27653// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27654func (nae NodeAddedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27655	return nil, false
27656}
27657
27658// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27659func (nae NodeAddedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27660	return nil, false
27661}
27662
27663// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27664func (nae NodeAddedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27665	return nil, false
27666}
27667
27668// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27669func (nae NodeAddedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27670	return nil, false
27671}
27672
27673// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27674func (nae NodeAddedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27675	return nil, false
27676}
27677
27678// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27679func (nae NodeAddedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
27680	return nil, false
27681}
27682
27683// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27684func (nae NodeAddedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
27685	return nil, false
27686}
27687
27688// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27689func (nae NodeAddedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
27690	return &nae, true
27691}
27692
27693// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27694func (nae NodeAddedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
27695	return nil, false
27696}
27697
27698// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27699func (nae NodeAddedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
27700	return nil, false
27701}
27702
27703// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27704func (nae NodeAddedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
27705	return nil, false
27706}
27707
27708// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27709func (nae NodeAddedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
27710	return nil, false
27711}
27712
27713// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27714func (nae NodeAddedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
27715	return nil, false
27716}
27717
27718// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27719func (nae NodeAddedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
27720	return nil, false
27721}
27722
27723// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27724func (nae NodeAddedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
27725	return nil, false
27726}
27727
27728// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27729func (nae NodeAddedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
27730	return nil, false
27731}
27732
27733// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27734func (nae NodeAddedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
27735	return nil, false
27736}
27737
27738// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27739func (nae NodeAddedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
27740	return nil, false
27741}
27742
27743// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27744func (nae NodeAddedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
27745	return nil, false
27746}
27747
27748// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27749func (nae NodeAddedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
27750	return nil, false
27751}
27752
27753// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27754func (nae NodeAddedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
27755	return nil, false
27756}
27757
27758// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27759func (nae NodeAddedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
27760	return nil, false
27761}
27762
27763// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27764func (nae NodeAddedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
27765	return nil, false
27766}
27767
27768// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27769func (nae NodeAddedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
27770	return nil, false
27771}
27772
27773// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27774func (nae NodeAddedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
27775	return nil, false
27776}
27777
27778// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27779func (nae NodeAddedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
27780	return nil, false
27781}
27782
27783// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27784func (nae NodeAddedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
27785	return nil, false
27786}
27787
27788// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27789func (nae NodeAddedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
27790	return nil, false
27791}
27792
27793// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27794func (nae NodeAddedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
27795	return nil, false
27796}
27797
27798// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27799func (nae NodeAddedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
27800	return nil, false
27801}
27802
27803// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27804func (nae NodeAddedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
27805	return nil, false
27806}
27807
27808// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27809func (nae NodeAddedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
27810	return nil, false
27811}
27812
27813// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27814func (nae NodeAddedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
27815	return nil, false
27816}
27817
27818// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27819func (nae NodeAddedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
27820	return nil, false
27821}
27822
27823// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27824func (nae NodeAddedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
27825	return nil, false
27826}
27827
27828// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27829func (nae NodeAddedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
27830	return nil, false
27831}
27832
27833// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27834func (nae NodeAddedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
27835	return nil, false
27836}
27837
27838// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27839func (nae NodeAddedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
27840	return nil, false
27841}
27842
27843// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27844func (nae NodeAddedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
27845	return nil, false
27846}
27847
27848// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27849func (nae NodeAddedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
27850	return nil, false
27851}
27852
27853// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27854func (nae NodeAddedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27855	return nil, false
27856}
27857
27858// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27859func (nae NodeAddedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27860	return nil, false
27861}
27862
27863// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27864func (nae NodeAddedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27865	return nil, false
27866}
27867
27868// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27869func (nae NodeAddedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27870	return nil, false
27871}
27872
27873// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27874func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27875	return nil, false
27876}
27877
27878// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27879func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27880	return nil, false
27881}
27882
27883// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27884func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27885	return nil, false
27886}
27887
27888// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27889func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27890	return nil, false
27891}
27892
27893// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27894func (nae NodeAddedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27895	return nil, false
27896}
27897
27898// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27899func (nae NodeAddedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27900	return nil, false
27901}
27902
27903// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27904func (nae NodeAddedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27905	return nil, false
27906}
27907
27908// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27909func (nae NodeAddedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27910	return nil, false
27911}
27912
27913// AsFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27914func (nae NodeAddedEvent) AsFabricEvent() (*FabricEvent, bool) {
27915	return nil, false
27916}
27917
27918// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
27919func (nae NodeAddedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27920	return &nae, true
27921}
27922
27923// NodeCloseEvent node Close event.
27924type NodeCloseEvent struct {
27925	// NodeID - Id of Node.
27926	NodeID *string `json:"NodeId,omitempty"`
27927	// NodeInstance - Id of Node instance.
27928	NodeInstance *string `json:"NodeInstance,omitempty"`
27929	// Error - Describes error.
27930	Error *string `json:"Error,omitempty"`
27931	// NodeName - The name of a Service Fabric node.
27932	NodeName *string `json:"NodeName,omitempty"`
27933	// EventInstanceID - The identifier for the FabricEvent instance.
27934	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27935	// TimeStamp - The time event was logged.
27936	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27937	// HasCorrelatedEvents - Shows there is existing related events available.
27938	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27939	// 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'
27940	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27941}
27942
27943// MarshalJSON is the custom marshaler for NodeCloseEvent.
27944func (nce NodeCloseEvent) MarshalJSON() ([]byte, error) {
27945	nce.Kind = KindNodeClose
27946	objectMap := make(map[string]interface{})
27947	if nce.NodeID != nil {
27948		objectMap["NodeId"] = nce.NodeID
27949	}
27950	if nce.NodeInstance != nil {
27951		objectMap["NodeInstance"] = nce.NodeInstance
27952	}
27953	if nce.Error != nil {
27954		objectMap["Error"] = nce.Error
27955	}
27956	if nce.NodeName != nil {
27957		objectMap["NodeName"] = nce.NodeName
27958	}
27959	if nce.EventInstanceID != nil {
27960		objectMap["EventInstanceId"] = nce.EventInstanceID
27961	}
27962	if nce.TimeStamp != nil {
27963		objectMap["TimeStamp"] = nce.TimeStamp
27964	}
27965	if nce.HasCorrelatedEvents != nil {
27966		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
27967	}
27968	if nce.Kind != "" {
27969		objectMap["Kind"] = nce.Kind
27970	}
27971	return json.Marshal(objectMap)
27972}
27973
27974// AsApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
27975func (nce NodeCloseEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27976	return nil, false
27977}
27978
27979// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
27980func (nce NodeCloseEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27981	return nil, false
27982}
27983
27984// AsClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
27985func (nce NodeCloseEvent) AsClusterEvent() (*ClusterEvent, bool) {
27986	return nil, false
27987}
27988
27989// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
27990func (nce NodeCloseEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27991	return nil, false
27992}
27993
27994// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
27995func (nce NodeCloseEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27996	return nil, false
27997}
27998
27999// AsNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28000func (nce NodeCloseEvent) AsNodeEvent() (*NodeEvent, bool) {
28001	return nil, false
28002}
28003
28004// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28005func (nce NodeCloseEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28006	return &nce, true
28007}
28008
28009// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28010func (nce NodeCloseEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28011	return nil, false
28012}
28013
28014// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28015func (nce NodeCloseEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28016	return nil, false
28017}
28018
28019// AsPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28020func (nce NodeCloseEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28021	return nil, false
28022}
28023
28024// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28025func (nce NodeCloseEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28026	return nil, false
28027}
28028
28029// AsReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28030func (nce NodeCloseEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28031	return nil, false
28032}
28033
28034// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28035func (nce NodeCloseEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28036	return nil, false
28037}
28038
28039// AsServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28040func (nce NodeCloseEvent) AsServiceEvent() (*ServiceEvent, bool) {
28041	return nil, false
28042}
28043
28044// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28045func (nce NodeCloseEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28046	return nil, false
28047}
28048
28049// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28050func (nce NodeCloseEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28051	return nil, false
28052}
28053
28054// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28055func (nce NodeCloseEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28056	return nil, false
28057}
28058
28059// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28060func (nce NodeCloseEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28061	return nil, false
28062}
28063
28064// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28065func (nce NodeCloseEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28066	return nil, false
28067}
28068
28069// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28070func (nce NodeCloseEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28071	return nil, false
28072}
28073
28074// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28075func (nce NodeCloseEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28076	return nil, false
28077}
28078
28079// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28080func (nce NodeCloseEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28081	return nil, false
28082}
28083
28084// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28085func (nce NodeCloseEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28086	return nil, false
28087}
28088
28089// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28090func (nce NodeCloseEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28091	return nil, false
28092}
28093
28094// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28095func (nce NodeCloseEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28096	return nil, false
28097}
28098
28099// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28100func (nce NodeCloseEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
28101	return nil, false
28102}
28103
28104// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28105func (nce NodeCloseEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
28106	return nil, false
28107}
28108
28109// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28110func (nce NodeCloseEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
28111	return nil, false
28112}
28113
28114// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28115func (nce NodeCloseEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28116	return nil, false
28117}
28118
28119// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28120func (nce NodeCloseEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28121	return nil, false
28122}
28123
28124// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28125func (nce NodeCloseEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28126	return nil, false
28127}
28128
28129// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28130func (nce NodeCloseEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28131	return &nce, true
28132}
28133
28134// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28135func (nce NodeCloseEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28136	return nil, false
28137}
28138
28139// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28140func (nce NodeCloseEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28141	return nil, false
28142}
28143
28144// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28145func (nce NodeCloseEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28146	return nil, false
28147}
28148
28149// AsNodeDownEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28150func (nce NodeCloseEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28151	return nil, false
28152}
28153
28154// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28155func (nce NodeCloseEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28156	return nil, false
28157}
28158
28159// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28160func (nce NodeCloseEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28161	return nil, false
28162}
28163
28164// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28165func (nce NodeCloseEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28166	return nil, false
28167}
28168
28169// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28170func (nce NodeCloseEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28171	return nil, false
28172}
28173
28174// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28175func (nce NodeCloseEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28176	return nil, false
28177}
28178
28179// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28180func (nce NodeCloseEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28181	return nil, false
28182}
28183
28184// AsNodeUpEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28185func (nce NodeCloseEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28186	return nil, false
28187}
28188
28189// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28190func (nce NodeCloseEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28191	return nil, false
28192}
28193
28194// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28195func (nce NodeCloseEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28196	return nil, false
28197}
28198
28199// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28200func (nce NodeCloseEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28201	return nil, false
28202}
28203
28204// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28205func (nce NodeCloseEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28206	return nil, false
28207}
28208
28209// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28210func (nce NodeCloseEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28211	return nil, false
28212}
28213
28214// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28215func (nce NodeCloseEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28216	return nil, false
28217}
28218
28219// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28220func (nce NodeCloseEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28221	return nil, false
28222}
28223
28224// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28225func (nce NodeCloseEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28226	return nil, false
28227}
28228
28229// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28230func (nce NodeCloseEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28231	return nil, false
28232}
28233
28234// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28235func (nce NodeCloseEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28236	return nil, false
28237}
28238
28239// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28240func (nce NodeCloseEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28241	return nil, false
28242}
28243
28244// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28245func (nce NodeCloseEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28246	return nil, false
28247}
28248
28249// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28250func (nce NodeCloseEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
28251	return nil, false
28252}
28253
28254// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28255func (nce NodeCloseEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
28256	return nil, false
28257}
28258
28259// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28260func (nce NodeCloseEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
28261	return nil, false
28262}
28263
28264// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28265func (nce NodeCloseEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
28266	return nil, false
28267}
28268
28269// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28270func (nce NodeCloseEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
28271	return nil, false
28272}
28273
28274// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28275func (nce NodeCloseEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
28276	return nil, false
28277}
28278
28279// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28280func (nce NodeCloseEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
28281	return nil, false
28282}
28283
28284// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28285func (nce NodeCloseEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
28286	return nil, false
28287}
28288
28289// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28290func (nce NodeCloseEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
28291	return nil, false
28292}
28293
28294// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28295func (nce NodeCloseEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
28296	return nil, false
28297}
28298
28299// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28300func (nce NodeCloseEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
28301	return nil, false
28302}
28303
28304// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28305func (nce NodeCloseEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
28306	return nil, false
28307}
28308
28309// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28310func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
28311	return nil, false
28312}
28313
28314// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28315func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
28316	return nil, false
28317}
28318
28319// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28320func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
28321	return nil, false
28322}
28323
28324// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28325func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
28326	return nil, false
28327}
28328
28329// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28330func (nce NodeCloseEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
28331	return nil, false
28332}
28333
28334// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28335func (nce NodeCloseEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
28336	return nil, false
28337}
28338
28339// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28340func (nce NodeCloseEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
28341	return nil, false
28342}
28343
28344// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28345func (nce NodeCloseEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
28346	return nil, false
28347}
28348
28349// AsFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28350func (nce NodeCloseEvent) AsFabricEvent() (*FabricEvent, bool) {
28351	return nil, false
28352}
28353
28354// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28355func (nce NodeCloseEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28356	return &nce, true
28357}
28358
28359// NodeClosingEvent node Closing event.
28360type NodeClosingEvent struct {
28361	// NodeInstance - Id of Node instance.
28362	NodeInstance *int64 `json:"NodeInstance,omitempty"`
28363	// NodeID - Id of Node.
28364	NodeID *string `json:"NodeId,omitempty"`
28365	// UpgradeDomain - Upgrade domain of Node.
28366	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
28367	// FaultDomain - Fault domain of Node.
28368	FaultDomain *string `json:"FaultDomain,omitempty"`
28369	// IPAddressOrFQDN - IP address or FQDN.
28370	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
28371	// Hostname - Name of Host.
28372	Hostname *string `json:"Hostname,omitempty"`
28373	// IsSeedNode - Indicates if it is seed node.
28374	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
28375	// NodeVersion - Version of Node.
28376	NodeVersion *string `json:"NodeVersion,omitempty"`
28377	// NodeName - The name of a Service Fabric node.
28378	NodeName *string `json:"NodeName,omitempty"`
28379	// EventInstanceID - The identifier for the FabricEvent instance.
28380	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28381	// TimeStamp - The time event was logged.
28382	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28383	// HasCorrelatedEvents - Shows there is existing related events available.
28384	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28385	// 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'
28386	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28387}
28388
28389// MarshalJSON is the custom marshaler for NodeClosingEvent.
28390func (nce NodeClosingEvent) MarshalJSON() ([]byte, error) {
28391	nce.Kind = KindNodeClosing
28392	objectMap := make(map[string]interface{})
28393	if nce.NodeInstance != nil {
28394		objectMap["NodeInstance"] = nce.NodeInstance
28395	}
28396	if nce.NodeID != nil {
28397		objectMap["NodeId"] = nce.NodeID
28398	}
28399	if nce.UpgradeDomain != nil {
28400		objectMap["UpgradeDomain"] = nce.UpgradeDomain
28401	}
28402	if nce.FaultDomain != nil {
28403		objectMap["FaultDomain"] = nce.FaultDomain
28404	}
28405	if nce.IPAddressOrFQDN != nil {
28406		objectMap["IpAddressOrFQDN"] = nce.IPAddressOrFQDN
28407	}
28408	if nce.Hostname != nil {
28409		objectMap["Hostname"] = nce.Hostname
28410	}
28411	if nce.IsSeedNode != nil {
28412		objectMap["IsSeedNode"] = nce.IsSeedNode
28413	}
28414	if nce.NodeVersion != nil {
28415		objectMap["NodeVersion"] = nce.NodeVersion
28416	}
28417	if nce.NodeName != nil {
28418		objectMap["NodeName"] = nce.NodeName
28419	}
28420	if nce.EventInstanceID != nil {
28421		objectMap["EventInstanceId"] = nce.EventInstanceID
28422	}
28423	if nce.TimeStamp != nil {
28424		objectMap["TimeStamp"] = nce.TimeStamp
28425	}
28426	if nce.HasCorrelatedEvents != nil {
28427		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
28428	}
28429	if nce.Kind != "" {
28430		objectMap["Kind"] = nce.Kind
28431	}
28432	return json.Marshal(objectMap)
28433}
28434
28435// AsApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28436func (nce NodeClosingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28437	return nil, false
28438}
28439
28440// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28441func (nce NodeClosingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28442	return nil, false
28443}
28444
28445// AsClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28446func (nce NodeClosingEvent) AsClusterEvent() (*ClusterEvent, bool) {
28447	return nil, false
28448}
28449
28450// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28451func (nce NodeClosingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28452	return nil, false
28453}
28454
28455// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28456func (nce NodeClosingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28457	return nil, false
28458}
28459
28460// AsNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28461func (nce NodeClosingEvent) AsNodeEvent() (*NodeEvent, bool) {
28462	return nil, false
28463}
28464
28465// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28466func (nce NodeClosingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28467	return &nce, true
28468}
28469
28470// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28471func (nce NodeClosingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28472	return nil, false
28473}
28474
28475// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28476func (nce NodeClosingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28477	return nil, false
28478}
28479
28480// AsPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28481func (nce NodeClosingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28482	return nil, false
28483}
28484
28485// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28486func (nce NodeClosingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28487	return nil, false
28488}
28489
28490// AsReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28491func (nce NodeClosingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28492	return nil, false
28493}
28494
28495// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28496func (nce NodeClosingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28497	return nil, false
28498}
28499
28500// AsServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28501func (nce NodeClosingEvent) AsServiceEvent() (*ServiceEvent, bool) {
28502	return nil, false
28503}
28504
28505// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28506func (nce NodeClosingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28507	return nil, false
28508}
28509
28510// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28511func (nce NodeClosingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28512	return nil, false
28513}
28514
28515// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28516func (nce NodeClosingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28517	return nil, false
28518}
28519
28520// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28521func (nce NodeClosingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28522	return nil, false
28523}
28524
28525// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28526func (nce NodeClosingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28527	return nil, false
28528}
28529
28530// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28531func (nce NodeClosingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28532	return nil, false
28533}
28534
28535// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28536func (nce NodeClosingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28537	return nil, false
28538}
28539
28540// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28541func (nce NodeClosingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28542	return nil, false
28543}
28544
28545// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28546func (nce NodeClosingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28547	return nil, false
28548}
28549
28550// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28551func (nce NodeClosingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28552	return nil, false
28553}
28554
28555// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28556func (nce NodeClosingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28557	return nil, false
28558}
28559
28560// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28561func (nce NodeClosingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
28562	return nil, false
28563}
28564
28565// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28566func (nce NodeClosingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
28567	return nil, false
28568}
28569
28570// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28571func (nce NodeClosingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
28572	return nil, false
28573}
28574
28575// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28576func (nce NodeClosingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28577	return nil, false
28578}
28579
28580// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28581func (nce NodeClosingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28582	return nil, false
28583}
28584
28585// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28586func (nce NodeClosingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28587	return nil, false
28588}
28589
28590// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28591func (nce NodeClosingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28592	return nil, false
28593}
28594
28595// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28596func (nce NodeClosingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28597	return &nce, true
28598}
28599
28600// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28601func (nce NodeClosingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28602	return nil, false
28603}
28604
28605// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28606func (nce NodeClosingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28607	return nil, false
28608}
28609
28610// AsNodeDownEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28611func (nce NodeClosingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28612	return nil, false
28613}
28614
28615// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28616func (nce NodeClosingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28617	return nil, false
28618}
28619
28620// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28621func (nce NodeClosingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28622	return nil, false
28623}
28624
28625// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28626func (nce NodeClosingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28627	return nil, false
28628}
28629
28630// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28631func (nce NodeClosingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28632	return nil, false
28633}
28634
28635// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28636func (nce NodeClosingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28637	return nil, false
28638}
28639
28640// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28641func (nce NodeClosingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28642	return nil, false
28643}
28644
28645// AsNodeUpEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28646func (nce NodeClosingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28647	return nil, false
28648}
28649
28650// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28651func (nce NodeClosingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28652	return nil, false
28653}
28654
28655// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28656func (nce NodeClosingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28657	return nil, false
28658}
28659
28660// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28661func (nce NodeClosingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28662	return nil, false
28663}
28664
28665// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28666func (nce NodeClosingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28667	return nil, false
28668}
28669
28670// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28671func (nce NodeClosingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28672	return nil, false
28673}
28674
28675// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28676func (nce NodeClosingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28677	return nil, false
28678}
28679
28680// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28681func (nce NodeClosingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28682	return nil, false
28683}
28684
28685// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28686func (nce NodeClosingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28687	return nil, false
28688}
28689
28690// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28691func (nce NodeClosingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28692	return nil, false
28693}
28694
28695// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28696func (nce NodeClosingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28697	return nil, false
28698}
28699
28700// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28701func (nce NodeClosingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28702	return nil, false
28703}
28704
28705// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28706func (nce NodeClosingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28707	return nil, false
28708}
28709
28710// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28711func (nce NodeClosingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
28712	return nil, false
28713}
28714
28715// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28716func (nce NodeClosingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
28717	return nil, false
28718}
28719
28720// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28721func (nce NodeClosingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
28722	return nil, false
28723}
28724
28725// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28726func (nce NodeClosingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
28727	return nil, false
28728}
28729
28730// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28731func (nce NodeClosingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
28732	return nil, false
28733}
28734
28735// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28736func (nce NodeClosingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
28737	return nil, false
28738}
28739
28740// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28741func (nce NodeClosingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
28742	return nil, false
28743}
28744
28745// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28746func (nce NodeClosingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
28747	return nil, false
28748}
28749
28750// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28751func (nce NodeClosingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
28752	return nil, false
28753}
28754
28755// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28756func (nce NodeClosingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
28757	return nil, false
28758}
28759
28760// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28761func (nce NodeClosingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
28762	return nil, false
28763}
28764
28765// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28766func (nce NodeClosingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
28767	return nil, false
28768}
28769
28770// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28771func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
28772	return nil, false
28773}
28774
28775// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28776func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
28777	return nil, false
28778}
28779
28780// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28781func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
28782	return nil, false
28783}
28784
28785// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28786func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
28787	return nil, false
28788}
28789
28790// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28791func (nce NodeClosingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
28792	return nil, false
28793}
28794
28795// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28796func (nce NodeClosingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
28797	return nil, false
28798}
28799
28800// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28801func (nce NodeClosingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
28802	return nil, false
28803}
28804
28805// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28806func (nce NodeClosingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
28807	return nil, false
28808}
28809
28810// AsFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28811func (nce NodeClosingEvent) AsFabricEvent() (*FabricEvent, bool) {
28812	return nil, false
28813}
28814
28815// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28816func (nce NodeClosingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28817	return &nce, true
28818}
28819
28820// NodeDeactivateCompleteEvent node Deactivate Complete event.
28821type NodeDeactivateCompleteEvent struct {
28822	// NodeInstance - Id of Node instance.
28823	NodeInstance *int64 `json:"NodeInstance,omitempty"`
28824	// EffectiveDeactivateIntent - Describes deactivate intent.
28825	EffectiveDeactivateIntent *string `json:"EffectiveDeactivateIntent,omitempty"`
28826	// BatchIdsWithDeactivateIntent - Batch Ids.
28827	BatchIdsWithDeactivateIntent *string `json:"BatchIdsWithDeactivateIntent,omitempty"`
28828	// StartTime - Start time.
28829	StartTime *date.Time `json:"StartTime,omitempty"`
28830	// NodeName - The name of a Service Fabric node.
28831	NodeName *string `json:"NodeName,omitempty"`
28832	// EventInstanceID - The identifier for the FabricEvent instance.
28833	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28834	// TimeStamp - The time event was logged.
28835	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28836	// HasCorrelatedEvents - Shows there is existing related events available.
28837	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28838	// 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'
28839	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28840}
28841
28842// MarshalJSON is the custom marshaler for NodeDeactivateCompleteEvent.
28843func (ndce NodeDeactivateCompleteEvent) MarshalJSON() ([]byte, error) {
28844	ndce.Kind = KindNodeDeactivateComplete
28845	objectMap := make(map[string]interface{})
28846	if ndce.NodeInstance != nil {
28847		objectMap["NodeInstance"] = ndce.NodeInstance
28848	}
28849	if ndce.EffectiveDeactivateIntent != nil {
28850		objectMap["EffectiveDeactivateIntent"] = ndce.EffectiveDeactivateIntent
28851	}
28852	if ndce.BatchIdsWithDeactivateIntent != nil {
28853		objectMap["BatchIdsWithDeactivateIntent"] = ndce.BatchIdsWithDeactivateIntent
28854	}
28855	if ndce.StartTime != nil {
28856		objectMap["StartTime"] = ndce.StartTime
28857	}
28858	if ndce.NodeName != nil {
28859		objectMap["NodeName"] = ndce.NodeName
28860	}
28861	if ndce.EventInstanceID != nil {
28862		objectMap["EventInstanceId"] = ndce.EventInstanceID
28863	}
28864	if ndce.TimeStamp != nil {
28865		objectMap["TimeStamp"] = ndce.TimeStamp
28866	}
28867	if ndce.HasCorrelatedEvents != nil {
28868		objectMap["HasCorrelatedEvents"] = ndce.HasCorrelatedEvents
28869	}
28870	if ndce.Kind != "" {
28871		objectMap["Kind"] = ndce.Kind
28872	}
28873	return json.Marshal(objectMap)
28874}
28875
28876// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28877func (ndce NodeDeactivateCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28878	return nil, false
28879}
28880
28881// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28882func (ndce NodeDeactivateCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28883	return nil, false
28884}
28885
28886// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28887func (ndce NodeDeactivateCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
28888	return nil, false
28889}
28890
28891// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28892func (ndce NodeDeactivateCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28893	return nil, false
28894}
28895
28896// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28897func (ndce NodeDeactivateCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28898	return nil, false
28899}
28900
28901// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28902func (ndce NodeDeactivateCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
28903	return nil, false
28904}
28905
28906// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28907func (ndce NodeDeactivateCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28908	return &ndce, true
28909}
28910
28911// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28912func (ndce NodeDeactivateCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28913	return nil, false
28914}
28915
28916// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28917func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28918	return nil, false
28919}
28920
28921// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28922func (ndce NodeDeactivateCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28923	return nil, false
28924}
28925
28926// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28927func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28928	return nil, false
28929}
28930
28931// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28932func (ndce NodeDeactivateCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28933	return nil, false
28934}
28935
28936// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28937func (ndce NodeDeactivateCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28938	return nil, false
28939}
28940
28941// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28942func (ndce NodeDeactivateCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
28943	return nil, false
28944}
28945
28946// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28947func (ndce NodeDeactivateCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28948	return nil, false
28949}
28950
28951// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28952func (ndce NodeDeactivateCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28953	return nil, false
28954}
28955
28956// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28957func (ndce NodeDeactivateCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28958	return nil, false
28959}
28960
28961// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28962func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28963	return nil, false
28964}
28965
28966// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28967func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28968	return nil, false
28969}
28970
28971// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28972func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28973	return nil, false
28974}
28975
28976// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28977func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28978	return nil, false
28979}
28980
28981// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28982func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28983	return nil, false
28984}
28985
28986// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28987func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28988	return nil, false
28989}
28990
28991// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28992func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28993	return nil, false
28994}
28995
28996// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
28997func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28998	return nil, false
28999}
29000
29001// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29002func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29003	return nil, false
29004}
29005
29006// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29007func (ndce NodeDeactivateCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29008	return nil, false
29009}
29010
29011// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29012func (ndce NodeDeactivateCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29013	return nil, false
29014}
29015
29016// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29017func (ndce NodeDeactivateCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29018	return nil, false
29019}
29020
29021// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29022func (ndce NodeDeactivateCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29023	return nil, false
29024}
29025
29026// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29027func (ndce NodeDeactivateCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29028	return nil, false
29029}
29030
29031// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29032func (ndce NodeDeactivateCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29033	return nil, false
29034}
29035
29036// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29037func (ndce NodeDeactivateCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29038	return nil, false
29039}
29040
29041// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29042func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29043	return &ndce, true
29044}
29045
29046// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29047func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29048	return nil, false
29049}
29050
29051// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29052func (ndce NodeDeactivateCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29053	return nil, false
29054}
29055
29056// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29057func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29058	return nil, false
29059}
29060
29061// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29062func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29063	return nil, false
29064}
29065
29066// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29067func (ndce NodeDeactivateCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29068	return nil, false
29069}
29070
29071// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29072func (ndce NodeDeactivateCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29073	return nil, false
29074}
29075
29076// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29077func (ndce NodeDeactivateCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29078	return nil, false
29079}
29080
29081// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29082func (ndce NodeDeactivateCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29083	return nil, false
29084}
29085
29086// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29087func (ndce NodeDeactivateCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29088	return nil, false
29089}
29090
29091// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29092func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29093	return nil, false
29094}
29095
29096// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29097func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29098	return nil, false
29099}
29100
29101// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29102func (ndce NodeDeactivateCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29103	return nil, false
29104}
29105
29106// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29107func (ndce NodeDeactivateCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
29108	return nil, false
29109}
29110
29111// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29112func (ndce NodeDeactivateCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
29113	return nil, false
29114}
29115
29116// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29117func (ndce NodeDeactivateCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
29118	return nil, false
29119}
29120
29121// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29122func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
29123	return nil, false
29124}
29125
29126// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29127func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
29128	return nil, false
29129}
29130
29131// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29132func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
29133	return nil, false
29134}
29135
29136// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29137func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
29138	return nil, false
29139}
29140
29141// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29142func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
29143	return nil, false
29144}
29145
29146// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29147func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
29148	return nil, false
29149}
29150
29151// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29152func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29153	return nil, false
29154}
29155
29156// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29157func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29158	return nil, false
29159}
29160
29161// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29162func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29163	return nil, false
29164}
29165
29166// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29167func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29168	return nil, false
29169}
29170
29171// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29172func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29173	return nil, false
29174}
29175
29176// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29177func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29178	return nil, false
29179}
29180
29181// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29182func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29183	return nil, false
29184}
29185
29186// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29187func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29188	return nil, false
29189}
29190
29191// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29192func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29193	return nil, false
29194}
29195
29196// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29197func (ndce NodeDeactivateCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29198	return nil, false
29199}
29200
29201// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29202func (ndce NodeDeactivateCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29203	return nil, false
29204}
29205
29206// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29207func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29208	return nil, false
29209}
29210
29211// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29212func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29213	return nil, false
29214}
29215
29216// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29217func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29218	return nil, false
29219}
29220
29221// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29222func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29223	return nil, false
29224}
29225
29226// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29227func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29228	return nil, false
29229}
29230
29231// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29232func (ndce NodeDeactivateCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29233	return nil, false
29234}
29235
29236// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29237func (ndce NodeDeactivateCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29238	return nil, false
29239}
29240
29241// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29242func (ndce NodeDeactivateCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29243	return nil, false
29244}
29245
29246// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29247func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29248	return nil, false
29249}
29250
29251// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29252func (ndce NodeDeactivateCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
29253	return nil, false
29254}
29255
29256// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29257func (ndce NodeDeactivateCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29258	return &ndce, true
29259}
29260
29261// NodeDeactivateStartEvent node Deactivate Start event.
29262type NodeDeactivateStartEvent struct {
29263	// NodeInstance - Id of Node instance.
29264	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29265	// BatchID - Batch Id.
29266	BatchID *string `json:"BatchId,omitempty"`
29267	// DeactivateIntent - Describes deactivate intent.
29268	DeactivateIntent *string `json:"DeactivateIntent,omitempty"`
29269	// NodeName - The name of a Service Fabric node.
29270	NodeName *string `json:"NodeName,omitempty"`
29271	// EventInstanceID - The identifier for the FabricEvent instance.
29272	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29273	// TimeStamp - The time event was logged.
29274	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29275	// HasCorrelatedEvents - Shows there is existing related events available.
29276	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29277	// 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'
29278	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29279}
29280
29281// MarshalJSON is the custom marshaler for NodeDeactivateStartEvent.
29282func (ndse NodeDeactivateStartEvent) MarshalJSON() ([]byte, error) {
29283	ndse.Kind = KindNodeDeactivateStart
29284	objectMap := make(map[string]interface{})
29285	if ndse.NodeInstance != nil {
29286		objectMap["NodeInstance"] = ndse.NodeInstance
29287	}
29288	if ndse.BatchID != nil {
29289		objectMap["BatchId"] = ndse.BatchID
29290	}
29291	if ndse.DeactivateIntent != nil {
29292		objectMap["DeactivateIntent"] = ndse.DeactivateIntent
29293	}
29294	if ndse.NodeName != nil {
29295		objectMap["NodeName"] = ndse.NodeName
29296	}
29297	if ndse.EventInstanceID != nil {
29298		objectMap["EventInstanceId"] = ndse.EventInstanceID
29299	}
29300	if ndse.TimeStamp != nil {
29301		objectMap["TimeStamp"] = ndse.TimeStamp
29302	}
29303	if ndse.HasCorrelatedEvents != nil {
29304		objectMap["HasCorrelatedEvents"] = ndse.HasCorrelatedEvents
29305	}
29306	if ndse.Kind != "" {
29307		objectMap["Kind"] = ndse.Kind
29308	}
29309	return json.Marshal(objectMap)
29310}
29311
29312// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29313func (ndse NodeDeactivateStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29314	return nil, false
29315}
29316
29317// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29318func (ndse NodeDeactivateStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29319	return nil, false
29320}
29321
29322// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29323func (ndse NodeDeactivateStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
29324	return nil, false
29325}
29326
29327// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29328func (ndse NodeDeactivateStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29329	return nil, false
29330}
29331
29332// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29333func (ndse NodeDeactivateStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29334	return nil, false
29335}
29336
29337// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29338func (ndse NodeDeactivateStartEvent) AsNodeEvent() (*NodeEvent, bool) {
29339	return nil, false
29340}
29341
29342// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29343func (ndse NodeDeactivateStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29344	return &ndse, true
29345}
29346
29347// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29348func (ndse NodeDeactivateStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29349	return nil, false
29350}
29351
29352// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29353func (ndse NodeDeactivateStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29354	return nil, false
29355}
29356
29357// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29358func (ndse NodeDeactivateStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29359	return nil, false
29360}
29361
29362// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29363func (ndse NodeDeactivateStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29364	return nil, false
29365}
29366
29367// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29368func (ndse NodeDeactivateStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29369	return nil, false
29370}
29371
29372// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29373func (ndse NodeDeactivateStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29374	return nil, false
29375}
29376
29377// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29378func (ndse NodeDeactivateStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
29379	return nil, false
29380}
29381
29382// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29383func (ndse NodeDeactivateStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29384	return nil, false
29385}
29386
29387// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29388func (ndse NodeDeactivateStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29389	return nil, false
29390}
29391
29392// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29393func (ndse NodeDeactivateStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29394	return nil, false
29395}
29396
29397// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29398func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29399	return nil, false
29400}
29401
29402// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29403func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29404	return nil, false
29405}
29406
29407// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29408func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29409	return nil, false
29410}
29411
29412// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29413func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29414	return nil, false
29415}
29416
29417// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29418func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29419	return nil, false
29420}
29421
29422// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29423func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29424	return nil, false
29425}
29426
29427// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29428func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29429	return nil, false
29430}
29431
29432// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29433func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29434	return nil, false
29435}
29436
29437// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29438func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29439	return nil, false
29440}
29441
29442// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29443func (ndse NodeDeactivateStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29444	return nil, false
29445}
29446
29447// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29448func (ndse NodeDeactivateStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29449	return nil, false
29450}
29451
29452// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29453func (ndse NodeDeactivateStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29454	return nil, false
29455}
29456
29457// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29458func (ndse NodeDeactivateStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29459	return nil, false
29460}
29461
29462// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29463func (ndse NodeDeactivateStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29464	return nil, false
29465}
29466
29467// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29468func (ndse NodeDeactivateStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29469	return nil, false
29470}
29471
29472// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29473func (ndse NodeDeactivateStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29474	return nil, false
29475}
29476
29477// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29478func (ndse NodeDeactivateStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29479	return nil, false
29480}
29481
29482// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29483func (ndse NodeDeactivateStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29484	return &ndse, true
29485}
29486
29487// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29488func (ndse NodeDeactivateStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29489	return nil, false
29490}
29491
29492// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29493func (ndse NodeDeactivateStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29494	return nil, false
29495}
29496
29497// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29498func (ndse NodeDeactivateStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29499	return nil, false
29500}
29501
29502// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29503func (ndse NodeDeactivateStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29504	return nil, false
29505}
29506
29507// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29508func (ndse NodeDeactivateStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29509	return nil, false
29510}
29511
29512// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29513func (ndse NodeDeactivateStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29514	return nil, false
29515}
29516
29517// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29518func (ndse NodeDeactivateStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29519	return nil, false
29520}
29521
29522// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29523func (ndse NodeDeactivateStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29524	return nil, false
29525}
29526
29527// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29528func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29529	return nil, false
29530}
29531
29532// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29533func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29534	return nil, false
29535}
29536
29537// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29538func (ndse NodeDeactivateStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29539	return nil, false
29540}
29541
29542// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29543func (ndse NodeDeactivateStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
29544	return nil, false
29545}
29546
29547// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29548func (ndse NodeDeactivateStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
29549	return nil, false
29550}
29551
29552// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29553func (ndse NodeDeactivateStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
29554	return nil, false
29555}
29556
29557// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29558func (ndse NodeDeactivateStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
29559	return nil, false
29560}
29561
29562// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29563func (ndse NodeDeactivateStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
29564	return nil, false
29565}
29566
29567// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29568func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
29569	return nil, false
29570}
29571
29572// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29573func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
29574	return nil, false
29575}
29576
29577// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29578func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
29579	return nil, false
29580}
29581
29582// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29583func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
29584	return nil, false
29585}
29586
29587// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29588func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29589	return nil, false
29590}
29591
29592// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29593func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29594	return nil, false
29595}
29596
29597// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29598func (ndse NodeDeactivateStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29599	return nil, false
29600}
29601
29602// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29603func (ndse NodeDeactivateStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29604	return nil, false
29605}
29606
29607// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29608func (ndse NodeDeactivateStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29609	return nil, false
29610}
29611
29612// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29613func (ndse NodeDeactivateStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29614	return nil, false
29615}
29616
29617// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29618func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29619	return nil, false
29620}
29621
29622// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29623func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29624	return nil, false
29625}
29626
29627// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29628func (ndse NodeDeactivateStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29629	return nil, false
29630}
29631
29632// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29633func (ndse NodeDeactivateStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29634	return nil, false
29635}
29636
29637// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29638func (ndse NodeDeactivateStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29639	return nil, false
29640}
29641
29642// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29643func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29644	return nil, false
29645}
29646
29647// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29648func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29649	return nil, false
29650}
29651
29652// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29653func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29654	return nil, false
29655}
29656
29657// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29658func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29659	return nil, false
29660}
29661
29662// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29663func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29664	return nil, false
29665}
29666
29667// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29668func (ndse NodeDeactivateStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29669	return nil, false
29670}
29671
29672// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29673func (ndse NodeDeactivateStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29674	return nil, false
29675}
29676
29677// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29678func (ndse NodeDeactivateStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29679	return nil, false
29680}
29681
29682// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29683func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29684	return nil, false
29685}
29686
29687// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29688func (ndse NodeDeactivateStartEvent) AsFabricEvent() (*FabricEvent, bool) {
29689	return nil, false
29690}
29691
29692// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29693func (ndse NodeDeactivateStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29694	return &ndse, true
29695}
29696
29697// NodeDeactivationInfo information about the node deactivation. This information is valid for a node that is
29698// undergoing deactivation or has already been deactivated.
29699type NodeDeactivationInfo struct {
29700	// 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'
29701	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
29702	// NodeDeactivationStatus - The status of node deactivation operation. Following are the possible values. Possible values include: 'NodeDeactivationStatusNone', 'NodeDeactivationStatusSafetyCheckInProgress', 'NodeDeactivationStatusSafetyCheckComplete', 'NodeDeactivationStatusCompleted'
29703	NodeDeactivationStatus NodeDeactivationStatus `json:"NodeDeactivationStatus,omitempty"`
29704	// NodeDeactivationTask - List of tasks representing the deactivation operation on the node.
29705	NodeDeactivationTask *[]NodeDeactivationTask `json:"NodeDeactivationTask,omitempty"`
29706	// PendingSafetyChecks - List of pending safety checks
29707	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
29708}
29709
29710// NodeDeactivationTask the task representing the deactivation operation on the node.
29711type NodeDeactivationTask struct {
29712	// NodeDeactivationTaskID - Identity of the task related to deactivation operation on the node.
29713	NodeDeactivationTaskID *NodeDeactivationTaskID `json:"NodeDeactivationTaskId,omitempty"`
29714	// 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'
29715	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
29716}
29717
29718// NodeDeactivationTaskID identity of the task related to deactivation operation on the node.
29719type NodeDeactivationTaskID struct {
29720	// ID - Value of the task id.
29721	ID *string `json:"Id,omitempty"`
29722	// NodeDeactivationTaskType - The type of the task that performed the node deactivation. Following are the possible values. Possible values include: 'NodeDeactivationTaskTypeInvalid', 'NodeDeactivationTaskTypeInfrastructure', 'NodeDeactivationTaskTypeRepair', 'NodeDeactivationTaskTypeClient'
29723	NodeDeactivationTaskType NodeDeactivationTaskType `json:"NodeDeactivationTaskType,omitempty"`
29724}
29725
29726// NodeDownEvent node Down event.
29727type NodeDownEvent struct {
29728	// NodeInstance - Id of Node instance.
29729	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29730	// LastNodeUpAt - Time when Node was last up.
29731	LastNodeUpAt *date.Time `json:"LastNodeUpAt,omitempty"`
29732	// NodeName - The name of a Service Fabric node.
29733	NodeName *string `json:"NodeName,omitempty"`
29734	// EventInstanceID - The identifier for the FabricEvent instance.
29735	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29736	// TimeStamp - The time event was logged.
29737	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29738	// HasCorrelatedEvents - Shows there is existing related events available.
29739	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29740	// 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'
29741	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29742}
29743
29744// MarshalJSON is the custom marshaler for NodeDownEvent.
29745func (nde NodeDownEvent) MarshalJSON() ([]byte, error) {
29746	nde.Kind = KindNodeDown
29747	objectMap := make(map[string]interface{})
29748	if nde.NodeInstance != nil {
29749		objectMap["NodeInstance"] = nde.NodeInstance
29750	}
29751	if nde.LastNodeUpAt != nil {
29752		objectMap["LastNodeUpAt"] = nde.LastNodeUpAt
29753	}
29754	if nde.NodeName != nil {
29755		objectMap["NodeName"] = nde.NodeName
29756	}
29757	if nde.EventInstanceID != nil {
29758		objectMap["EventInstanceId"] = nde.EventInstanceID
29759	}
29760	if nde.TimeStamp != nil {
29761		objectMap["TimeStamp"] = nde.TimeStamp
29762	}
29763	if nde.HasCorrelatedEvents != nil {
29764		objectMap["HasCorrelatedEvents"] = nde.HasCorrelatedEvents
29765	}
29766	if nde.Kind != "" {
29767		objectMap["Kind"] = nde.Kind
29768	}
29769	return json.Marshal(objectMap)
29770}
29771
29772// AsApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
29773func (nde NodeDownEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29774	return nil, false
29775}
29776
29777// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
29778func (nde NodeDownEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29779	return nil, false
29780}
29781
29782// AsClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
29783func (nde NodeDownEvent) AsClusterEvent() (*ClusterEvent, bool) {
29784	return nil, false
29785}
29786
29787// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
29788func (nde NodeDownEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29789	return nil, false
29790}
29791
29792// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDownEvent.
29793func (nde NodeDownEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29794	return nil, false
29795}
29796
29797// AsNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
29798func (nde NodeDownEvent) AsNodeEvent() (*NodeEvent, bool) {
29799	return nil, false
29800}
29801
29802// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
29803func (nde NodeDownEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29804	return &nde, true
29805}
29806
29807// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
29808func (nde NodeDownEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29809	return nil, false
29810}
29811
29812// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
29813func (nde NodeDownEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29814	return nil, false
29815}
29816
29817// AsPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
29818func (nde NodeDownEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29819	return nil, false
29820}
29821
29822// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
29823func (nde NodeDownEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29824	return nil, false
29825}
29826
29827// AsReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
29828func (nde NodeDownEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29829	return nil, false
29830}
29831
29832// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
29833func (nde NodeDownEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29834	return nil, false
29835}
29836
29837// AsServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
29838func (nde NodeDownEvent) AsServiceEvent() (*ServiceEvent, bool) {
29839	return nil, false
29840}
29841
29842// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
29843func (nde NodeDownEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29844	return nil, false
29845}
29846
29847// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29848func (nde NodeDownEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29849	return nil, false
29850}
29851
29852// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29853func (nde NodeDownEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29854	return nil, false
29855}
29856
29857// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29858func (nde NodeDownEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29859	return nil, false
29860}
29861
29862// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
29863func (nde NodeDownEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29864	return nil, false
29865}
29866
29867// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
29868func (nde NodeDownEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29869	return nil, false
29870}
29871
29872// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
29873func (nde NodeDownEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29874	return nil, false
29875}
29876
29877// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
29878func (nde NodeDownEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29879	return nil, false
29880}
29881
29882// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
29883func (nde NodeDownEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29884	return nil, false
29885}
29886
29887// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
29888func (nde NodeDownEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29889	return nil, false
29890}
29891
29892// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29893func (nde NodeDownEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29894	return nil, false
29895}
29896
29897// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
29898func (nde NodeDownEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29899	return nil, false
29900}
29901
29902// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29903func (nde NodeDownEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29904	return nil, false
29905}
29906
29907// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29908func (nde NodeDownEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29909	return nil, false
29910}
29911
29912// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29913func (nde NodeDownEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29914	return nil, false
29915}
29916
29917// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDownEvent.
29918func (nde NodeDownEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29919	return nil, false
29920}
29921
29922// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29923func (nde NodeDownEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29924	return nil, false
29925}
29926
29927// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDownEvent.
29928func (nde NodeDownEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29929	return nil, false
29930}
29931
29932// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDownEvent.
29933func (nde NodeDownEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29934	return nil, false
29935}
29936
29937// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
29938func (nde NodeDownEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29939	return nil, false
29940}
29941
29942// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
29943func (nde NodeDownEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29944	return nil, false
29945}
29946
29947// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDownEvent.
29948func (nde NodeDownEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29949	return &nde, true
29950}
29951
29952// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29953func (nde NodeDownEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29954	return nil, false
29955}
29956
29957// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
29958func (nde NodeDownEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29959	return nil, false
29960}
29961
29962// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDownEvent.
29963func (nde NodeDownEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29964	return nil, false
29965}
29966
29967// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29968func (nde NodeDownEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29969	return nil, false
29970}
29971
29972// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDownEvent.
29973func (nde NodeDownEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29974	return nil, false
29975}
29976
29977// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29978func (nde NodeDownEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29979	return nil, false
29980}
29981
29982// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDownEvent.
29983func (nde NodeDownEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29984	return nil, false
29985}
29986
29987// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29988func (nde NodeDownEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29989	return nil, false
29990}
29991
29992// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
29993func (nde NodeDownEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29994	return nil, false
29995}
29996
29997// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
29998func (nde NodeDownEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29999	return nil, false
30000}
30001
30002// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
30003func (nde NodeDownEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30004	return nil, false
30005}
30006
30007// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30008func (nde NodeDownEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30009	return nil, false
30010}
30011
30012// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30013func (nde NodeDownEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30014	return nil, false
30015}
30016
30017// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30018func (nde NodeDownEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30019	return nil, false
30020}
30021
30022// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30023func (nde NodeDownEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30024	return nil, false
30025}
30026
30027// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30028func (nde NodeDownEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30029	return nil, false
30030}
30031
30032// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30033func (nde NodeDownEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30034	return nil, false
30035}
30036
30037// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30038func (nde NodeDownEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30039	return nil, false
30040}
30041
30042// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30043func (nde NodeDownEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30044	return nil, false
30045}
30046
30047// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30048func (nde NodeDownEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30049	return nil, false
30050}
30051
30052// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30053func (nde NodeDownEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30054	return nil, false
30055}
30056
30057// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30058func (nde NodeDownEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30059	return nil, false
30060}
30061
30062// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30063func (nde NodeDownEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30064	return nil, false
30065}
30066
30067// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30068func (nde NodeDownEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30069	return nil, false
30070}
30071
30072// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30073func (nde NodeDownEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30074	return nil, false
30075}
30076
30077// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30078func (nde NodeDownEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30079	return nil, false
30080}
30081
30082// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
30083func (nde NodeDownEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30084	return nil, false
30085}
30086
30087// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
30088func (nde NodeDownEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30089	return nil, false
30090}
30091
30092// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30093func (nde NodeDownEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30094	return nil, false
30095}
30096
30097// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30098func (nde NodeDownEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30099	return nil, false
30100}
30101
30102// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30103func (nde NodeDownEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30104	return nil, false
30105}
30106
30107// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30108func (nde NodeDownEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30109	return nil, false
30110}
30111
30112// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30113func (nde NodeDownEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30114	return nil, false
30115}
30116
30117// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30118func (nde NodeDownEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30119	return nil, false
30120}
30121
30122// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30123func (nde NodeDownEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30124	return nil, false
30125}
30126
30127// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30128func (nde NodeDownEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30129	return nil, false
30130}
30131
30132// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30133func (nde NodeDownEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30134	return nil, false
30135}
30136
30137// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30138func (nde NodeDownEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30139	return nil, false
30140}
30141
30142// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30143func (nde NodeDownEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30144	return nil, false
30145}
30146
30147// AsFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
30148func (nde NodeDownEvent) AsFabricEvent() (*FabricEvent, bool) {
30149	return nil, false
30150}
30151
30152// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
30153func (nde NodeDownEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30154	return &nde, true
30155}
30156
30157// BasicNodeEvent represents the base for all Node Events.
30158type BasicNodeEvent interface {
30159	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
30160	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
30161	AsNodeAddedEvent() (*NodeAddedEvent, bool)
30162	AsNodeCloseEvent() (*NodeCloseEvent, bool)
30163	AsNodeClosingEvent() (*NodeClosingEvent, bool)
30164	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
30165	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
30166	AsNodeDownEvent() (*NodeDownEvent, bool)
30167	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
30168	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
30169	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
30170	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
30171	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
30172	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
30173	AsNodeUpEvent() (*NodeUpEvent, bool)
30174	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
30175	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
30176	AsNodeEvent() (*NodeEvent, bool)
30177}
30178
30179// NodeEvent represents the base for all Node Events.
30180type NodeEvent struct {
30181	// NodeName - The name of a Service Fabric node.
30182	NodeName *string `json:"NodeName,omitempty"`
30183	// EventInstanceID - The identifier for the FabricEvent instance.
30184	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30185	// TimeStamp - The time event was logged.
30186	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30187	// HasCorrelatedEvents - Shows there is existing related events available.
30188	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30189	// 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'
30190	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30191}
30192
30193func unmarshalBasicNodeEvent(body []byte) (BasicNodeEvent, error) {
30194	var m map[string]interface{}
30195	err := json.Unmarshal(body, &m)
30196	if err != nil {
30197		return nil, err
30198	}
30199
30200	switch m["Kind"] {
30201	case string(KindNodeAborted):
30202		var nae NodeAbortedEvent
30203		err := json.Unmarshal(body, &nae)
30204		return nae, err
30205	case string(KindNodeAborting):
30206		var nae NodeAbortingEvent
30207		err := json.Unmarshal(body, &nae)
30208		return nae, err
30209	case string(KindNodeAdded):
30210		var nae NodeAddedEvent
30211		err := json.Unmarshal(body, &nae)
30212		return nae, err
30213	case string(KindNodeClose):
30214		var nce NodeCloseEvent
30215		err := json.Unmarshal(body, &nce)
30216		return nce, err
30217	case string(KindNodeClosing):
30218		var nce NodeClosingEvent
30219		err := json.Unmarshal(body, &nce)
30220		return nce, err
30221	case string(KindNodeDeactivateComplete):
30222		var ndce NodeDeactivateCompleteEvent
30223		err := json.Unmarshal(body, &ndce)
30224		return ndce, err
30225	case string(KindNodeDeactivateStart):
30226		var ndse NodeDeactivateStartEvent
30227		err := json.Unmarshal(body, &ndse)
30228		return ndse, err
30229	case string(KindNodeDown):
30230		var nde NodeDownEvent
30231		err := json.Unmarshal(body, &nde)
30232		return nde, err
30233	case string(KindNodeHealthReportCreated):
30234		var nhrce NodeHealthReportCreatedEvent
30235		err := json.Unmarshal(body, &nhrce)
30236		return nhrce, err
30237	case string(KindNodeHealthReportExpired):
30238		var nhree NodeHealthReportExpiredEvent
30239		err := json.Unmarshal(body, &nhree)
30240		return nhree, err
30241	case string(KindNodeOpenedSuccess):
30242		var nose NodeOpenedSuccessEvent
30243		err := json.Unmarshal(body, &nose)
30244		return nose, err
30245	case string(KindNodeOpenFailed):
30246		var nofe NodeOpenFailedEvent
30247		err := json.Unmarshal(body, &nofe)
30248		return nofe, err
30249	case string(KindNodeOpening):
30250		var noe NodeOpeningEvent
30251		err := json.Unmarshal(body, &noe)
30252		return noe, err
30253	case string(KindNodeRemoved):
30254		var nre NodeRemovedEvent
30255		err := json.Unmarshal(body, &nre)
30256		return nre, err
30257	case string(KindNodeUp):
30258		var nue NodeUpEvent
30259		err := json.Unmarshal(body, &nue)
30260		return nue, err
30261	case string(KindChaosRestartNodeFaultCompleted):
30262		var crnfce ChaosRestartNodeFaultCompletedEvent
30263		err := json.Unmarshal(body, &crnfce)
30264		return crnfce, err
30265	case string(KindChaosRestartNodeFaultScheduled):
30266		var crnfse ChaosRestartNodeFaultScheduledEvent
30267		err := json.Unmarshal(body, &crnfse)
30268		return crnfse, err
30269	default:
30270		var ne NodeEvent
30271		err := json.Unmarshal(body, &ne)
30272		return ne, err
30273	}
30274}
30275func unmarshalBasicNodeEventArray(body []byte) ([]BasicNodeEvent, error) {
30276	var rawMessages []*json.RawMessage
30277	err := json.Unmarshal(body, &rawMessages)
30278	if err != nil {
30279		return nil, err
30280	}
30281
30282	neArray := make([]BasicNodeEvent, len(rawMessages))
30283
30284	for index, rawMessage := range rawMessages {
30285		ne, err := unmarshalBasicNodeEvent(*rawMessage)
30286		if err != nil {
30287			return nil, err
30288		}
30289		neArray[index] = ne
30290	}
30291	return neArray, nil
30292}
30293
30294// MarshalJSON is the custom marshaler for NodeEvent.
30295func (ne NodeEvent) MarshalJSON() ([]byte, error) {
30296	ne.Kind = KindNodeEvent
30297	objectMap := make(map[string]interface{})
30298	if ne.NodeName != nil {
30299		objectMap["NodeName"] = ne.NodeName
30300	}
30301	if ne.EventInstanceID != nil {
30302		objectMap["EventInstanceId"] = ne.EventInstanceID
30303	}
30304	if ne.TimeStamp != nil {
30305		objectMap["TimeStamp"] = ne.TimeStamp
30306	}
30307	if ne.HasCorrelatedEvents != nil {
30308		objectMap["HasCorrelatedEvents"] = ne.HasCorrelatedEvents
30309	}
30310	if ne.Kind != "" {
30311		objectMap["Kind"] = ne.Kind
30312	}
30313	return json.Marshal(objectMap)
30314}
30315
30316// AsApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
30317func (ne NodeEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30318	return nil, false
30319}
30320
30321// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
30322func (ne NodeEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30323	return nil, false
30324}
30325
30326// AsClusterEvent is the BasicFabricEvent implementation for NodeEvent.
30327func (ne NodeEvent) AsClusterEvent() (*ClusterEvent, bool) {
30328	return nil, false
30329}
30330
30331// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeEvent.
30332func (ne NodeEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
30333	return nil, false
30334}
30335
30336// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeEvent.
30337func (ne NodeEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
30338	return nil, false
30339}
30340
30341// AsNodeEvent is the BasicFabricEvent implementation for NodeEvent.
30342func (ne NodeEvent) AsNodeEvent() (*NodeEvent, bool) {
30343	return &ne, true
30344}
30345
30346// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeEvent.
30347func (ne NodeEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
30348	return &ne, true
30349}
30350
30351// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
30352func (ne NodeEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
30353	return nil, false
30354}
30355
30356// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
30357func (ne NodeEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
30358	return nil, false
30359}
30360
30361// AsPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
30362func (ne NodeEvent) AsPartitionEvent() (*PartitionEvent, bool) {
30363	return nil, false
30364}
30365
30366// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
30367func (ne NodeEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
30368	return nil, false
30369}
30370
30371// AsReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
30372func (ne NodeEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
30373	return nil, false
30374}
30375
30376// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
30377func (ne NodeEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
30378	return nil, false
30379}
30380
30381// AsServiceEvent is the BasicFabricEvent implementation for NodeEvent.
30382func (ne NodeEvent) AsServiceEvent() (*ServiceEvent, bool) {
30383	return nil, false
30384}
30385
30386// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeEvent.
30387func (ne NodeEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
30388	return nil, false
30389}
30390
30391// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30392func (ne NodeEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
30393	return nil, false
30394}
30395
30396// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
30397func (ne NodeEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
30398	return nil, false
30399}
30400
30401// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30402func (ne NodeEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
30403	return nil, false
30404}
30405
30406// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30407func (ne NodeEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
30408	return nil, false
30409}
30410
30411// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30412func (ne NodeEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
30413	return nil, false
30414}
30415
30416// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30417func (ne NodeEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
30418	return nil, false
30419}
30420
30421// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30422func (ne NodeEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
30423	return nil, false
30424}
30425
30426// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
30427func (ne NodeEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
30428	return nil, false
30429}
30430
30431// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
30432func (ne NodeEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
30433	return nil, false
30434}
30435
30436// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30437func (ne NodeEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
30438	return nil, false
30439}
30440
30441// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30442func (ne NodeEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
30443	return nil, false
30444}
30445
30446// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
30447func (ne NodeEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
30448	return nil, false
30449}
30450
30451// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
30452func (ne NodeEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
30453	return nil, false
30454}
30455
30456// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeEvent.
30457func (ne NodeEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
30458	return nil, false
30459}
30460
30461// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeEvent.
30462func (ne NodeEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
30463	return nil, false
30464}
30465
30466// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeEvent.
30467func (ne NodeEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
30468	return nil, false
30469}
30470
30471// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeEvent.
30472func (ne NodeEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
30473	return nil, false
30474}
30475
30476// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeEvent.
30477func (ne NodeEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
30478	return nil, false
30479}
30480
30481// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30482func (ne NodeEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
30483	return nil, false
30484}
30485
30486// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeEvent.
30487func (ne NodeEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
30488	return nil, false
30489}
30490
30491// AsNodeDownEvent is the BasicFabricEvent implementation for NodeEvent.
30492func (ne NodeEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
30493	return nil, false
30494}
30495
30496// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30497func (ne NodeEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
30498	return nil, false
30499}
30500
30501// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30502func (ne NodeEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
30503	return nil, false
30504}
30505
30506// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeEvent.
30507func (ne NodeEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
30508	return nil, false
30509}
30510
30511// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeEvent.
30512func (ne NodeEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
30513	return nil, false
30514}
30515
30516// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeEvent.
30517func (ne NodeEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
30518	return nil, false
30519}
30520
30521// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeEvent.
30522func (ne NodeEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
30523	return nil, false
30524}
30525
30526// AsNodeUpEvent is the BasicFabricEvent implementation for NodeEvent.
30527func (ne NodeEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30528	return nil, false
30529}
30530
30531// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30532func (ne NodeEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30533	return nil, false
30534}
30535
30536// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30537func (ne NodeEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
30538	return nil, false
30539}
30540
30541// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
30542func (ne NodeEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30543	return nil, false
30544}
30545
30546// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
30547func (ne NodeEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30548	return nil, false
30549}
30550
30551// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30552func (ne NodeEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30553	return nil, false
30554}
30555
30556// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
30557func (ne NodeEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30558	return nil, false
30559}
30560
30561// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30562func (ne NodeEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30563	return nil, false
30564}
30565
30566// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30567func (ne NodeEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30568	return nil, false
30569}
30570
30571// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30572func (ne NodeEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30573	return nil, false
30574}
30575
30576// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30577func (ne NodeEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30578	return nil, false
30579}
30580
30581// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30582func (ne NodeEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30583	return nil, false
30584}
30585
30586// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30587func (ne NodeEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30588	return nil, false
30589}
30590
30591// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30592func (ne NodeEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30593	return nil, false
30594}
30595
30596// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30597func (ne NodeEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30598	return nil, false
30599}
30600
30601// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30602func (ne NodeEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30603	return nil, false
30604}
30605
30606// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30607func (ne NodeEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30608	return nil, false
30609}
30610
30611// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30612func (ne NodeEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30613	return nil, false
30614}
30615
30616// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30617func (ne NodeEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30618	return nil, false
30619}
30620
30621// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30622func (ne NodeEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30623	return nil, false
30624}
30625
30626// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
30627func (ne NodeEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30628	return nil, false
30629}
30630
30631// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
30632func (ne NodeEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30633	return nil, false
30634}
30635
30636// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeEvent.
30637func (ne NodeEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30638	return nil, false
30639}
30640
30641// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeEvent.
30642func (ne NodeEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30643	return nil, false
30644}
30645
30646// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
30647func (ne NodeEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30648	return nil, false
30649}
30650
30651// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
30652func (ne NodeEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30653	return nil, false
30654}
30655
30656// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
30657func (ne NodeEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30658	return nil, false
30659}
30660
30661// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
30662func (ne NodeEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30663	return nil, false
30664}
30665
30666// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
30667func (ne NodeEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30668	return nil, false
30669}
30670
30671// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
30672func (ne NodeEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30673	return nil, false
30674}
30675
30676// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
30677func (ne NodeEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30678	return nil, false
30679}
30680
30681// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
30682func (ne NodeEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30683	return nil, false
30684}
30685
30686// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
30687func (ne NodeEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30688	return nil, false
30689}
30690
30691// AsFabricEvent is the BasicFabricEvent implementation for NodeEvent.
30692func (ne NodeEvent) AsFabricEvent() (*FabricEvent, bool) {
30693	return nil, false
30694}
30695
30696// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeEvent.
30697func (ne NodeEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30698	return &ne, true
30699}
30700
30701// NodeHealth information about the health of a Service Fabric node.
30702type NodeHealth struct {
30703	autorest.Response `json:"-"`
30704	// Name - Name of the node whose health information is described by this object.
30705	Name *string `json:"Name,omitempty"`
30706	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
30707	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
30708	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
30709	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
30710	// HealthEvents - The list of health events reported on the entity.
30711	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
30712	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
30713	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
30714	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
30715	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
30716}
30717
30718// NodeHealthEvaluation represents health evaluation for a node, containing information about the data and the
30719// algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated health
30720// state is either Error or Warning.
30721type NodeHealthEvaluation struct {
30722	// NodeName - The name of a Service Fabric node.
30723	NodeName *string `json:"NodeName,omitempty"`
30724	// 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.
30725	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
30726	// 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'
30727	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
30728	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
30729	Description *string `json:"Description,omitempty"`
30730	// 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'
30731	Kind Kind `json:"Kind,omitempty"`
30732}
30733
30734// MarshalJSON is the custom marshaler for NodeHealthEvaluation.
30735func (nhe NodeHealthEvaluation) MarshalJSON() ([]byte, error) {
30736	nhe.Kind = KindNode
30737	objectMap := make(map[string]interface{})
30738	if nhe.NodeName != nil {
30739		objectMap["NodeName"] = nhe.NodeName
30740	}
30741	if nhe.UnhealthyEvaluations != nil {
30742		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
30743	}
30744	if nhe.AggregatedHealthState != "" {
30745		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
30746	}
30747	if nhe.Description != nil {
30748		objectMap["Description"] = nhe.Description
30749	}
30750	if nhe.Kind != "" {
30751		objectMap["Kind"] = nhe.Kind
30752	}
30753	return json.Marshal(objectMap)
30754}
30755
30756// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30757func (nhe NodeHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
30758	return nil, false
30759}
30760
30761// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30762func (nhe NodeHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
30763	return nil, false
30764}
30765
30766// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30767func (nhe NodeHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
30768	return nil, false
30769}
30770
30771// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30772func (nhe NodeHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
30773	return nil, false
30774}
30775
30776// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30777func (nhe NodeHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
30778	return nil, false
30779}
30780
30781// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30782func (nhe NodeHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
30783	return nil, false
30784}
30785
30786// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30787func (nhe NodeHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
30788	return nil, false
30789}
30790
30791// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30792func (nhe NodeHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
30793	return nil, false
30794}
30795
30796// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30797func (nhe NodeHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
30798	return nil, false
30799}
30800
30801// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30802func (nhe NodeHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
30803	return &nhe, true
30804}
30805
30806// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30807func (nhe NodeHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
30808	return nil, false
30809}
30810
30811// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30812func (nhe NodeHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
30813	return nil, false
30814}
30815
30816// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30817func (nhe NodeHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
30818	return nil, false
30819}
30820
30821// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30822func (nhe NodeHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
30823	return nil, false
30824}
30825
30826// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30827func (nhe NodeHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
30828	return nil, false
30829}
30830
30831// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30832func (nhe NodeHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
30833	return nil, false
30834}
30835
30836// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30837func (nhe NodeHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
30838	return nil, false
30839}
30840
30841// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30842func (nhe NodeHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
30843	return nil, false
30844}
30845
30846// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30847func (nhe NodeHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
30848	return nil, false
30849}
30850
30851// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30852func (nhe NodeHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
30853	return nil, false
30854}
30855
30856// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30857func (nhe NodeHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
30858	return nil, false
30859}
30860
30861// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
30862func (nhe NodeHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
30863	return &nhe, true
30864}
30865
30866// NodeHealthReportCreatedEvent node Health Report Created event.
30867type NodeHealthReportCreatedEvent struct {
30868	// NodeInstanceID - Id of Node instance.
30869	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
30870	// SourceID - Id of report source.
30871	SourceID *string `json:"SourceId,omitempty"`
30872	// Property - Describes the property.
30873	Property *string `json:"Property,omitempty"`
30874	// HealthState - Describes the property health state.
30875	HealthState *string `json:"HealthState,omitempty"`
30876	// TimeToLiveMs - Time to live in milli-seconds.
30877	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
30878	// SequenceNumber - Sequence number of report.
30879	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
30880	// Description - Description of report.
30881	Description *string `json:"Description,omitempty"`
30882	// RemoveWhenExpired - Indicates the removal when it expires.
30883	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
30884	// SourceUtcTimestamp - Source time.
30885	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
30886	// NodeName - The name of a Service Fabric node.
30887	NodeName *string `json:"NodeName,omitempty"`
30888	// EventInstanceID - The identifier for the FabricEvent instance.
30889	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30890	// TimeStamp - The time event was logged.
30891	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30892	// HasCorrelatedEvents - Shows there is existing related events available.
30893	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30894	// 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'
30895	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30896}
30897
30898// MarshalJSON is the custom marshaler for NodeHealthReportCreatedEvent.
30899func (nhrce NodeHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
30900	nhrce.Kind = KindNodeHealthReportCreated
30901	objectMap := make(map[string]interface{})
30902	if nhrce.NodeInstanceID != nil {
30903		objectMap["NodeInstanceId"] = nhrce.NodeInstanceID
30904	}
30905	if nhrce.SourceID != nil {
30906		objectMap["SourceId"] = nhrce.SourceID
30907	}
30908	if nhrce.Property != nil {
30909		objectMap["Property"] = nhrce.Property
30910	}
30911	if nhrce.HealthState != nil {
30912		objectMap["HealthState"] = nhrce.HealthState
30913	}
30914	if nhrce.TimeToLiveMs != nil {
30915		objectMap["TimeToLiveMs"] = nhrce.TimeToLiveMs
30916	}
30917	if nhrce.SequenceNumber != nil {
30918		objectMap["SequenceNumber"] = nhrce.SequenceNumber
30919	}
30920	if nhrce.Description != nil {
30921		objectMap["Description"] = nhrce.Description
30922	}
30923	if nhrce.RemoveWhenExpired != nil {
30924		objectMap["RemoveWhenExpired"] = nhrce.RemoveWhenExpired
30925	}
30926	if nhrce.SourceUtcTimestamp != nil {
30927		objectMap["SourceUtcTimestamp"] = nhrce.SourceUtcTimestamp
30928	}
30929	if nhrce.NodeName != nil {
30930		objectMap["NodeName"] = nhrce.NodeName
30931	}
30932	if nhrce.EventInstanceID != nil {
30933		objectMap["EventInstanceId"] = nhrce.EventInstanceID
30934	}
30935	if nhrce.TimeStamp != nil {
30936		objectMap["TimeStamp"] = nhrce.TimeStamp
30937	}
30938	if nhrce.HasCorrelatedEvents != nil {
30939		objectMap["HasCorrelatedEvents"] = nhrce.HasCorrelatedEvents
30940	}
30941	if nhrce.Kind != "" {
30942		objectMap["Kind"] = nhrce.Kind
30943	}
30944	return json.Marshal(objectMap)
30945}
30946
30947// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30948func (nhrce NodeHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30949	return nil, false
30950}
30951
30952// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30953func (nhrce NodeHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30954	return nil, false
30955}
30956
30957// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30958func (nhrce NodeHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
30959	return nil, false
30960}
30961
30962// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30963func (nhrce NodeHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
30964	return nil, false
30965}
30966
30967// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30968func (nhrce NodeHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
30969	return nil, false
30970}
30971
30972// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30973func (nhrce NodeHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
30974	return nil, false
30975}
30976
30977// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30978func (nhrce NodeHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
30979	return &nhrce, true
30980}
30981
30982// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30983func (nhrce NodeHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
30984	return nil, false
30985}
30986
30987// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30988func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
30989	return nil, false
30990}
30991
30992// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30993func (nhrce NodeHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
30994	return nil, false
30995}
30996
30997// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
30998func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
30999	return nil, false
31000}
31001
31002// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31003func (nhrce NodeHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
31004	return nil, false
31005}
31006
31007// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31008func (nhrce NodeHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
31009	return nil, false
31010}
31011
31012// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31013func (nhrce NodeHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
31014	return nil, false
31015}
31016
31017// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31018func (nhrce NodeHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
31019	return nil, false
31020}
31021
31022// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31023func (nhrce NodeHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
31024	return nil, false
31025}
31026
31027// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31028func (nhrce NodeHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
31029	return nil, false
31030}
31031
31032// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31033func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
31034	return nil, false
31035}
31036
31037// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31038func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
31039	return nil, false
31040}
31041
31042// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31043func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
31044	return nil, false
31045}
31046
31047// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31048func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
31049	return nil, false
31050}
31051
31052// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31053func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
31054	return nil, false
31055}
31056
31057// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31058func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
31059	return nil, false
31060}
31061
31062// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31063func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
31064	return nil, false
31065}
31066
31067// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31068func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
31069	return nil, false
31070}
31071
31072// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31073func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
31074	return nil, false
31075}
31076
31077// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31078func (nhrce NodeHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
31079	return nil, false
31080}
31081
31082// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31083func (nhrce NodeHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
31084	return nil, false
31085}
31086
31087// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31088func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
31089	return nil, false
31090}
31091
31092// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31093func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
31094	return nil, false
31095}
31096
31097// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31098func (nhrce NodeHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
31099	return nil, false
31100}
31101
31102// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31103func (nhrce NodeHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
31104	return nil, false
31105}
31106
31107// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31108func (nhrce NodeHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
31109	return nil, false
31110}
31111
31112// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31113func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
31114	return nil, false
31115}
31116
31117// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31118func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
31119	return nil, false
31120}
31121
31122// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31123func (nhrce NodeHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
31124	return nil, false
31125}
31126
31127// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31128func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
31129	return &nhrce, true
31130}
31131
31132// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31133func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
31134	return nil, false
31135}
31136
31137// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31138func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
31139	return nil, false
31140}
31141
31142// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31143func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
31144	return nil, false
31145}
31146
31147// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31148func (nhrce NodeHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
31149	return nil, false
31150}
31151
31152// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31153func (nhrce NodeHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
31154	return nil, false
31155}
31156
31157// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31158func (nhrce NodeHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
31159	return nil, false
31160}
31161
31162// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31163func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
31164	return nil, false
31165}
31166
31167// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31168func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
31169	return nil, false
31170}
31171
31172// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31173func (nhrce NodeHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
31174	return nil, false
31175}
31176
31177// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31178func (nhrce NodeHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
31179	return nil, false
31180}
31181
31182// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31183func (nhrce NodeHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
31184	return nil, false
31185}
31186
31187// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31188func (nhrce NodeHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
31189	return nil, false
31190}
31191
31192// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31193func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
31194	return nil, false
31195}
31196
31197// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31198func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
31199	return nil, false
31200}
31201
31202// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31203func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
31204	return nil, false
31205}
31206
31207// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31208func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
31209	return nil, false
31210}
31211
31212// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31213func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
31214	return nil, false
31215}
31216
31217// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31218func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
31219	return nil, false
31220}
31221
31222// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31223func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
31224	return nil, false
31225}
31226
31227// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31228func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
31229	return nil, false
31230}
31231
31232// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31233func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
31234	return nil, false
31235}
31236
31237// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31238func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
31239	return nil, false
31240}
31241
31242// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31243func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
31244	return nil, false
31245}
31246
31247// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31248func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
31249	return nil, false
31250}
31251
31252// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31253func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
31254	return nil, false
31255}
31256
31257// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31258func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
31259	return nil, false
31260}
31261
31262// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31263func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
31264	return nil, false
31265}
31266
31267// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31268func (nhrce NodeHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
31269	return nil, false
31270}
31271
31272// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31273func (nhrce NodeHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
31274	return nil, false
31275}
31276
31277// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31278func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
31279	return nil, false
31280}
31281
31282// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31283func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
31284	return nil, false
31285}
31286
31287// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31288func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
31289	return nil, false
31290}
31291
31292// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31293func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
31294	return nil, false
31295}
31296
31297// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31298func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
31299	return nil, false
31300}
31301
31302// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31303func (nhrce NodeHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
31304	return nil, false
31305}
31306
31307// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31308func (nhrce NodeHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
31309	return nil, false
31310}
31311
31312// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31313func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
31314	return nil, false
31315}
31316
31317// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31318func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
31319	return nil, false
31320}
31321
31322// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31323func (nhrce NodeHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
31324	return nil, false
31325}
31326
31327// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31328func (nhrce NodeHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
31329	return &nhrce, true
31330}
31331
31332// NodeHealthReportExpiredEvent node Health Report Expired event.
31333type NodeHealthReportExpiredEvent struct {
31334	// NodeInstanceID - Id of Node instance.
31335	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
31336	// SourceID - Id of report source.
31337	SourceID *string `json:"SourceId,omitempty"`
31338	// Property - Describes the property.
31339	Property *string `json:"Property,omitempty"`
31340	// HealthState - Describes the property health state.
31341	HealthState *string `json:"HealthState,omitempty"`
31342	// TimeToLiveMs - Time to live in milli-seconds.
31343	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
31344	// SequenceNumber - Sequence number of report.
31345	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
31346	// Description - Description of report.
31347	Description *string `json:"Description,omitempty"`
31348	// RemoveWhenExpired - Indicates the removal when it expires.
31349	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
31350	// SourceUtcTimestamp - Source time.
31351	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
31352	// NodeName - The name of a Service Fabric node.
31353	NodeName *string `json:"NodeName,omitempty"`
31354	// EventInstanceID - The identifier for the FabricEvent instance.
31355	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
31356	// TimeStamp - The time event was logged.
31357	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
31358	// HasCorrelatedEvents - Shows there is existing related events available.
31359	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
31360	// 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'
31361	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
31362}
31363
31364// MarshalJSON is the custom marshaler for NodeHealthReportExpiredEvent.
31365func (nhree NodeHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
31366	nhree.Kind = KindNodeHealthReportExpired
31367	objectMap := make(map[string]interface{})
31368	if nhree.NodeInstanceID != nil {
31369		objectMap["NodeInstanceId"] = nhree.NodeInstanceID
31370	}
31371	if nhree.SourceID != nil {
31372		objectMap["SourceId"] = nhree.SourceID
31373	}
31374	if nhree.Property != nil {
31375		objectMap["Property"] = nhree.Property
31376	}
31377	if nhree.HealthState != nil {
31378		objectMap["HealthState"] = nhree.HealthState
31379	}
31380	if nhree.TimeToLiveMs != nil {
31381		objectMap["TimeToLiveMs"] = nhree.TimeToLiveMs
31382	}
31383	if nhree.SequenceNumber != nil {
31384		objectMap["SequenceNumber"] = nhree.SequenceNumber
31385	}
31386	if nhree.Description != nil {
31387		objectMap["Description"] = nhree.Description
31388	}
31389	if nhree.RemoveWhenExpired != nil {
31390		objectMap["RemoveWhenExpired"] = nhree.RemoveWhenExpired
31391	}
31392	if nhree.SourceUtcTimestamp != nil {
31393		objectMap["SourceUtcTimestamp"] = nhree.SourceUtcTimestamp
31394	}
31395	if nhree.NodeName != nil {
31396		objectMap["NodeName"] = nhree.NodeName
31397	}
31398	if nhree.EventInstanceID != nil {
31399		objectMap["EventInstanceId"] = nhree.EventInstanceID
31400	}
31401	if nhree.TimeStamp != nil {
31402		objectMap["TimeStamp"] = nhree.TimeStamp
31403	}
31404	if nhree.HasCorrelatedEvents != nil {
31405		objectMap["HasCorrelatedEvents"] = nhree.HasCorrelatedEvents
31406	}
31407	if nhree.Kind != "" {
31408		objectMap["Kind"] = nhree.Kind
31409	}
31410	return json.Marshal(objectMap)
31411}
31412
31413// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31414func (nhree NodeHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
31415	return nil, false
31416}
31417
31418// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31419func (nhree NodeHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
31420	return nil, false
31421}
31422
31423// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31424func (nhree NodeHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
31425	return nil, false
31426}
31427
31428// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31429func (nhree NodeHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
31430	return nil, false
31431}
31432
31433// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31434func (nhree NodeHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
31435	return nil, false
31436}
31437
31438// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31439func (nhree NodeHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
31440	return nil, false
31441}
31442
31443// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31444func (nhree NodeHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
31445	return &nhree, true
31446}
31447
31448// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31449func (nhree NodeHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
31450	return nil, false
31451}
31452
31453// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31454func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
31455	return nil, false
31456}
31457
31458// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31459func (nhree NodeHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
31460	return nil, false
31461}
31462
31463// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31464func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
31465	return nil, false
31466}
31467
31468// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31469func (nhree NodeHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
31470	return nil, false
31471}
31472
31473// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31474func (nhree NodeHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
31475	return nil, false
31476}
31477
31478// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31479func (nhree NodeHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
31480	return nil, false
31481}
31482
31483// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31484func (nhree NodeHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
31485	return nil, false
31486}
31487
31488// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31489func (nhree NodeHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
31490	return nil, false
31491}
31492
31493// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31494func (nhree NodeHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
31495	return nil, false
31496}
31497
31498// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31499func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
31500	return nil, false
31501}
31502
31503// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31504func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
31505	return nil, false
31506}
31507
31508// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31509func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
31510	return nil, false
31511}
31512
31513// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31514func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
31515	return nil, false
31516}
31517
31518// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31519func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
31520	return nil, false
31521}
31522
31523// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31524func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
31525	return nil, false
31526}
31527
31528// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31529func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
31530	return nil, false
31531}
31532
31533// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31534func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
31535	return nil, false
31536}
31537
31538// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31539func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
31540	return nil, false
31541}
31542
31543// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31544func (nhree NodeHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
31545	return nil, false
31546}
31547
31548// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31549func (nhree NodeHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
31550	return nil, false
31551}
31552
31553// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31554func (nhree NodeHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
31555	return nil, false
31556}
31557
31558// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31559func (nhree NodeHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
31560	return nil, false
31561}
31562
31563// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31564func (nhree NodeHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
31565	return nil, false
31566}
31567
31568// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31569func (nhree NodeHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
31570	return nil, false
31571}
31572
31573// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31574func (nhree NodeHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
31575	return nil, false
31576}
31577
31578// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31579func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
31580	return nil, false
31581}
31582
31583// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31584func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
31585	return nil, false
31586}
31587
31588// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31589func (nhree NodeHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
31590	return nil, false
31591}
31592
31593// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31594func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
31595	return nil, false
31596}
31597
31598// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31599func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
31600	return &nhree, true
31601}
31602
31603// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31604func (nhree NodeHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
31605	return nil, false
31606}
31607
31608// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31609func (nhree NodeHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
31610	return nil, false
31611}
31612
31613// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31614func (nhree NodeHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
31615	return nil, false
31616}
31617
31618// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31619func (nhree NodeHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
31620	return nil, false
31621}
31622
31623// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31624func (nhree NodeHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
31625	return nil, false
31626}
31627
31628// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31629func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
31630	return nil, false
31631}
31632
31633// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31634func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
31635	return nil, false
31636}
31637
31638// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31639func (nhree NodeHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
31640	return nil, false
31641}
31642
31643// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31644func (nhree NodeHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
31645	return nil, false
31646}
31647
31648// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31649func (nhree NodeHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
31650	return nil, false
31651}
31652
31653// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31654func (nhree NodeHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
31655	return nil, false
31656}
31657
31658// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31659func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
31660	return nil, false
31661}
31662
31663// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31664func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
31665	return nil, false
31666}
31667
31668// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31669func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
31670	return nil, false
31671}
31672
31673// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31674func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
31675	return nil, false
31676}
31677
31678// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31679func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
31680	return nil, false
31681}
31682
31683// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31684func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
31685	return nil, false
31686}
31687
31688// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31689func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
31690	return nil, false
31691}
31692
31693// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31694func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
31695	return nil, false
31696}
31697
31698// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31699func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
31700	return nil, false
31701}
31702
31703// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31704func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
31705	return nil, false
31706}
31707
31708// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31709func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
31710	return nil, false
31711}
31712
31713// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31714func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
31715	return nil, false
31716}
31717
31718// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31719func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
31720	return nil, false
31721}
31722
31723// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31724func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
31725	return nil, false
31726}
31727
31728// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31729func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
31730	return nil, false
31731}
31732
31733// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31734func (nhree NodeHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
31735	return nil, false
31736}
31737
31738// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31739func (nhree NodeHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
31740	return nil, false
31741}
31742
31743// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31744func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
31745	return nil, false
31746}
31747
31748// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31749func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
31750	return nil, false
31751}
31752
31753// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31754func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
31755	return nil, false
31756}
31757
31758// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31759func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
31760	return nil, false
31761}
31762
31763// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31764func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
31765	return nil, false
31766}
31767
31768// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31769func (nhree NodeHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
31770	return nil, false
31771}
31772
31773// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31774func (nhree NodeHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
31775	return nil, false
31776}
31777
31778// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31779func (nhree NodeHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
31780	return nil, false
31781}
31782
31783// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31784func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
31785	return nil, false
31786}
31787
31788// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31789func (nhree NodeHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
31790	return nil, false
31791}
31792
31793// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31794func (nhree NodeHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
31795	return &nhree, true
31796}
31797
31798// NodeHealthState represents the health state of a node, which contains the node identifier and its aggregated
31799// health state.
31800type NodeHealthState struct {
31801	// Name - The name of a Service Fabric node.
31802	Name *string `json:"Name,omitempty"`
31803	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
31804	ID *NodeID `json:"Id,omitempty"`
31805	// 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'
31806	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
31807}
31808
31809// NodeHealthStateChunk represents the health state chunk of a node, which contains the node name and its
31810// aggregated health state.
31811type NodeHealthStateChunk struct {
31812	// NodeName - The name of a Service Fabric node.
31813	NodeName *string `json:"NodeName,omitempty"`
31814	// 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'
31815	HealthState HealthState `json:"HealthState,omitempty"`
31816}
31817
31818// NodeHealthStateChunkList the list of node health state chunks in the cluster that respect the input filters in
31819// the chunk query. Returned by get cluster health state chunks query.
31820type NodeHealthStateChunkList struct {
31821	// Items - The list of node health state chunks that respect the input filters in the chunk query.
31822	Items *[]NodeHealthStateChunk `json:"Items,omitempty"`
31823	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
31824	TotalCount *int64 `json:"TotalCount,omitempty"`
31825}
31826
31827// NodeHealthStateFilter defines matching criteria to determine whether a node should be included in the returned
31828// cluster health chunk.
31829// One filter can match zero, one or multiple nodes, depending on its properties.
31830// Can be specified in the cluster health chunk query description.
31831type NodeHealthStateFilter struct {
31832	// NodeNameFilter - Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.
31833	// If the node doesn't exist, no node is returned in the cluster health chunk based on this filter.
31834	// If the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.
31835	// 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.
31836	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
31837	// HealthStateFilter - The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.
31838	// 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.
31839	// 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.
31840	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
31841	// For example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).
31842	// - Default - Default value. Matches any HealthState. The value is zero.
31843	// - 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.
31844	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
31845	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
31846	// - Error - Filter that matches input with HealthState value Error. The value is 8.
31847	// - All - Filter that matches input with any HealthState value. The value is 65535.
31848	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
31849}
31850
31851// NodeID an internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated
31852// from node name.
31853type NodeID struct {
31854	// ID - Value of the node Id. This is a 128 bit integer.
31855	ID *string `json:"Id,omitempty"`
31856}
31857
31858// NodeImpact describes the expected impact of a repair to a particular node.
31859//
31860// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
31861type NodeImpact struct {
31862	// NodeName - The name of the impacted node.
31863	NodeName *string `json:"NodeName,omitempty"`
31864	// ImpactLevel - The level of impact expected. Possible values include: 'ImpactLevelInvalid', 'ImpactLevelNone', 'ImpactLevelRestart', 'ImpactLevelRemoveData', 'ImpactLevelRemoveNode'
31865	ImpactLevel ImpactLevel `json:"ImpactLevel,omitempty"`
31866}
31867
31868// NodeInfo information about a node in Service Fabric cluster.
31869type NodeInfo struct {
31870	autorest.Response `json:"-"`
31871	// Name - The name of a Service Fabric node.
31872	Name *string `json:"Name,omitempty"`
31873	// IPAddressOrFQDN - The IP address or fully qualified domain name of the node.
31874	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
31875	// Type - The type of the node.
31876	Type *string `json:"Type,omitempty"`
31877	// CodeVersion - The version of Service Fabric binaries that the node is running.
31878	CodeVersion *string `json:"CodeVersion,omitempty"`
31879	// ConfigVersion - The version of Service Fabric cluster manifest that the node is using.
31880	ConfigVersion *string `json:"ConfigVersion,omitempty"`
31881	// NodeStatus - The status of the node. Possible values include: 'NodeStatusInvalid', 'NodeStatusUp', 'NodeStatusDown', 'NodeStatusEnabling', 'NodeStatusDisabling', 'NodeStatusDisabled', 'NodeStatusUnknown', 'NodeStatusRemoved'
31882	NodeStatus NodeStatus `json:"NodeStatus,omitempty"`
31883	// NodeUpTimeInSeconds - Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up.
31884	NodeUpTimeInSeconds *string `json:"NodeUpTimeInSeconds,omitempty"`
31885	// 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'
31886	HealthState HealthState `json:"HealthState,omitempty"`
31887	// 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.
31888	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
31889	// UpgradeDomain - The upgrade domain of the node.
31890	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
31891	// FaultDomain - The fault domain of the node.
31892	FaultDomain *string `json:"FaultDomain,omitempty"`
31893	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
31894	ID *NodeID `json:"Id,omitempty"`
31895	// 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.
31896	InstanceID *string `json:"InstanceId,omitempty"`
31897	// NodeDeactivationInfo - Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.
31898	NodeDeactivationInfo *NodeDeactivationInfo `json:"NodeDeactivationInfo,omitempty"`
31899	// IsStopped - Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false.
31900	IsStopped *bool `json:"IsStopped,omitempty"`
31901	// NodeDownTimeInSeconds - Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down.
31902	NodeDownTimeInSeconds *string `json:"NodeDownTimeInSeconds,omitempty"`
31903	// 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.
31904	NodeUpAt *date.Time `json:"NodeUpAt,omitempty"`
31905	// NodeDownAt - Date time in UTC when the node went down. If node has never been down then this value will be zero date time.
31906	NodeDownAt *date.Time `json:"NodeDownAt,omitempty"`
31907}
31908
31909// NodeLoadInfo information about load on a Service Fabric node. It holds a summary of all metrics and their load
31910// on a node.
31911type NodeLoadInfo struct {
31912	autorest.Response `json:"-"`
31913	// NodeName - Name of the node for which the load information is provided by this object.
31914	NodeName *string `json:"NodeName,omitempty"`
31915	// NodeLoadMetricInformation - List that contains metrics and their load information on this node.
31916	NodeLoadMetricInformation *[]NodeLoadMetricInformation `json:"NodeLoadMetricInformation,omitempty"`
31917}
31918
31919// NodeLoadMetricInformation represents data structure that contains load information for a certain metric on a
31920// node.
31921type NodeLoadMetricInformation struct {
31922	// Name - Name of the metric for which this load information is provided.
31923	Name *string `json:"Name,omitempty"`
31924	// NodeCapacity - Total capacity on the node for this metric.
31925	NodeCapacity *string `json:"NodeCapacity,omitempty"`
31926	// NodeLoad - Current load on the node for this metric.
31927	NodeLoad *string `json:"NodeLoad,omitempty"`
31928	// NodeRemainingCapacity - The remaining capacity on the node for this metric.
31929	NodeRemainingCapacity *string `json:"NodeRemainingCapacity,omitempty"`
31930	// IsCapacityViolation - Indicates if there is a capacity violation for this metric on the node.
31931	IsCapacityViolation *bool `json:"IsCapacityViolation,omitempty"`
31932	// NodeBufferedCapacity - The value that indicates the reserved capacity for this metric on the node.
31933	NodeBufferedCapacity *string `json:"NodeBufferedCapacity,omitempty"`
31934	// NodeRemainingBufferedCapacity - The remaining reserved capacity for this metric on the node.
31935	NodeRemainingBufferedCapacity *string `json:"NodeRemainingBufferedCapacity,omitempty"`
31936}
31937
31938// NodeOpenedSuccessEvent node Opened Success event.
31939type NodeOpenedSuccessEvent struct {
31940	// NodeInstance - Id of Node instance.
31941	NodeInstance *int64 `json:"NodeInstance,omitempty"`
31942	// NodeID - Id of Node.
31943	NodeID *string `json:"NodeId,omitempty"`
31944	// UpgradeDomain - Upgrade domain of Node.
31945	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
31946	// FaultDomain - Fault domain of Node.
31947	FaultDomain *string `json:"FaultDomain,omitempty"`
31948	// IPAddressOrFQDN - IP address or FQDN.
31949	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
31950	// Hostname - Name of Host.
31951	Hostname *string `json:"Hostname,omitempty"`
31952	// IsSeedNode - Indicates if it is seed node.
31953	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
31954	// NodeVersion - Version of Node.
31955	NodeVersion *string `json:"NodeVersion,omitempty"`
31956	// NodeName - The name of a Service Fabric node.
31957	NodeName *string `json:"NodeName,omitempty"`
31958	// EventInstanceID - The identifier for the FabricEvent instance.
31959	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
31960	// TimeStamp - The time event was logged.
31961	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
31962	// HasCorrelatedEvents - Shows there is existing related events available.
31963	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
31964	// 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'
31965	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
31966}
31967
31968// MarshalJSON is the custom marshaler for NodeOpenedSuccessEvent.
31969func (nose NodeOpenedSuccessEvent) MarshalJSON() ([]byte, error) {
31970	nose.Kind = KindNodeOpenedSuccess
31971	objectMap := make(map[string]interface{})
31972	if nose.NodeInstance != nil {
31973		objectMap["NodeInstance"] = nose.NodeInstance
31974	}
31975	if nose.NodeID != nil {
31976		objectMap["NodeId"] = nose.NodeID
31977	}
31978	if nose.UpgradeDomain != nil {
31979		objectMap["UpgradeDomain"] = nose.UpgradeDomain
31980	}
31981	if nose.FaultDomain != nil {
31982		objectMap["FaultDomain"] = nose.FaultDomain
31983	}
31984	if nose.IPAddressOrFQDN != nil {
31985		objectMap["IpAddressOrFQDN"] = nose.IPAddressOrFQDN
31986	}
31987	if nose.Hostname != nil {
31988		objectMap["Hostname"] = nose.Hostname
31989	}
31990	if nose.IsSeedNode != nil {
31991		objectMap["IsSeedNode"] = nose.IsSeedNode
31992	}
31993	if nose.NodeVersion != nil {
31994		objectMap["NodeVersion"] = nose.NodeVersion
31995	}
31996	if nose.NodeName != nil {
31997		objectMap["NodeName"] = nose.NodeName
31998	}
31999	if nose.EventInstanceID != nil {
32000		objectMap["EventInstanceId"] = nose.EventInstanceID
32001	}
32002	if nose.TimeStamp != nil {
32003		objectMap["TimeStamp"] = nose.TimeStamp
32004	}
32005	if nose.HasCorrelatedEvents != nil {
32006		objectMap["HasCorrelatedEvents"] = nose.HasCorrelatedEvents
32007	}
32008	if nose.Kind != "" {
32009		objectMap["Kind"] = nose.Kind
32010	}
32011	return json.Marshal(objectMap)
32012}
32013
32014// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32015func (nose NodeOpenedSuccessEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32016	return nil, false
32017}
32018
32019// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32020func (nose NodeOpenedSuccessEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32021	return nil, false
32022}
32023
32024// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32025func (nose NodeOpenedSuccessEvent) AsClusterEvent() (*ClusterEvent, bool) {
32026	return nil, false
32027}
32028
32029// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32030func (nose NodeOpenedSuccessEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32031	return nil, false
32032}
32033
32034// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32035func (nose NodeOpenedSuccessEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32036	return nil, false
32037}
32038
32039// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32040func (nose NodeOpenedSuccessEvent) AsNodeEvent() (*NodeEvent, bool) {
32041	return nil, false
32042}
32043
32044// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32045func (nose NodeOpenedSuccessEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32046	return &nose, true
32047}
32048
32049// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32050func (nose NodeOpenedSuccessEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32051	return nil, false
32052}
32053
32054// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32055func (nose NodeOpenedSuccessEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32056	return nil, false
32057}
32058
32059// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32060func (nose NodeOpenedSuccessEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32061	return nil, false
32062}
32063
32064// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32065func (nose NodeOpenedSuccessEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32066	return nil, false
32067}
32068
32069// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32070func (nose NodeOpenedSuccessEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
32071	return nil, false
32072}
32073
32074// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32075func (nose NodeOpenedSuccessEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
32076	return nil, false
32077}
32078
32079// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32080func (nose NodeOpenedSuccessEvent) AsServiceEvent() (*ServiceEvent, bool) {
32081	return nil, false
32082}
32083
32084// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32085func (nose NodeOpenedSuccessEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
32086	return nil, false
32087}
32088
32089// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32090func (nose NodeOpenedSuccessEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
32091	return nil, false
32092}
32093
32094// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32095func (nose NodeOpenedSuccessEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
32096	return nil, false
32097}
32098
32099// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32100func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
32101	return nil, false
32102}
32103
32104// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32105func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
32106	return nil, false
32107}
32108
32109// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32110func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
32111	return nil, false
32112}
32113
32114// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32115func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
32116	return nil, false
32117}
32118
32119// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32120func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
32121	return nil, false
32122}
32123
32124// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32125func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
32126	return nil, false
32127}
32128
32129// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32130func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
32131	return nil, false
32132}
32133
32134// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32135func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
32136	return nil, false
32137}
32138
32139// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32140func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
32141	return nil, false
32142}
32143
32144// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32145func (nose NodeOpenedSuccessEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
32146	return nil, false
32147}
32148
32149// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32150func (nose NodeOpenedSuccessEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
32151	return nil, false
32152}
32153
32154// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32155func (nose NodeOpenedSuccessEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
32156	return nil, false
32157}
32158
32159// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32160func (nose NodeOpenedSuccessEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
32161	return nil, false
32162}
32163
32164// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32165func (nose NodeOpenedSuccessEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
32166	return nil, false
32167}
32168
32169// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32170func (nose NodeOpenedSuccessEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
32171	return nil, false
32172}
32173
32174// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32175func (nose NodeOpenedSuccessEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
32176	return nil, false
32177}
32178
32179// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32180func (nose NodeOpenedSuccessEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
32181	return nil, false
32182}
32183
32184// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32185func (nose NodeOpenedSuccessEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
32186	return nil, false
32187}
32188
32189// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32190func (nose NodeOpenedSuccessEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
32191	return nil, false
32192}
32193
32194// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32195func (nose NodeOpenedSuccessEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
32196	return nil, false
32197}
32198
32199// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32200func (nose NodeOpenedSuccessEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
32201	return nil, false
32202}
32203
32204// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32205func (nose NodeOpenedSuccessEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
32206	return &nose, true
32207}
32208
32209// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32210func (nose NodeOpenedSuccessEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
32211	return nil, false
32212}
32213
32214// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32215func (nose NodeOpenedSuccessEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
32216	return nil, false
32217}
32218
32219// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32220func (nose NodeOpenedSuccessEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
32221	return nil, false
32222}
32223
32224// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32225func (nose NodeOpenedSuccessEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
32226	return nil, false
32227}
32228
32229// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32230func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
32231	return nil, false
32232}
32233
32234// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32235func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
32236	return nil, false
32237}
32238
32239// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32240func (nose NodeOpenedSuccessEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
32241	return nil, false
32242}
32243
32244// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32245func (nose NodeOpenedSuccessEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
32246	return nil, false
32247}
32248
32249// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32250func (nose NodeOpenedSuccessEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
32251	return nil, false
32252}
32253
32254// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32255func (nose NodeOpenedSuccessEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
32256	return nil, false
32257}
32258
32259// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32260func (nose NodeOpenedSuccessEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
32261	return nil, false
32262}
32263
32264// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32265func (nose NodeOpenedSuccessEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
32266	return nil, false
32267}
32268
32269// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32270func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
32271	return nil, false
32272}
32273
32274// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32275func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
32276	return nil, false
32277}
32278
32279// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32280func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
32281	return nil, false
32282}
32283
32284// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32285func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
32286	return nil, false
32287}
32288
32289// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32290func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
32291	return nil, false
32292}
32293
32294// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32295func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
32296	return nil, false
32297}
32298
32299// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32300func (nose NodeOpenedSuccessEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
32301	return nil, false
32302}
32303
32304// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32305func (nose NodeOpenedSuccessEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
32306	return nil, false
32307}
32308
32309// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32310func (nose NodeOpenedSuccessEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
32311	return nil, false
32312}
32313
32314// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32315func (nose NodeOpenedSuccessEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
32316	return nil, false
32317}
32318
32319// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32320func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
32321	return nil, false
32322}
32323
32324// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32325func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
32326	return nil, false
32327}
32328
32329// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32330func (nose NodeOpenedSuccessEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
32331	return nil, false
32332}
32333
32334// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32335func (nose NodeOpenedSuccessEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
32336	return nil, false
32337}
32338
32339// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32340func (nose NodeOpenedSuccessEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
32341	return nil, false
32342}
32343
32344// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32345func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
32346	return nil, false
32347}
32348
32349// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32350func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
32351	return nil, false
32352}
32353
32354// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32355func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
32356	return nil, false
32357}
32358
32359// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32360func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
32361	return nil, false
32362}
32363
32364// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32365func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
32366	return nil, false
32367}
32368
32369// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32370func (nose NodeOpenedSuccessEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
32371	return nil, false
32372}
32373
32374// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32375func (nose NodeOpenedSuccessEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
32376	return nil, false
32377}
32378
32379// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32380func (nose NodeOpenedSuccessEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
32381	return nil, false
32382}
32383
32384// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32385func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
32386	return nil, false
32387}
32388
32389// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32390func (nose NodeOpenedSuccessEvent) AsFabricEvent() (*FabricEvent, bool) {
32391	return nil, false
32392}
32393
32394// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32395func (nose NodeOpenedSuccessEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
32396	return &nose, true
32397}
32398
32399// NodeOpenFailedEvent node Open Failed event.
32400type NodeOpenFailedEvent struct {
32401	// NodeInstance - Id of Node instance.
32402	NodeInstance *int64 `json:"NodeInstance,omitempty"`
32403	// NodeID - Id of Node.
32404	NodeID *string `json:"NodeId,omitempty"`
32405	// UpgradeDomain - Upgrade domain of Node.
32406	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
32407	// FaultDomain - Fault domain of Node.
32408	FaultDomain *string `json:"FaultDomain,omitempty"`
32409	// IPAddressOrFQDN - IP address or FQDN.
32410	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
32411	// Hostname - Name of Host.
32412	Hostname *string `json:"Hostname,omitempty"`
32413	// IsSeedNode - Indicates if it is seed node.
32414	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
32415	// NodeVersion - Version of Node.
32416	NodeVersion *string `json:"NodeVersion,omitempty"`
32417	// Error - Describes the error.
32418	Error *string `json:"Error,omitempty"`
32419	// NodeName - The name of a Service Fabric node.
32420	NodeName *string `json:"NodeName,omitempty"`
32421	// EventInstanceID - The identifier for the FabricEvent instance.
32422	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
32423	// TimeStamp - The time event was logged.
32424	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
32425	// HasCorrelatedEvents - Shows there is existing related events available.
32426	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
32427	// 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'
32428	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
32429}
32430
32431// MarshalJSON is the custom marshaler for NodeOpenFailedEvent.
32432func (nofe NodeOpenFailedEvent) MarshalJSON() ([]byte, error) {
32433	nofe.Kind = KindNodeOpenFailed
32434	objectMap := make(map[string]interface{})
32435	if nofe.NodeInstance != nil {
32436		objectMap["NodeInstance"] = nofe.NodeInstance
32437	}
32438	if nofe.NodeID != nil {
32439		objectMap["NodeId"] = nofe.NodeID
32440	}
32441	if nofe.UpgradeDomain != nil {
32442		objectMap["UpgradeDomain"] = nofe.UpgradeDomain
32443	}
32444	if nofe.FaultDomain != nil {
32445		objectMap["FaultDomain"] = nofe.FaultDomain
32446	}
32447	if nofe.IPAddressOrFQDN != nil {
32448		objectMap["IpAddressOrFQDN"] = nofe.IPAddressOrFQDN
32449	}
32450	if nofe.Hostname != nil {
32451		objectMap["Hostname"] = nofe.Hostname
32452	}
32453	if nofe.IsSeedNode != nil {
32454		objectMap["IsSeedNode"] = nofe.IsSeedNode
32455	}
32456	if nofe.NodeVersion != nil {
32457		objectMap["NodeVersion"] = nofe.NodeVersion
32458	}
32459	if nofe.Error != nil {
32460		objectMap["Error"] = nofe.Error
32461	}
32462	if nofe.NodeName != nil {
32463		objectMap["NodeName"] = nofe.NodeName
32464	}
32465	if nofe.EventInstanceID != nil {
32466		objectMap["EventInstanceId"] = nofe.EventInstanceID
32467	}
32468	if nofe.TimeStamp != nil {
32469		objectMap["TimeStamp"] = nofe.TimeStamp
32470	}
32471	if nofe.HasCorrelatedEvents != nil {
32472		objectMap["HasCorrelatedEvents"] = nofe.HasCorrelatedEvents
32473	}
32474	if nofe.Kind != "" {
32475		objectMap["Kind"] = nofe.Kind
32476	}
32477	return json.Marshal(objectMap)
32478}
32479
32480// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32481func (nofe NodeOpenFailedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32482	return nil, false
32483}
32484
32485// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32486func (nofe NodeOpenFailedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32487	return nil, false
32488}
32489
32490// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32491func (nofe NodeOpenFailedEvent) AsClusterEvent() (*ClusterEvent, bool) {
32492	return nil, false
32493}
32494
32495// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32496func (nofe NodeOpenFailedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32497	return nil, false
32498}
32499
32500// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32501func (nofe NodeOpenFailedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32502	return nil, false
32503}
32504
32505// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32506func (nofe NodeOpenFailedEvent) AsNodeEvent() (*NodeEvent, bool) {
32507	return nil, false
32508}
32509
32510// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32511func (nofe NodeOpenFailedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32512	return &nofe, true
32513}
32514
32515// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32516func (nofe NodeOpenFailedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32517	return nil, false
32518}
32519
32520// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32521func (nofe NodeOpenFailedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32522	return nil, false
32523}
32524
32525// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32526func (nofe NodeOpenFailedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32527	return nil, false
32528}
32529
32530// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32531func (nofe NodeOpenFailedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32532	return nil, false
32533}
32534
32535// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32536func (nofe NodeOpenFailedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
32537	return nil, false
32538}
32539
32540// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32541func (nofe NodeOpenFailedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
32542	return nil, false
32543}
32544
32545// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32546func (nofe NodeOpenFailedEvent) AsServiceEvent() (*ServiceEvent, bool) {
32547	return nil, false
32548}
32549
32550// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32551func (nofe NodeOpenFailedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
32552	return nil, false
32553}
32554
32555// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32556func (nofe NodeOpenFailedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
32557	return nil, false
32558}
32559
32560// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32561func (nofe NodeOpenFailedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
32562	return nil, false
32563}
32564
32565// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32566func (nofe NodeOpenFailedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
32567	return nil, false
32568}
32569
32570// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32571func (nofe NodeOpenFailedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
32572	return nil, false
32573}
32574
32575// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32576func (nofe NodeOpenFailedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
32577	return nil, false
32578}
32579
32580// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32581func (nofe NodeOpenFailedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
32582	return nil, false
32583}
32584
32585// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32586func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
32587	return nil, false
32588}
32589
32590// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32591func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
32592	return nil, false
32593}
32594
32595// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32596func (nofe NodeOpenFailedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
32597	return nil, false
32598}
32599
32600// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32601func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
32602	return nil, false
32603}
32604
32605// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32606func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
32607	return nil, false
32608}
32609
32610// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32611func (nofe NodeOpenFailedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
32612	return nil, false
32613}
32614
32615// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32616func (nofe NodeOpenFailedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
32617	return nil, false
32618}
32619
32620// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32621func (nofe NodeOpenFailedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
32622	return nil, false
32623}
32624
32625// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32626func (nofe NodeOpenFailedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
32627	return nil, false
32628}
32629
32630// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32631func (nofe NodeOpenFailedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
32632	return nil, false
32633}
32634
32635// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32636func (nofe NodeOpenFailedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
32637	return nil, false
32638}
32639
32640// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32641func (nofe NodeOpenFailedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
32642	return nil, false
32643}
32644
32645// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32646func (nofe NodeOpenFailedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
32647	return nil, false
32648}
32649
32650// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32651func (nofe NodeOpenFailedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
32652	return nil, false
32653}
32654
32655// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32656func (nofe NodeOpenFailedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
32657	return nil, false
32658}
32659
32660// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32661func (nofe NodeOpenFailedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
32662	return nil, false
32663}
32664
32665// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32666func (nofe NodeOpenFailedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
32667	return nil, false
32668}
32669
32670// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32671func (nofe NodeOpenFailedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
32672	return nil, false
32673}
32674
32675// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32676func (nofe NodeOpenFailedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
32677	return &nofe, true
32678}
32679
32680// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32681func (nofe NodeOpenFailedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
32682	return nil, false
32683}
32684
32685// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32686func (nofe NodeOpenFailedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
32687	return nil, false
32688}
32689
32690// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32691func (nofe NodeOpenFailedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
32692	return nil, false
32693}
32694
32695// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32696func (nofe NodeOpenFailedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
32697	return nil, false
32698}
32699
32700// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32701func (nofe NodeOpenFailedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
32702	return nil, false
32703}
32704
32705// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32706func (nofe NodeOpenFailedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
32707	return nil, false
32708}
32709
32710// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32711func (nofe NodeOpenFailedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
32712	return nil, false
32713}
32714
32715// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32716func (nofe NodeOpenFailedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
32717	return nil, false
32718}
32719
32720// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32721func (nofe NodeOpenFailedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
32722	return nil, false
32723}
32724
32725// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32726func (nofe NodeOpenFailedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
32727	return nil, false
32728}
32729
32730// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32731func (nofe NodeOpenFailedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
32732	return nil, false
32733}
32734
32735// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32736func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
32737	return nil, false
32738}
32739
32740// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32741func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
32742	return nil, false
32743}
32744
32745// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32746func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
32747	return nil, false
32748}
32749
32750// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32751func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
32752	return nil, false
32753}
32754
32755// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32756func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
32757	return nil, false
32758}
32759
32760// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32761func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
32762	return nil, false
32763}
32764
32765// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32766func (nofe NodeOpenFailedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
32767	return nil, false
32768}
32769
32770// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32771func (nofe NodeOpenFailedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
32772	return nil, false
32773}
32774
32775// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32776func (nofe NodeOpenFailedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
32777	return nil, false
32778}
32779
32780// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32781func (nofe NodeOpenFailedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
32782	return nil, false
32783}
32784
32785// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32786func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
32787	return nil, false
32788}
32789
32790// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32791func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
32792	return nil, false
32793}
32794
32795// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32796func (nofe NodeOpenFailedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
32797	return nil, false
32798}
32799
32800// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32801func (nofe NodeOpenFailedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
32802	return nil, false
32803}
32804
32805// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32806func (nofe NodeOpenFailedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
32807	return nil, false
32808}
32809
32810// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32811func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
32812	return nil, false
32813}
32814
32815// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32816func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
32817	return nil, false
32818}
32819
32820// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32821func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
32822	return nil, false
32823}
32824
32825// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32826func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
32827	return nil, false
32828}
32829
32830// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32831func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
32832	return nil, false
32833}
32834
32835// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32836func (nofe NodeOpenFailedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
32837	return nil, false
32838}
32839
32840// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32841func (nofe NodeOpenFailedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
32842	return nil, false
32843}
32844
32845// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32846func (nofe NodeOpenFailedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
32847	return nil, false
32848}
32849
32850// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32851func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
32852	return nil, false
32853}
32854
32855// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32856func (nofe NodeOpenFailedEvent) AsFabricEvent() (*FabricEvent, bool) {
32857	return nil, false
32858}
32859
32860// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32861func (nofe NodeOpenFailedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
32862	return &nofe, true
32863}
32864
32865// NodeOpeningEvent node Opening event.
32866type NodeOpeningEvent struct {
32867	// NodeInstance - Id of Node instance.
32868	NodeInstance *int64 `json:"NodeInstance,omitempty"`
32869	// NodeID - Id of Node.
32870	NodeID *string `json:"NodeId,omitempty"`
32871	// UpgradeDomain - Upgrade domain of Node.
32872	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
32873	// FaultDomain - Fault domain of Node.
32874	FaultDomain *string `json:"FaultDomain,omitempty"`
32875	// IPAddressOrFQDN - IP address or FQDN.
32876	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
32877	// Hostname - Name of Host.
32878	Hostname *string `json:"Hostname,omitempty"`
32879	// IsSeedNode - Indicates if it is seed node.
32880	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
32881	// NodeVersion - Version of Node.
32882	NodeVersion *string `json:"NodeVersion,omitempty"`
32883	// NodeName - The name of a Service Fabric node.
32884	NodeName *string `json:"NodeName,omitempty"`
32885	// EventInstanceID - The identifier for the FabricEvent instance.
32886	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
32887	// TimeStamp - The time event was logged.
32888	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
32889	// HasCorrelatedEvents - Shows there is existing related events available.
32890	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
32891	// 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'
32892	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
32893}
32894
32895// MarshalJSON is the custom marshaler for NodeOpeningEvent.
32896func (noe NodeOpeningEvent) MarshalJSON() ([]byte, error) {
32897	noe.Kind = KindNodeOpening
32898	objectMap := make(map[string]interface{})
32899	if noe.NodeInstance != nil {
32900		objectMap["NodeInstance"] = noe.NodeInstance
32901	}
32902	if noe.NodeID != nil {
32903		objectMap["NodeId"] = noe.NodeID
32904	}
32905	if noe.UpgradeDomain != nil {
32906		objectMap["UpgradeDomain"] = noe.UpgradeDomain
32907	}
32908	if noe.FaultDomain != nil {
32909		objectMap["FaultDomain"] = noe.FaultDomain
32910	}
32911	if noe.IPAddressOrFQDN != nil {
32912		objectMap["IpAddressOrFQDN"] = noe.IPAddressOrFQDN
32913	}
32914	if noe.Hostname != nil {
32915		objectMap["Hostname"] = noe.Hostname
32916	}
32917	if noe.IsSeedNode != nil {
32918		objectMap["IsSeedNode"] = noe.IsSeedNode
32919	}
32920	if noe.NodeVersion != nil {
32921		objectMap["NodeVersion"] = noe.NodeVersion
32922	}
32923	if noe.NodeName != nil {
32924		objectMap["NodeName"] = noe.NodeName
32925	}
32926	if noe.EventInstanceID != nil {
32927		objectMap["EventInstanceId"] = noe.EventInstanceID
32928	}
32929	if noe.TimeStamp != nil {
32930		objectMap["TimeStamp"] = noe.TimeStamp
32931	}
32932	if noe.HasCorrelatedEvents != nil {
32933		objectMap["HasCorrelatedEvents"] = noe.HasCorrelatedEvents
32934	}
32935	if noe.Kind != "" {
32936		objectMap["Kind"] = noe.Kind
32937	}
32938	return json.Marshal(objectMap)
32939}
32940
32941// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32942func (noe NodeOpeningEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32943	return nil, false
32944}
32945
32946// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32947func (noe NodeOpeningEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32948	return nil, false
32949}
32950
32951// AsClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32952func (noe NodeOpeningEvent) AsClusterEvent() (*ClusterEvent, bool) {
32953	return nil, false
32954}
32955
32956// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32957func (noe NodeOpeningEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32958	return nil, false
32959}
32960
32961// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32962func (noe NodeOpeningEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32963	return nil, false
32964}
32965
32966// AsNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32967func (noe NodeOpeningEvent) AsNodeEvent() (*NodeEvent, bool) {
32968	return nil, false
32969}
32970
32971// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32972func (noe NodeOpeningEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32973	return &noe, true
32974}
32975
32976// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32977func (noe NodeOpeningEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32978	return nil, false
32979}
32980
32981// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32982func (noe NodeOpeningEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32983	return nil, false
32984}
32985
32986// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32987func (noe NodeOpeningEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32988	return nil, false
32989}
32990
32991// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32992func (noe NodeOpeningEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32993	return nil, false
32994}
32995
32996// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
32997func (noe NodeOpeningEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
32998	return nil, false
32999}
33000
33001// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33002func (noe NodeOpeningEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33003	return nil, false
33004}
33005
33006// AsServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33007func (noe NodeOpeningEvent) AsServiceEvent() (*ServiceEvent, bool) {
33008	return nil, false
33009}
33010
33011// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33012func (noe NodeOpeningEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33013	return nil, false
33014}
33015
33016// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33017func (noe NodeOpeningEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33018	return nil, false
33019}
33020
33021// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33022func (noe NodeOpeningEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33023	return nil, false
33024}
33025
33026// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33027func (noe NodeOpeningEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33028	return nil, false
33029}
33030
33031// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33032func (noe NodeOpeningEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33033	return nil, false
33034}
33035
33036// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33037func (noe NodeOpeningEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33038	return nil, false
33039}
33040
33041// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33042func (noe NodeOpeningEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33043	return nil, false
33044}
33045
33046// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33047func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33048	return nil, false
33049}
33050
33051// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33052func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33053	return nil, false
33054}
33055
33056// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33057func (noe NodeOpeningEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33058	return nil, false
33059}
33060
33061// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33062func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33063	return nil, false
33064}
33065
33066// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33067func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33068	return nil, false
33069}
33070
33071// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33072func (noe NodeOpeningEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33073	return nil, false
33074}
33075
33076// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33077func (noe NodeOpeningEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33078	return nil, false
33079}
33080
33081// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33082func (noe NodeOpeningEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33083	return nil, false
33084}
33085
33086// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33087func (noe NodeOpeningEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
33088	return nil, false
33089}
33090
33091// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33092func (noe NodeOpeningEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33093	return nil, false
33094}
33095
33096// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33097func (noe NodeOpeningEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33098	return nil, false
33099}
33100
33101// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33102func (noe NodeOpeningEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33103	return nil, false
33104}
33105
33106// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33107func (noe NodeOpeningEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33108	return nil, false
33109}
33110
33111// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33112func (noe NodeOpeningEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33113	return nil, false
33114}
33115
33116// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33117func (noe NodeOpeningEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33118	return nil, false
33119}
33120
33121// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33122func (noe NodeOpeningEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33123	return nil, false
33124}
33125
33126// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33127func (noe NodeOpeningEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33128	return nil, false
33129}
33130
33131// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33132func (noe NodeOpeningEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33133	return nil, false
33134}
33135
33136// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33137func (noe NodeOpeningEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33138	return nil, false
33139}
33140
33141// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33142func (noe NodeOpeningEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33143	return &noe, true
33144}
33145
33146// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33147func (noe NodeOpeningEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33148	return nil, false
33149}
33150
33151// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33152func (noe NodeOpeningEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33153	return nil, false
33154}
33155
33156// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33157func (noe NodeOpeningEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33158	return nil, false
33159}
33160
33161// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33162func (noe NodeOpeningEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33163	return nil, false
33164}
33165
33166// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33167func (noe NodeOpeningEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33168	return nil, false
33169}
33170
33171// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33172func (noe NodeOpeningEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33173	return nil, false
33174}
33175
33176// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33177func (noe NodeOpeningEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33178	return nil, false
33179}
33180
33181// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33182func (noe NodeOpeningEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33183	return nil, false
33184}
33185
33186// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33187func (noe NodeOpeningEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33188	return nil, false
33189}
33190
33191// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33192func (noe NodeOpeningEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33193	return nil, false
33194}
33195
33196// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33197func (noe NodeOpeningEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33198	return nil, false
33199}
33200
33201// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33202func (noe NodeOpeningEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33203	return nil, false
33204}
33205
33206// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33207func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33208	return nil, false
33209}
33210
33211// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33212func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33213	return nil, false
33214}
33215
33216// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33217func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33218	return nil, false
33219}
33220
33221// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33222func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33223	return nil, false
33224}
33225
33226// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33227func (noe NodeOpeningEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33228	return nil, false
33229}
33230
33231// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33232func (noe NodeOpeningEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33233	return nil, false
33234}
33235
33236// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33237func (noe NodeOpeningEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33238	return nil, false
33239}
33240
33241// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33242func (noe NodeOpeningEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33243	return nil, false
33244}
33245
33246// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33247func (noe NodeOpeningEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33248	return nil, false
33249}
33250
33251// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33252func (noe NodeOpeningEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33253	return nil, false
33254}
33255
33256// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33257func (noe NodeOpeningEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33258	return nil, false
33259}
33260
33261// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33262func (noe NodeOpeningEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33263	return nil, false
33264}
33265
33266// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33267func (noe NodeOpeningEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33268	return nil, false
33269}
33270
33271// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33272func (noe NodeOpeningEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33273	return nil, false
33274}
33275
33276// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33277func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33278	return nil, false
33279}
33280
33281// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33282func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33283	return nil, false
33284}
33285
33286// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33287func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33288	return nil, false
33289}
33290
33291// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33292func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33293	return nil, false
33294}
33295
33296// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33297func (noe NodeOpeningEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33298	return nil, false
33299}
33300
33301// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33302func (noe NodeOpeningEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33303	return nil, false
33304}
33305
33306// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33307func (noe NodeOpeningEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33308	return nil, false
33309}
33310
33311// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33312func (noe NodeOpeningEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33313	return nil, false
33314}
33315
33316// AsFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33317func (noe NodeOpeningEvent) AsFabricEvent() (*FabricEvent, bool) {
33318	return nil, false
33319}
33320
33321// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33322func (noe NodeOpeningEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33323	return &noe, true
33324}
33325
33326// NodeRemovedEvent node Removed event.
33327type NodeRemovedEvent struct {
33328	// NodeID - Id of Node.
33329	NodeID *string `json:"NodeId,omitempty"`
33330	// NodeInstance - Id of Node instance.
33331	NodeInstance *int64 `json:"NodeInstance,omitempty"`
33332	// NodeType - Type of Node.
33333	NodeType *string `json:"NodeType,omitempty"`
33334	// FabricVersion - Fabric version.
33335	FabricVersion *string `json:"FabricVersion,omitempty"`
33336	// IPAddressOrFQDN - IP address or FQDN.
33337	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
33338	// NodeCapacities - Capacities.
33339	NodeCapacities *string `json:"NodeCapacities,omitempty"`
33340	// NodeName - The name of a Service Fabric node.
33341	NodeName *string `json:"NodeName,omitempty"`
33342	// EventInstanceID - The identifier for the FabricEvent instance.
33343	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
33344	// TimeStamp - The time event was logged.
33345	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
33346	// HasCorrelatedEvents - Shows there is existing related events available.
33347	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
33348	// 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'
33349	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
33350}
33351
33352// MarshalJSON is the custom marshaler for NodeRemovedEvent.
33353func (nre NodeRemovedEvent) MarshalJSON() ([]byte, error) {
33354	nre.Kind = KindNodeRemoved
33355	objectMap := make(map[string]interface{})
33356	if nre.NodeID != nil {
33357		objectMap["NodeId"] = nre.NodeID
33358	}
33359	if nre.NodeInstance != nil {
33360		objectMap["NodeInstance"] = nre.NodeInstance
33361	}
33362	if nre.NodeType != nil {
33363		objectMap["NodeType"] = nre.NodeType
33364	}
33365	if nre.FabricVersion != nil {
33366		objectMap["FabricVersion"] = nre.FabricVersion
33367	}
33368	if nre.IPAddressOrFQDN != nil {
33369		objectMap["IpAddressOrFQDN"] = nre.IPAddressOrFQDN
33370	}
33371	if nre.NodeCapacities != nil {
33372		objectMap["NodeCapacities"] = nre.NodeCapacities
33373	}
33374	if nre.NodeName != nil {
33375		objectMap["NodeName"] = nre.NodeName
33376	}
33377	if nre.EventInstanceID != nil {
33378		objectMap["EventInstanceId"] = nre.EventInstanceID
33379	}
33380	if nre.TimeStamp != nil {
33381		objectMap["TimeStamp"] = nre.TimeStamp
33382	}
33383	if nre.HasCorrelatedEvents != nil {
33384		objectMap["HasCorrelatedEvents"] = nre.HasCorrelatedEvents
33385	}
33386	if nre.Kind != "" {
33387		objectMap["Kind"] = nre.Kind
33388	}
33389	return json.Marshal(objectMap)
33390}
33391
33392// AsApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33393func (nre NodeRemovedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
33394	return nil, false
33395}
33396
33397// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33398func (nre NodeRemovedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
33399	return nil, false
33400}
33401
33402// AsClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33403func (nre NodeRemovedEvent) AsClusterEvent() (*ClusterEvent, bool) {
33404	return nil, false
33405}
33406
33407// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33408func (nre NodeRemovedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
33409	return nil, false
33410}
33411
33412// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33413func (nre NodeRemovedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
33414	return nil, false
33415}
33416
33417// AsNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33418func (nre NodeRemovedEvent) AsNodeEvent() (*NodeEvent, bool) {
33419	return nil, false
33420}
33421
33422// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33423func (nre NodeRemovedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
33424	return &nre, true
33425}
33426
33427// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33428func (nre NodeRemovedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
33429	return nil, false
33430}
33431
33432// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33433func (nre NodeRemovedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
33434	return nil, false
33435}
33436
33437// AsPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33438func (nre NodeRemovedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
33439	return nil, false
33440}
33441
33442// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33443func (nre NodeRemovedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
33444	return nil, false
33445}
33446
33447// AsReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33448func (nre NodeRemovedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
33449	return nil, false
33450}
33451
33452// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33453func (nre NodeRemovedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33454	return nil, false
33455}
33456
33457// AsServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33458func (nre NodeRemovedEvent) AsServiceEvent() (*ServiceEvent, bool) {
33459	return nil, false
33460}
33461
33462// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33463func (nre NodeRemovedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33464	return nil, false
33465}
33466
33467// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33468func (nre NodeRemovedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33469	return nil, false
33470}
33471
33472// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33473func (nre NodeRemovedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33474	return nil, false
33475}
33476
33477// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33478func (nre NodeRemovedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33479	return nil, false
33480}
33481
33482// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33483func (nre NodeRemovedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33484	return nil, false
33485}
33486
33487// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33488func (nre NodeRemovedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33489	return nil, false
33490}
33491
33492// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33493func (nre NodeRemovedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33494	return nil, false
33495}
33496
33497// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33498func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33499	return nil, false
33500}
33501
33502// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33503func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33504	return nil, false
33505}
33506
33507// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33508func (nre NodeRemovedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33509	return nil, false
33510}
33511
33512// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33513func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33514	return nil, false
33515}
33516
33517// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33518func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33519	return nil, false
33520}
33521
33522// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33523func (nre NodeRemovedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33524	return nil, false
33525}
33526
33527// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33528func (nre NodeRemovedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33529	return nil, false
33530}
33531
33532// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33533func (nre NodeRemovedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33534	return nil, false
33535}
33536
33537// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33538func (nre NodeRemovedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
33539	return nil, false
33540}
33541
33542// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33543func (nre NodeRemovedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33544	return nil, false
33545}
33546
33547// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33548func (nre NodeRemovedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33549	return nil, false
33550}
33551
33552// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33553func (nre NodeRemovedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33554	return nil, false
33555}
33556
33557// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33558func (nre NodeRemovedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33559	return nil, false
33560}
33561
33562// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33563func (nre NodeRemovedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33564	return nil, false
33565}
33566
33567// AsNodeDownEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33568func (nre NodeRemovedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33569	return nil, false
33570}
33571
33572// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33573func (nre NodeRemovedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33574	return nil, false
33575}
33576
33577// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33578func (nre NodeRemovedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33579	return nil, false
33580}
33581
33582// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33583func (nre NodeRemovedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33584	return nil, false
33585}
33586
33587// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33588func (nre NodeRemovedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33589	return nil, false
33590}
33591
33592// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33593func (nre NodeRemovedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33594	return nil, false
33595}
33596
33597// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33598func (nre NodeRemovedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33599	return &nre, true
33600}
33601
33602// AsNodeUpEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33603func (nre NodeRemovedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33604	return nil, false
33605}
33606
33607// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33608func (nre NodeRemovedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33609	return nil, false
33610}
33611
33612// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33613func (nre NodeRemovedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33614	return nil, false
33615}
33616
33617// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33618func (nre NodeRemovedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33619	return nil, false
33620}
33621
33622// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33623func (nre NodeRemovedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33624	return nil, false
33625}
33626
33627// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33628func (nre NodeRemovedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33629	return nil, false
33630}
33631
33632// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33633func (nre NodeRemovedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33634	return nil, false
33635}
33636
33637// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33638func (nre NodeRemovedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33639	return nil, false
33640}
33641
33642// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33643func (nre NodeRemovedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33644	return nil, false
33645}
33646
33647// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33648func (nre NodeRemovedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33649	return nil, false
33650}
33651
33652// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33653func (nre NodeRemovedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33654	return nil, false
33655}
33656
33657// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33658func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33659	return nil, false
33660}
33661
33662// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33663func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33664	return nil, false
33665}
33666
33667// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33668func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33669	return nil, false
33670}
33671
33672// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33673func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33674	return nil, false
33675}
33676
33677// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33678func (nre NodeRemovedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33679	return nil, false
33680}
33681
33682// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33683func (nre NodeRemovedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33684	return nil, false
33685}
33686
33687// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33688func (nre NodeRemovedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33689	return nil, false
33690}
33691
33692// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33693func (nre NodeRemovedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33694	return nil, false
33695}
33696
33697// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33698func (nre NodeRemovedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33699	return nil, false
33700}
33701
33702// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33703func (nre NodeRemovedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33704	return nil, false
33705}
33706
33707// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33708func (nre NodeRemovedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33709	return nil, false
33710}
33711
33712// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33713func (nre NodeRemovedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33714	return nil, false
33715}
33716
33717// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33718func (nre NodeRemovedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33719	return nil, false
33720}
33721
33722// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33723func (nre NodeRemovedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33724	return nil, false
33725}
33726
33727// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33728func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33729	return nil, false
33730}
33731
33732// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33733func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33734	return nil, false
33735}
33736
33737// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33738func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33739	return nil, false
33740}
33741
33742// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33743func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33744	return nil, false
33745}
33746
33747// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33748func (nre NodeRemovedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33749	return nil, false
33750}
33751
33752// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33753func (nre NodeRemovedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33754	return nil, false
33755}
33756
33757// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33758func (nre NodeRemovedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33759	return nil, false
33760}
33761
33762// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33763func (nre NodeRemovedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33764	return nil, false
33765}
33766
33767// AsFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33768func (nre NodeRemovedEvent) AsFabricEvent() (*FabricEvent, bool) {
33769	return nil, false
33770}
33771
33772// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33773func (nre NodeRemovedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33774	return &nre, true
33775}
33776
33777// NodeRepairImpactDescription describes the expected impact of a repair on a set of nodes.
33778//
33779// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
33780type NodeRepairImpactDescription struct {
33781	// NodeImpactList - The list of nodes impacted by a repair action and their respective expected impact.
33782	NodeImpactList *[]NodeImpact `json:"NodeImpactList,omitempty"`
33783	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
33784	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
33785}
33786
33787// MarshalJSON is the custom marshaler for NodeRepairImpactDescription.
33788func (nrid NodeRepairImpactDescription) MarshalJSON() ([]byte, error) {
33789	nrid.Kind = KindBasicRepairImpactDescriptionBaseKindNode
33790	objectMap := make(map[string]interface{})
33791	if nrid.NodeImpactList != nil {
33792		objectMap["NodeImpactList"] = nrid.NodeImpactList
33793	}
33794	if nrid.Kind != "" {
33795		objectMap["Kind"] = nrid.Kind
33796	}
33797	return json.Marshal(objectMap)
33798}
33799
33800// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
33801func (nrid NodeRepairImpactDescription) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
33802	return &nrid, true
33803}
33804
33805// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
33806func (nrid NodeRepairImpactDescription) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
33807	return nil, false
33808}
33809
33810// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
33811func (nrid NodeRepairImpactDescription) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
33812	return &nrid, true
33813}
33814
33815// NodeRepairTargetDescription describes the list of nodes targeted by a repair action.
33816//
33817// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
33818type NodeRepairTargetDescription struct {
33819	// NodeNames - The list of nodes targeted by a repair action.
33820	NodeNames *[]string `json:"NodeNames,omitempty"`
33821	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
33822	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
33823}
33824
33825// MarshalJSON is the custom marshaler for NodeRepairTargetDescription.
33826func (nrtd NodeRepairTargetDescription) MarshalJSON() ([]byte, error) {
33827	nrtd.Kind = KindBasicRepairTargetDescriptionBaseKindNode
33828	objectMap := make(map[string]interface{})
33829	if nrtd.NodeNames != nil {
33830		objectMap["NodeNames"] = nrtd.NodeNames
33831	}
33832	if nrtd.Kind != "" {
33833		objectMap["Kind"] = nrtd.Kind
33834	}
33835	return json.Marshal(objectMap)
33836}
33837
33838// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
33839func (nrtd NodeRepairTargetDescription) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
33840	return &nrtd, true
33841}
33842
33843// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
33844func (nrtd NodeRepairTargetDescription) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
33845	return nil, false
33846}
33847
33848// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
33849func (nrtd NodeRepairTargetDescription) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
33850	return &nrtd, true
33851}
33852
33853// NodeResult contains information about a node that was targeted by a user-induced operation.
33854type NodeResult struct {
33855	// NodeName - The name of a Service Fabric node.
33856	NodeName *string `json:"NodeName,omitempty"`
33857	// NodeInstanceID - The node instance id.
33858	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
33859}
33860
33861// NodesHealthEvaluation represents health evaluation for nodes, containing health evaluations for each unhealthy
33862// node that impacted current aggregated health state. Can be returned when evaluating cluster health and the
33863// aggregated health state is either Error or Warning.
33864type NodesHealthEvaluation struct {
33865	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
33866	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
33867	// TotalCount - Total number of nodes found in the health store.
33868	TotalCount *int64 `json:"TotalCount,omitempty"`
33869	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
33870	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
33871	// 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'
33872	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
33873	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
33874	Description *string `json:"Description,omitempty"`
33875	// 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'
33876	Kind Kind `json:"Kind,omitempty"`
33877}
33878
33879// MarshalJSON is the custom marshaler for NodesHealthEvaluation.
33880func (nhe NodesHealthEvaluation) MarshalJSON() ([]byte, error) {
33881	nhe.Kind = KindNodes
33882	objectMap := make(map[string]interface{})
33883	if nhe.MaxPercentUnhealthyNodes != nil {
33884		objectMap["MaxPercentUnhealthyNodes"] = nhe.MaxPercentUnhealthyNodes
33885	}
33886	if nhe.TotalCount != nil {
33887		objectMap["TotalCount"] = nhe.TotalCount
33888	}
33889	if nhe.UnhealthyEvaluations != nil {
33890		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
33891	}
33892	if nhe.AggregatedHealthState != "" {
33893		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
33894	}
33895	if nhe.Description != nil {
33896		objectMap["Description"] = nhe.Description
33897	}
33898	if nhe.Kind != "" {
33899		objectMap["Kind"] = nhe.Kind
33900	}
33901	return json.Marshal(objectMap)
33902}
33903
33904// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33905func (nhe NodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
33906	return nil, false
33907}
33908
33909// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33910func (nhe NodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
33911	return nil, false
33912}
33913
33914// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33915func (nhe NodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
33916	return nil, false
33917}
33918
33919// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33920func (nhe NodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
33921	return nil, false
33922}
33923
33924// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33925func (nhe NodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
33926	return nil, false
33927}
33928
33929// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33930func (nhe NodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
33931	return nil, false
33932}
33933
33934// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33935func (nhe NodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
33936	return nil, false
33937}
33938
33939// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33940func (nhe NodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
33941	return nil, false
33942}
33943
33944// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33945func (nhe NodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
33946	return nil, false
33947}
33948
33949// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33950func (nhe NodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
33951	return nil, false
33952}
33953
33954// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33955func (nhe NodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
33956	return &nhe, true
33957}
33958
33959// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33960func (nhe NodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
33961	return nil, false
33962}
33963
33964// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33965func (nhe NodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
33966	return nil, false
33967}
33968
33969// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33970func (nhe NodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
33971	return nil, false
33972}
33973
33974// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33975func (nhe NodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
33976	return nil, false
33977}
33978
33979// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33980func (nhe NodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
33981	return nil, false
33982}
33983
33984// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33985func (nhe NodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
33986	return nil, false
33987}
33988
33989// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33990func (nhe NodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
33991	return nil, false
33992}
33993
33994// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
33995func (nhe NodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
33996	return nil, false
33997}
33998
33999// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34000func (nhe NodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
34001	return nil, false
34002}
34003
34004// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34005func (nhe NodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
34006	return nil, false
34007}
34008
34009// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34010func (nhe NodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
34011	return &nhe, true
34012}
34013
34014// NodeTransitionProgress information about an NodeTransition operation.  This class contains an OperationState and
34015// a NodeTransitionResult.  The NodeTransitionResult is not valid until OperationState
34016// is Completed or Faulted.
34017type NodeTransitionProgress struct {
34018	autorest.Response `json:"-"`
34019	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
34020	State OperationState `json:"State,omitempty"`
34021	// NodeTransitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
34022	NodeTransitionResult *NodeTransitionResult `json:"NodeTransitionResult,omitempty"`
34023}
34024
34025// NodeTransitionResult represents information about an operation in a terminal state (Completed or Faulted).
34026type NodeTransitionResult struct {
34027	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
34028	ErrorCode *int32 `json:"ErrorCode,omitempty"`
34029	// NodeResult - Contains information about a node that was targeted by a user-induced operation.
34030	NodeResult *NodeResult `json:"NodeResult,omitempty"`
34031}
34032
34033// NodeUpEvent node Up event.
34034type NodeUpEvent struct {
34035	// NodeInstance - Id of Node instance.
34036	NodeInstance *int64 `json:"NodeInstance,omitempty"`
34037	// LastNodeDownAt - Time when Node was last down.
34038	LastNodeDownAt *date.Time `json:"LastNodeDownAt,omitempty"`
34039	// NodeName - The name of a Service Fabric node.
34040	NodeName *string `json:"NodeName,omitempty"`
34041	// EventInstanceID - The identifier for the FabricEvent instance.
34042	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
34043	// TimeStamp - The time event was logged.
34044	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
34045	// HasCorrelatedEvents - Shows there is existing related events available.
34046	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
34047	// 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'
34048	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
34049}
34050
34051// MarshalJSON is the custom marshaler for NodeUpEvent.
34052func (nue NodeUpEvent) MarshalJSON() ([]byte, error) {
34053	nue.Kind = KindNodeUp
34054	objectMap := make(map[string]interface{})
34055	if nue.NodeInstance != nil {
34056		objectMap["NodeInstance"] = nue.NodeInstance
34057	}
34058	if nue.LastNodeDownAt != nil {
34059		objectMap["LastNodeDownAt"] = nue.LastNodeDownAt
34060	}
34061	if nue.NodeName != nil {
34062		objectMap["NodeName"] = nue.NodeName
34063	}
34064	if nue.EventInstanceID != nil {
34065		objectMap["EventInstanceId"] = nue.EventInstanceID
34066	}
34067	if nue.TimeStamp != nil {
34068		objectMap["TimeStamp"] = nue.TimeStamp
34069	}
34070	if nue.HasCorrelatedEvents != nil {
34071		objectMap["HasCorrelatedEvents"] = nue.HasCorrelatedEvents
34072	}
34073	if nue.Kind != "" {
34074		objectMap["Kind"] = nue.Kind
34075	}
34076	return json.Marshal(objectMap)
34077}
34078
34079// AsApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
34080func (nue NodeUpEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
34081	return nil, false
34082}
34083
34084// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
34085func (nue NodeUpEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
34086	return nil, false
34087}
34088
34089// AsClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
34090func (nue NodeUpEvent) AsClusterEvent() (*ClusterEvent, bool) {
34091	return nil, false
34092}
34093
34094// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
34095func (nue NodeUpEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
34096	return nil, false
34097}
34098
34099// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeUpEvent.
34100func (nue NodeUpEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
34101	return nil, false
34102}
34103
34104// AsNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
34105func (nue NodeUpEvent) AsNodeEvent() (*NodeEvent, bool) {
34106	return nil, false
34107}
34108
34109// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
34110func (nue NodeUpEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
34111	return &nue, true
34112}
34113
34114// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
34115func (nue NodeUpEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
34116	return nil, false
34117}
34118
34119// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
34120func (nue NodeUpEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
34121	return nil, false
34122}
34123
34124// AsPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
34125func (nue NodeUpEvent) AsPartitionEvent() (*PartitionEvent, bool) {
34126	return nil, false
34127}
34128
34129// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
34130func (nue NodeUpEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
34131	return nil, false
34132}
34133
34134// AsReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
34135func (nue NodeUpEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
34136	return nil, false
34137}
34138
34139// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
34140func (nue NodeUpEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
34141	return nil, false
34142}
34143
34144// AsServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
34145func (nue NodeUpEvent) AsServiceEvent() (*ServiceEvent, bool) {
34146	return nil, false
34147}
34148
34149// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
34150func (nue NodeUpEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
34151	return nil, false
34152}
34153
34154// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34155func (nue NodeUpEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
34156	return nil, false
34157}
34158
34159// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34160func (nue NodeUpEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
34161	return nil, false
34162}
34163
34164// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34165func (nue NodeUpEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
34166	return nil, false
34167}
34168
34169// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34170func (nue NodeUpEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
34171	return nil, false
34172}
34173
34174// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34175func (nue NodeUpEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
34176	return nil, false
34177}
34178
34179// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34180func (nue NodeUpEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
34181	return nil, false
34182}
34183
34184// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34185func (nue NodeUpEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
34186	return nil, false
34187}
34188
34189// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34190func (nue NodeUpEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
34191	return nil, false
34192}
34193
34194// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34195func (nue NodeUpEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
34196	return nil, false
34197}
34198
34199// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34200func (nue NodeUpEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
34201	return nil, false
34202}
34203
34204// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34205func (nue NodeUpEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
34206	return nil, false
34207}
34208
34209// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34210func (nue NodeUpEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
34211	return nil, false
34212}
34213
34214// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34215func (nue NodeUpEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
34216	return nil, false
34217}
34218
34219// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34220func (nue NodeUpEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
34221	return nil, false
34222}
34223
34224// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeUpEvent.
34225func (nue NodeUpEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
34226	return nil, false
34227}
34228
34229// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34230func (nue NodeUpEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
34231	return nil, false
34232}
34233
34234// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeUpEvent.
34235func (nue NodeUpEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
34236	return nil, false
34237}
34238
34239// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeUpEvent.
34240func (nue NodeUpEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
34241	return nil, false
34242}
34243
34244// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34245func (nue NodeUpEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
34246	return nil, false
34247}
34248
34249// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34250func (nue NodeUpEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
34251	return nil, false
34252}
34253
34254// AsNodeDownEvent is the BasicFabricEvent implementation for NodeUpEvent.
34255func (nue NodeUpEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
34256	return nil, false
34257}
34258
34259// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34260func (nue NodeUpEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
34261	return nil, false
34262}
34263
34264// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34265func (nue NodeUpEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
34266	return nil, false
34267}
34268
34269// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeUpEvent.
34270func (nue NodeUpEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
34271	return nil, false
34272}
34273
34274// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34275func (nue NodeUpEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
34276	return nil, false
34277}
34278
34279// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeUpEvent.
34280func (nue NodeUpEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
34281	return nil, false
34282}
34283
34284// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34285func (nue NodeUpEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
34286	return nil, false
34287}
34288
34289// AsNodeUpEvent is the BasicFabricEvent implementation for NodeUpEvent.
34290func (nue NodeUpEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
34291	return &nue, true
34292}
34293
34294// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34295func (nue NodeUpEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
34296	return nil, false
34297}
34298
34299// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34300func (nue NodeUpEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
34301	return nil, false
34302}
34303
34304// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34305func (nue NodeUpEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
34306	return nil, false
34307}
34308
34309// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
34310func (nue NodeUpEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
34311	return nil, false
34312}
34313
34314// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34315func (nue NodeUpEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
34316	return nil, false
34317}
34318
34319// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34320func (nue NodeUpEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
34321	return nil, false
34322}
34323
34324// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34325func (nue NodeUpEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
34326	return nil, false
34327}
34328
34329// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34330func (nue NodeUpEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
34331	return nil, false
34332}
34333
34334// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34335func (nue NodeUpEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
34336	return nil, false
34337}
34338
34339// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34340func (nue NodeUpEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
34341	return nil, false
34342}
34343
34344// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34345func (nue NodeUpEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
34346	return nil, false
34347}
34348
34349// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34350func (nue NodeUpEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
34351	return nil, false
34352}
34353
34354// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34355func (nue NodeUpEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
34356	return nil, false
34357}
34358
34359// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34360func (nue NodeUpEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
34361	return nil, false
34362}
34363
34364// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34365func (nue NodeUpEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
34366	return nil, false
34367}
34368
34369// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34370func (nue NodeUpEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
34371	return nil, false
34372}
34373
34374// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34375func (nue NodeUpEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
34376	return nil, false
34377}
34378
34379// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34380func (nue NodeUpEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
34381	return nil, false
34382}
34383
34384// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34385func (nue NodeUpEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
34386	return nil, false
34387}
34388
34389// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34390func (nue NodeUpEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
34391	return nil, false
34392}
34393
34394// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34395func (nue NodeUpEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
34396	return nil, false
34397}
34398
34399// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34400func (nue NodeUpEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
34401	return nil, false
34402}
34403
34404// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34405func (nue NodeUpEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
34406	return nil, false
34407}
34408
34409// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34410func (nue NodeUpEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
34411	return nil, false
34412}
34413
34414// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34415func (nue NodeUpEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
34416	return nil, false
34417}
34418
34419// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34420func (nue NodeUpEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
34421	return nil, false
34422}
34423
34424// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34425func (nue NodeUpEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
34426	return nil, false
34427}
34428
34429// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34430func (nue NodeUpEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
34431	return nil, false
34432}
34433
34434// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34435func (nue NodeUpEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
34436	return nil, false
34437}
34438
34439// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34440func (nue NodeUpEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
34441	return nil, false
34442}
34443
34444// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34445func (nue NodeUpEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
34446	return nil, false
34447}
34448
34449// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34450func (nue NodeUpEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
34451	return nil, false
34452}
34453
34454// AsFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
34455func (nue NodeUpEvent) AsFabricEvent() (*FabricEvent, bool) {
34456	return nil, false
34457}
34458
34459// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
34460func (nue NodeUpEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
34461	return &nue, true
34462}
34463
34464// NodeUpgradeProgressInfo information about the upgrading node and its status
34465type NodeUpgradeProgressInfo struct {
34466	// NodeName - The name of a Service Fabric node.
34467	NodeName *string `json:"NodeName,omitempty"`
34468	// UpgradePhase - The state of the upgrading node. Possible values include: 'NodeUpgradePhaseInvalid', 'NodeUpgradePhasePreUpgradeSafetyCheck', 'NodeUpgradePhaseUpgrading', 'NodeUpgradePhasePostUpgradeSafetyCheck'
34469	UpgradePhase NodeUpgradePhase `json:"UpgradePhase,omitempty"`
34470	// PendingSafetyChecks - List of pending safety checks
34471	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
34472}
34473
34474// OperationStatus contains the OperationId, OperationState, and OperationType for user-induced operations.
34475type OperationStatus struct {
34476	// OperationID - A GUID that identifies a call to this API.  This is also passed into the corresponding GetProgress API.
34477	OperationID *uuid.UUID `json:"OperationId,omitempty"`
34478	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
34479	State OperationState `json:"State,omitempty"`
34480	// Type - The type of the operation. Possible values include: 'OperationTypeInvalid', 'OperationTypePartitionDataLoss', 'OperationTypePartitionQuorumLoss', 'OperationTypePartitionRestart', 'OperationTypeNodeTransition'
34481	Type OperationType `json:"Type,omitempty"`
34482}
34483
34484// PackageSharingPolicyInfo represents a policy for the package sharing.
34485type PackageSharingPolicyInfo struct {
34486	// SharedPackageName - The name of code, configuration or data package that should be shared.
34487	SharedPackageName *string `json:"SharedPackageName,omitempty"`
34488	// PackageSharingScope - Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation. Possible values include: 'PackageSharingPolicyScopeNone', 'PackageSharingPolicyScopeAll', 'PackageSharingPolicyScopeCode', 'PackageSharingPolicyScopeConfig', 'PackageSharingPolicyScopeData'
34489	PackageSharingScope PackageSharingPolicyScope `json:"PackageSharingScope,omitempty"`
34490}
34491
34492// PagedApplicationInfoList the list of applications in the cluster. The list is paged when all of the results
34493// cannot fit in a single message. The next set of results can be obtained by executing the same query with the
34494// continuation token provided in this list.
34495type PagedApplicationInfoList struct {
34496	autorest.Response `json:"-"`
34497	// 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.
34498	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34499	// Items - List of application information.
34500	Items *[]ApplicationInfo `json:"Items,omitempty"`
34501}
34502
34503// PagedApplicationTypeInfoList the list of application types that are provisioned or being provisioned in the
34504// cluster. The list is paged when all of the results cannot fit in a single message. The next set of results can
34505// be obtained by executing the same query with the continuation token provided in this list.
34506type PagedApplicationTypeInfoList struct {
34507	autorest.Response `json:"-"`
34508	// 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.
34509	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34510	// Items - List of application type information.
34511	Items *[]ApplicationTypeInfo `json:"Items,omitempty"`
34512}
34513
34514// PagedBackupConfigurationInfoList the list of backup configuration information. The list is paged when all of the
34515// results cannot fit in a single message. The next set of results can be obtained by executing the same query with
34516// the continuation token provided in this list.
34517type PagedBackupConfigurationInfoList struct {
34518	autorest.Response `json:"-"`
34519	// 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.
34520	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34521	// Items - List of backup configuration information.
34522	Items *[]BasicBackupConfigurationInfo `json:"Items,omitempty"`
34523}
34524
34525// UnmarshalJSON is the custom unmarshaler for PagedBackupConfigurationInfoList struct.
34526func (pbcil *PagedBackupConfigurationInfoList) UnmarshalJSON(body []byte) error {
34527	var m map[string]*json.RawMessage
34528	err := json.Unmarshal(body, &m)
34529	if err != nil {
34530		return err
34531	}
34532	for k, v := range m {
34533		switch k {
34534		case "ContinuationToken":
34535			if v != nil {
34536				var continuationToken string
34537				err = json.Unmarshal(*v, &continuationToken)
34538				if err != nil {
34539					return err
34540				}
34541				pbcil.ContinuationToken = &continuationToken
34542			}
34543		case "Items":
34544			if v != nil {
34545				items, err := unmarshalBasicBackupConfigurationInfoArray(*v)
34546				if err != nil {
34547					return err
34548				}
34549				pbcil.Items = &items
34550			}
34551		}
34552	}
34553
34554	return nil
34555}
34556
34557// PagedBackupEntityList the list of backup entities that are being periodically backed. The list is paged when all
34558// of the results cannot fit in a single message. The next set of results can be obtained by executing the same
34559// query with the continuation token provided in this list.
34560type PagedBackupEntityList struct {
34561	autorest.Response `json:"-"`
34562	// 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.
34563	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34564	// Items - List of backup entity information.
34565	Items *[]BasicBackupEntity `json:"Items,omitempty"`
34566}
34567
34568// UnmarshalJSON is the custom unmarshaler for PagedBackupEntityList struct.
34569func (pbel *PagedBackupEntityList) UnmarshalJSON(body []byte) error {
34570	var m map[string]*json.RawMessage
34571	err := json.Unmarshal(body, &m)
34572	if err != nil {
34573		return err
34574	}
34575	for k, v := range m {
34576		switch k {
34577		case "ContinuationToken":
34578			if v != nil {
34579				var continuationToken string
34580				err = json.Unmarshal(*v, &continuationToken)
34581				if err != nil {
34582					return err
34583				}
34584				pbel.ContinuationToken = &continuationToken
34585			}
34586		case "Items":
34587			if v != nil {
34588				items, err := unmarshalBasicBackupEntityArray(*v)
34589				if err != nil {
34590					return err
34591				}
34592				pbel.Items = &items
34593			}
34594		}
34595	}
34596
34597	return nil
34598}
34599
34600// PagedBackupInfoList the list of backups. The list is paged when all of the results cannot fit in a single
34601// message. The next set of results can be obtained by executing the same query with the continuation token
34602// provided in this list.
34603type PagedBackupInfoList struct {
34604	autorest.Response `json:"-"`
34605	// 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.
34606	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34607	// Items - List of backup information.
34608	Items *[]BackupInfo `json:"Items,omitempty"`
34609}
34610
34611// PagedBackupPolicyDescriptionList the list of backup policies configured in the cluster. The list is paged when
34612// all of the results cannot fit in a single message. The next set of results can be obtained by executing the same
34613// query with the continuation token provided in this list.
34614type PagedBackupPolicyDescriptionList struct {
34615	autorest.Response `json:"-"`
34616	// 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.
34617	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34618	// Items - The list of backup policies information.
34619	Items *[]BackupPolicyDescription `json:"Items,omitempty"`
34620}
34621
34622// PagedComposeDeploymentStatusInfoList the list of compose deployments in the cluster. The list is paged when all
34623// of the results cannot fit in a single message. The next set of results can be obtained by executing the same
34624// query with the continuation token provided in this list.
34625type PagedComposeDeploymentStatusInfoList struct {
34626	autorest.Response `json:"-"`
34627	// 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.
34628	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34629	// Items - List of compose deployment status information.
34630	Items *[]ComposeDeploymentStatusInfo `json:"Items,omitempty"`
34631}
34632
34633// PagedDeployedApplicationInfoList the list of deployed applications in activating, downloading, or active states
34634// on a node.
34635// The list is paged when all of the results cannot fit in a single message.
34636// The next set of results can be obtained by executing the same query with the continuation token provided in this
34637// list.
34638type PagedDeployedApplicationInfoList struct {
34639	autorest.Response `json:"-"`
34640	// 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.
34641	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34642	// Items - List of deployed application information.
34643	Items *[]DeployedApplicationInfo `json:"Items,omitempty"`
34644}
34645
34646// PagedNodeInfoList the list of nodes in the cluster. The list is paged when all of the results cannot fit in a
34647// single message. The next set of results can be obtained by executing the same query with the continuation token
34648// provided in this list.
34649type PagedNodeInfoList struct {
34650	autorest.Response `json:"-"`
34651	// 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.
34652	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34653	// Items - List of node information.
34654	Items *[]NodeInfo `json:"Items,omitempty"`
34655}
34656
34657// PagedPropertyInfoList the paged list of Service Fabric properties under a given name. The list is paged when all
34658// of the results cannot fit in a single message. The next set of results can be obtained by executing the same
34659// query with the continuation token provided in this list.
34660type PagedPropertyInfoList struct {
34661	autorest.Response `json:"-"`
34662	// 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.
34663	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34664	// 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.
34665	IsConsistent *bool `json:"IsConsistent,omitempty"`
34666	// Properties - List of property information.
34667	Properties *[]PropertyInfo `json:"Properties,omitempty"`
34668}
34669
34670// PagedReplicaInfoList the list of replicas in the cluster for a given partition. The list is paged when all of
34671// the results cannot fit in a single message. The next set of results can be obtained by executing the same query
34672// with the continuation token provided in this list.
34673type PagedReplicaInfoList struct {
34674	autorest.Response `json:"-"`
34675	// 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.
34676	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34677	// Items - List of replica information.
34678	Items *[]BasicReplicaInfo `json:"Items,omitempty"`
34679}
34680
34681// UnmarshalJSON is the custom unmarshaler for PagedReplicaInfoList struct.
34682func (pril *PagedReplicaInfoList) UnmarshalJSON(body []byte) error {
34683	var m map[string]*json.RawMessage
34684	err := json.Unmarshal(body, &m)
34685	if err != nil {
34686		return err
34687	}
34688	for k, v := range m {
34689		switch k {
34690		case "ContinuationToken":
34691			if v != nil {
34692				var continuationToken string
34693				err = json.Unmarshal(*v, &continuationToken)
34694				if err != nil {
34695					return err
34696				}
34697				pril.ContinuationToken = &continuationToken
34698			}
34699		case "Items":
34700			if v != nil {
34701				items, err := unmarshalBasicReplicaInfoArray(*v)
34702				if err != nil {
34703					return err
34704				}
34705				pril.Items = &items
34706			}
34707		}
34708	}
34709
34710	return nil
34711}
34712
34713// PagedServiceInfoList the list of services in the cluster for an application. The list is paged when all of the
34714// results cannot fit in a single message. The next set of results can be obtained by executing the same query with
34715// the continuation token provided in this list.
34716type PagedServiceInfoList struct {
34717	autorest.Response `json:"-"`
34718	// 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.
34719	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34720	// Items - List of service information.
34721	Items *[]BasicServiceInfo `json:"Items,omitempty"`
34722}
34723
34724// UnmarshalJSON is the custom unmarshaler for PagedServiceInfoList struct.
34725func (psil *PagedServiceInfoList) UnmarshalJSON(body []byte) error {
34726	var m map[string]*json.RawMessage
34727	err := json.Unmarshal(body, &m)
34728	if err != nil {
34729		return err
34730	}
34731	for k, v := range m {
34732		switch k {
34733		case "ContinuationToken":
34734			if v != nil {
34735				var continuationToken string
34736				err = json.Unmarshal(*v, &continuationToken)
34737				if err != nil {
34738					return err
34739				}
34740				psil.ContinuationToken = &continuationToken
34741			}
34742		case "Items":
34743			if v != nil {
34744				items, err := unmarshalBasicServiceInfoArray(*v)
34745				if err != nil {
34746					return err
34747				}
34748				psil.Items = &items
34749			}
34750		}
34751	}
34752
34753	return nil
34754}
34755
34756// PagedServicePartitionInfoList the list of partition in the cluster for a service. The list is paged when all of
34757// the results cannot fit in a single message. The next set of results can be obtained by executing the same query
34758// with the continuation token provided in this list.
34759type PagedServicePartitionInfoList struct {
34760	autorest.Response `json:"-"`
34761	// 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.
34762	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34763	// Items - List of service partition information.
34764	Items *[]BasicServicePartitionInfo `json:"Items,omitempty"`
34765}
34766
34767// UnmarshalJSON is the custom unmarshaler for PagedServicePartitionInfoList struct.
34768func (pspil *PagedServicePartitionInfoList) UnmarshalJSON(body []byte) error {
34769	var m map[string]*json.RawMessage
34770	err := json.Unmarshal(body, &m)
34771	if err != nil {
34772		return err
34773	}
34774	for k, v := range m {
34775		switch k {
34776		case "ContinuationToken":
34777			if v != nil {
34778				var continuationToken string
34779				err = json.Unmarshal(*v, &continuationToken)
34780				if err != nil {
34781					return err
34782				}
34783				pspil.ContinuationToken = &continuationToken
34784			}
34785		case "Items":
34786			if v != nil {
34787				items, err := unmarshalBasicServicePartitionInfoArray(*v)
34788				if err != nil {
34789					return err
34790				}
34791				pspil.Items = &items
34792			}
34793		}
34794	}
34795
34796	return nil
34797}
34798
34799// PagedSubNameInfoList a paged list of Service Fabric names. The list is paged when all of the results cannot fit
34800// in a single message. The next set of results can be obtained by executing the same query with the continuation
34801// token provided in this list.
34802type PagedSubNameInfoList struct {
34803	autorest.Response `json:"-"`
34804	// 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.
34805	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34806	// 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.
34807	IsConsistent *bool `json:"IsConsistent,omitempty"`
34808	// SubNames - List of the child names.
34809	SubNames *[]string `json:"SubNames,omitempty"`
34810}
34811
34812// BasicPartitionAnalysisEvent represents the base for all Partition Analysis Events.
34813type BasicPartitionAnalysisEvent interface {
34814	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
34815	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
34816}
34817
34818// PartitionAnalysisEvent represents the base for all Partition Analysis Events.
34819type PartitionAnalysisEvent struct {
34820	// Metadata - Metadata about an Analysis Event.
34821	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
34822	// 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.
34823	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
34824	// EventInstanceID - The identifier for the FabricEvent instance.
34825	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
34826	// TimeStamp - The time event was logged.
34827	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
34828	// HasCorrelatedEvents - Shows there is existing related events available.
34829	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
34830	// 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'
34831	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
34832}
34833
34834func unmarshalBasicPartitionAnalysisEvent(body []byte) (BasicPartitionAnalysisEvent, error) {
34835	var m map[string]interface{}
34836	err := json.Unmarshal(body, &m)
34837	if err != nil {
34838		return nil, err
34839	}
34840
34841	switch m["Kind"] {
34842	case string(KindPartitionPrimaryMoveAnalysis):
34843		var ppmae PartitionPrimaryMoveAnalysisEvent
34844		err := json.Unmarshal(body, &ppmae)
34845		return ppmae, err
34846	default:
34847		var pae PartitionAnalysisEvent
34848		err := json.Unmarshal(body, &pae)
34849		return pae, err
34850	}
34851}
34852func unmarshalBasicPartitionAnalysisEventArray(body []byte) ([]BasicPartitionAnalysisEvent, error) {
34853	var rawMessages []*json.RawMessage
34854	err := json.Unmarshal(body, &rawMessages)
34855	if err != nil {
34856		return nil, err
34857	}
34858
34859	paeArray := make([]BasicPartitionAnalysisEvent, len(rawMessages))
34860
34861	for index, rawMessage := range rawMessages {
34862		pae, err := unmarshalBasicPartitionAnalysisEvent(*rawMessage)
34863		if err != nil {
34864			return nil, err
34865		}
34866		paeArray[index] = pae
34867	}
34868	return paeArray, nil
34869}
34870
34871// MarshalJSON is the custom marshaler for PartitionAnalysisEvent.
34872func (pae PartitionAnalysisEvent) MarshalJSON() ([]byte, error) {
34873	pae.Kind = KindPartitionAnalysisEvent
34874	objectMap := make(map[string]interface{})
34875	if pae.Metadata != nil {
34876		objectMap["Metadata"] = pae.Metadata
34877	}
34878	if pae.PartitionID != nil {
34879		objectMap["PartitionId"] = pae.PartitionID
34880	}
34881	if pae.EventInstanceID != nil {
34882		objectMap["EventInstanceId"] = pae.EventInstanceID
34883	}
34884	if pae.TimeStamp != nil {
34885		objectMap["TimeStamp"] = pae.TimeStamp
34886	}
34887	if pae.HasCorrelatedEvents != nil {
34888		objectMap["HasCorrelatedEvents"] = pae.HasCorrelatedEvents
34889	}
34890	if pae.Kind != "" {
34891		objectMap["Kind"] = pae.Kind
34892	}
34893	return json.Marshal(objectMap)
34894}
34895
34896// AsApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34897func (pae PartitionAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
34898	return nil, false
34899}
34900
34901// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34902func (pae PartitionAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
34903	return nil, false
34904}
34905
34906// AsClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34907func (pae PartitionAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
34908	return nil, false
34909}
34910
34911// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34912func (pae PartitionAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
34913	return nil, false
34914}
34915
34916// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34917func (pae PartitionAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
34918	return nil, false
34919}
34920
34921// AsNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34922func (pae PartitionAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
34923	return nil, false
34924}
34925
34926// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34927func (pae PartitionAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
34928	return nil, false
34929}
34930
34931// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34932func (pae PartitionAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
34933	return &pae, true
34934}
34935
34936// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34937func (pae PartitionAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
34938	return &pae, true
34939}
34940
34941// AsPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34942func (pae PartitionAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
34943	return nil, false
34944}
34945
34946// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34947func (pae PartitionAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
34948	return &pae, true
34949}
34950
34951// AsReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34952func (pae PartitionAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
34953	return nil, false
34954}
34955
34956// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34957func (pae PartitionAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
34958	return nil, false
34959}
34960
34961// AsServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34962func (pae PartitionAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
34963	return nil, false
34964}
34965
34966// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34967func (pae PartitionAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
34968	return nil, false
34969}
34970
34971// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34972func (pae PartitionAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
34973	return nil, false
34974}
34975
34976// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34977func (pae PartitionAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
34978	return nil, false
34979}
34980
34981// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34982func (pae PartitionAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
34983	return nil, false
34984}
34985
34986// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34987func (pae PartitionAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
34988	return nil, false
34989}
34990
34991// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34992func (pae PartitionAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
34993	return nil, false
34994}
34995
34996// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
34997func (pae PartitionAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
34998	return nil, false
34999}
35000
35001// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35002func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
35003	return nil, false
35004}
35005
35006// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35007func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
35008	return nil, false
35009}
35010
35011// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35012func (pae PartitionAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
35013	return nil, false
35014}
35015
35016// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35017func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
35018	return nil, false
35019}
35020
35021// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35022func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
35023	return nil, false
35024}
35025
35026// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35027func (pae PartitionAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
35028	return nil, false
35029}
35030
35031// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35032func (pae PartitionAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
35033	return nil, false
35034}
35035
35036// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35037func (pae PartitionAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
35038	return nil, false
35039}
35040
35041// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35042func (pae PartitionAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
35043	return nil, false
35044}
35045
35046// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35047func (pae PartitionAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
35048	return nil, false
35049}
35050
35051// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35052func (pae PartitionAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
35053	return nil, false
35054}
35055
35056// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35057func (pae PartitionAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
35058	return nil, false
35059}
35060
35061// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35062func (pae PartitionAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
35063	return nil, false
35064}
35065
35066// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35067func (pae PartitionAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
35068	return nil, false
35069}
35070
35071// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35072func (pae PartitionAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
35073	return nil, false
35074}
35075
35076// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35077func (pae PartitionAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
35078	return nil, false
35079}
35080
35081// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35082func (pae PartitionAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
35083	return nil, false
35084}
35085
35086// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35087func (pae PartitionAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
35088	return nil, false
35089}
35090
35091// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35092func (pae PartitionAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
35093	return nil, false
35094}
35095
35096// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35097func (pae PartitionAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
35098	return nil, false
35099}
35100
35101// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35102func (pae PartitionAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
35103	return nil, false
35104}
35105
35106// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35107func (pae PartitionAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
35108	return nil, false
35109}
35110
35111// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35112func (pae PartitionAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
35113	return nil, false
35114}
35115
35116// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35117func (pae PartitionAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
35118	return nil, false
35119}
35120
35121// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35122func (pae PartitionAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
35123	return nil, false
35124}
35125
35126// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35127func (pae PartitionAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
35128	return nil, false
35129}
35130
35131// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35132func (pae PartitionAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
35133	return nil, false
35134}
35135
35136// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35137func (pae PartitionAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
35138	return nil, false
35139}
35140
35141// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35142func (pae PartitionAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
35143	return nil, false
35144}
35145
35146// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35147func (pae PartitionAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
35148	return nil, false
35149}
35150
35151// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35152func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
35153	return nil, false
35154}
35155
35156// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35157func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
35158	return nil, false
35159}
35160
35161// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35162func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
35163	return nil, false
35164}
35165
35166// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35167func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
35168	return nil, false
35169}
35170
35171// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35172func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
35173	return nil, false
35174}
35175
35176// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35177func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
35178	return nil, false
35179}
35180
35181// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35182func (pae PartitionAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
35183	return nil, false
35184}
35185
35186// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35187func (pae PartitionAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
35188	return nil, false
35189}
35190
35191// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35192func (pae PartitionAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
35193	return nil, false
35194}
35195
35196// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35197func (pae PartitionAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
35198	return nil, false
35199}
35200
35201// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35202func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
35203	return nil, false
35204}
35205
35206// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35207func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
35208	return nil, false
35209}
35210
35211// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35212func (pae PartitionAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
35213	return nil, false
35214}
35215
35216// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35217func (pae PartitionAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
35218	return nil, false
35219}
35220
35221// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35222func (pae PartitionAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
35223	return nil, false
35224}
35225
35226// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35227func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
35228	return nil, false
35229}
35230
35231// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35232func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
35233	return nil, false
35234}
35235
35236// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35237func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
35238	return nil, false
35239}
35240
35241// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35242func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
35243	return nil, false
35244}
35245
35246// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35247func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
35248	return nil, false
35249}
35250
35251// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35252func (pae PartitionAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
35253	return nil, false
35254}
35255
35256// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35257func (pae PartitionAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
35258	return nil, false
35259}
35260
35261// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35262func (pae PartitionAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
35263	return nil, false
35264}
35265
35266// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35267func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
35268	return nil, false
35269}
35270
35271// AsFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35272func (pae PartitionAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
35273	return nil, false
35274}
35275
35276// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35277func (pae PartitionAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
35278	return &pae, true
35279}
35280
35281// PartitionBackupConfigurationInfo backup configuration information, for a specific partition, specifying what
35282// backup policy is being applied and suspend description, if any.
35283type PartitionBackupConfigurationInfo struct {
35284	autorest.Response `json:"-"`
35285	// ServiceName - The full name of the service with 'fabric:' URI scheme.
35286	ServiceName *string `json:"ServiceName,omitempty"`
35287	// 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.
35288	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35289	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
35290	PolicyName *string `json:"PolicyName,omitempty"`
35291	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
35292	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
35293	// SuspensionInfo - Describes the backup suspension details.
35294	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
35295	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
35296	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
35297}
35298
35299// MarshalJSON is the custom marshaler for PartitionBackupConfigurationInfo.
35300func (pbci PartitionBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
35301	pbci.Kind = KindBasicBackupConfigurationInfoKindPartition
35302	objectMap := make(map[string]interface{})
35303	if pbci.ServiceName != nil {
35304		objectMap["ServiceName"] = pbci.ServiceName
35305	}
35306	if pbci.PartitionID != nil {
35307		objectMap["PartitionId"] = pbci.PartitionID
35308	}
35309	if pbci.PolicyName != nil {
35310		objectMap["PolicyName"] = pbci.PolicyName
35311	}
35312	if pbci.PolicyInheritedFrom != "" {
35313		objectMap["PolicyInheritedFrom"] = pbci.PolicyInheritedFrom
35314	}
35315	if pbci.SuspensionInfo != nil {
35316		objectMap["SuspensionInfo"] = pbci.SuspensionInfo
35317	}
35318	if pbci.Kind != "" {
35319		objectMap["Kind"] = pbci.Kind
35320	}
35321	return json.Marshal(objectMap)
35322}
35323
35324// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35325func (pbci PartitionBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
35326	return nil, false
35327}
35328
35329// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35330func (pbci PartitionBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
35331	return nil, false
35332}
35333
35334// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35335func (pbci PartitionBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
35336	return &pbci, true
35337}
35338
35339// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35340func (pbci PartitionBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
35341	return nil, false
35342}
35343
35344// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35345func (pbci PartitionBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
35346	return &pbci, true
35347}
35348
35349// PartitionBackupEntity identifies the Service Fabric stateful partition which is being backed up.
35350type PartitionBackupEntity struct {
35351	// ServiceName - The full name of the service with 'fabric:' URI scheme.
35352	ServiceName *string `json:"ServiceName,omitempty"`
35353	// 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.
35354	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35355	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
35356	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
35357}
35358
35359// MarshalJSON is the custom marshaler for PartitionBackupEntity.
35360func (pbe PartitionBackupEntity) MarshalJSON() ([]byte, error) {
35361	pbe.EntityKind = EntityKindPartition1
35362	objectMap := make(map[string]interface{})
35363	if pbe.ServiceName != nil {
35364		objectMap["ServiceName"] = pbe.ServiceName
35365	}
35366	if pbe.PartitionID != nil {
35367		objectMap["PartitionId"] = pbe.PartitionID
35368	}
35369	if pbe.EntityKind != "" {
35370		objectMap["EntityKind"] = pbe.EntityKind
35371	}
35372	return json.Marshal(objectMap)
35373}
35374
35375// AsApplicationBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35376func (pbe PartitionBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
35377	return nil, false
35378}
35379
35380// AsServiceBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35381func (pbe PartitionBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
35382	return nil, false
35383}
35384
35385// AsPartitionBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35386func (pbe PartitionBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
35387	return &pbe, true
35388}
35389
35390// AsBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35391func (pbe PartitionBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
35392	return nil, false
35393}
35394
35395// AsBasicBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35396func (pbe PartitionBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
35397	return &pbe, true
35398}
35399
35400// PartitionDataLossProgress information about a partition data loss user-induced operation.
35401type PartitionDataLossProgress struct {
35402	autorest.Response `json:"-"`
35403	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
35404	State OperationState `json:"State,omitempty"`
35405	// InvokeDataLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
35406	InvokeDataLossResult *InvokeDataLossResult `json:"InvokeDataLossResult,omitempty"`
35407}
35408
35409// BasicPartitionEvent represents the base for all Partition Events.
35410type BasicPartitionEvent interface {
35411	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
35412	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
35413	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
35414	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
35415	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
35416	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
35417	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
35418	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
35419	AsPartitionEvent() (*PartitionEvent, bool)
35420}
35421
35422// PartitionEvent represents the base for all Partition Events.
35423type PartitionEvent struct {
35424	// 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.
35425	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35426	// EventInstanceID - The identifier for the FabricEvent instance.
35427	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
35428	// TimeStamp - The time event was logged.
35429	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
35430	// HasCorrelatedEvents - Shows there is existing related events available.
35431	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
35432	// 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'
35433	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
35434}
35435
35436func unmarshalBasicPartitionEvent(body []byte) (BasicPartitionEvent, error) {
35437	var m map[string]interface{}
35438	err := json.Unmarshal(body, &m)
35439	if err != nil {
35440		return nil, err
35441	}
35442
35443	switch m["Kind"] {
35444	case string(KindPartitionAnalysisEvent):
35445		var pae PartitionAnalysisEvent
35446		err := json.Unmarshal(body, &pae)
35447		return pae, err
35448	case string(KindPartitionHealthReportCreated):
35449		var phrce PartitionHealthReportCreatedEvent
35450		err := json.Unmarshal(body, &phrce)
35451		return phrce, err
35452	case string(KindPartitionHealthReportExpired):
35453		var phree PartitionHealthReportExpiredEvent
35454		err := json.Unmarshal(body, &phree)
35455		return phree, err
35456	case string(KindPartitionReconfigurationCompleted):
35457		var prce PartitionReconfigurationCompletedEvent
35458		err := json.Unmarshal(body, &prce)
35459		return prce, err
35460	case string(KindPartitionPrimaryMoveAnalysis):
35461		var ppmae PartitionPrimaryMoveAnalysisEvent
35462		err := json.Unmarshal(body, &ppmae)
35463		return ppmae, err
35464	case string(KindChaosMoveSecondaryFaultScheduled):
35465		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
35466		err := json.Unmarshal(body, &cmsfse)
35467		return cmsfse, err
35468	case string(KindChaosMovePrimaryFaultScheduled):
35469		var cmpfse ChaosMovePrimaryFaultScheduledEvent
35470		err := json.Unmarshal(body, &cmpfse)
35471		return cmpfse, err
35472	default:
35473		var peVar PartitionEvent
35474		err := json.Unmarshal(body, &peVar)
35475		return peVar, err
35476	}
35477}
35478func unmarshalBasicPartitionEventArray(body []byte) ([]BasicPartitionEvent, error) {
35479	var rawMessages []*json.RawMessage
35480	err := json.Unmarshal(body, &rawMessages)
35481	if err != nil {
35482		return nil, err
35483	}
35484
35485	peVarArray := make([]BasicPartitionEvent, len(rawMessages))
35486
35487	for index, rawMessage := range rawMessages {
35488		peVar, err := unmarshalBasicPartitionEvent(*rawMessage)
35489		if err != nil {
35490			return nil, err
35491		}
35492		peVarArray[index] = peVar
35493	}
35494	return peVarArray, nil
35495}
35496
35497// MarshalJSON is the custom marshaler for PartitionEvent.
35498func (peVar PartitionEvent) MarshalJSON() ([]byte, error) {
35499	peVar.Kind = KindPartitionEvent
35500	objectMap := make(map[string]interface{})
35501	if peVar.PartitionID != nil {
35502		objectMap["PartitionId"] = peVar.PartitionID
35503	}
35504	if peVar.EventInstanceID != nil {
35505		objectMap["EventInstanceId"] = peVar.EventInstanceID
35506	}
35507	if peVar.TimeStamp != nil {
35508		objectMap["TimeStamp"] = peVar.TimeStamp
35509	}
35510	if peVar.HasCorrelatedEvents != nil {
35511		objectMap["HasCorrelatedEvents"] = peVar.HasCorrelatedEvents
35512	}
35513	if peVar.Kind != "" {
35514		objectMap["Kind"] = peVar.Kind
35515	}
35516	return json.Marshal(objectMap)
35517}
35518
35519// AsApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
35520func (peVar PartitionEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
35521	return nil, false
35522}
35523
35524// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
35525func (peVar PartitionEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
35526	return nil, false
35527}
35528
35529// AsClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
35530func (peVar PartitionEvent) AsClusterEvent() (*ClusterEvent, bool) {
35531	return nil, false
35532}
35533
35534// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
35535func (peVar PartitionEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
35536	return nil, false
35537}
35538
35539// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionEvent.
35540func (peVar PartitionEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
35541	return nil, false
35542}
35543
35544// AsNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
35545func (peVar PartitionEvent) AsNodeEvent() (*NodeEvent, bool) {
35546	return nil, false
35547}
35548
35549// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
35550func (peVar PartitionEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
35551	return nil, false
35552}
35553
35554// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
35555func (peVar PartitionEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
35556	return nil, false
35557}
35558
35559// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
35560func (peVar PartitionEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
35561	return nil, false
35562}
35563
35564// AsPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
35565func (peVar PartitionEvent) AsPartitionEvent() (*PartitionEvent, bool) {
35566	return &peVar, true
35567}
35568
35569// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
35570func (peVar PartitionEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
35571	return &peVar, true
35572}
35573
35574// AsReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
35575func (peVar PartitionEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
35576	return nil, false
35577}
35578
35579// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
35580func (peVar PartitionEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
35581	return nil, false
35582}
35583
35584// AsServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
35585func (peVar PartitionEvent) AsServiceEvent() (*ServiceEvent, bool) {
35586	return nil, false
35587}
35588
35589// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
35590func (peVar PartitionEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
35591	return nil, false
35592}
35593
35594// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35595func (peVar PartitionEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
35596	return nil, false
35597}
35598
35599// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
35600func (peVar PartitionEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
35601	return nil, false
35602}
35603
35604// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35605func (peVar PartitionEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
35606	return nil, false
35607}
35608
35609// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35610func (peVar PartitionEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
35611	return nil, false
35612}
35613
35614// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
35615func (peVar PartitionEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
35616	return nil, false
35617}
35618
35619// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
35620func (peVar PartitionEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
35621	return nil, false
35622}
35623
35624// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
35625func (peVar PartitionEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
35626	return nil, false
35627}
35628
35629// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
35630func (peVar PartitionEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
35631	return nil, false
35632}
35633
35634// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
35635func (peVar PartitionEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
35636	return nil, false
35637}
35638
35639// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35640func (peVar PartitionEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
35641	return nil, false
35642}
35643
35644// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35645func (peVar PartitionEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
35646	return nil, false
35647}
35648
35649// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35650func (peVar PartitionEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
35651	return nil, false
35652}
35653
35654// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35655func (peVar PartitionEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
35656	return nil, false
35657}
35658
35659// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionEvent.
35660func (peVar PartitionEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
35661	return nil, false
35662}
35663
35664// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionEvent.
35665func (peVar PartitionEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
35666	return nil, false
35667}
35668
35669// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionEvent.
35670func (peVar PartitionEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
35671	return nil, false
35672}
35673
35674// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionEvent.
35675func (peVar PartitionEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
35676	return nil, false
35677}
35678
35679// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionEvent.
35680func (peVar PartitionEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
35681	return nil, false
35682}
35683
35684// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
35685func (peVar PartitionEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
35686	return nil, false
35687}
35688
35689// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionEvent.
35690func (peVar PartitionEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
35691	return nil, false
35692}
35693
35694// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionEvent.
35695func (peVar PartitionEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
35696	return nil, false
35697}
35698
35699// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35700func (peVar PartitionEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
35701	return nil, false
35702}
35703
35704// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35705func (peVar PartitionEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
35706	return nil, false
35707}
35708
35709// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionEvent.
35710func (peVar PartitionEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
35711	return nil, false
35712}
35713
35714// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionEvent.
35715func (peVar PartitionEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
35716	return nil, false
35717}
35718
35719// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionEvent.
35720func (peVar PartitionEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
35721	return nil, false
35722}
35723
35724// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionEvent.
35725func (peVar PartitionEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
35726	return nil, false
35727}
35728
35729// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionEvent.
35730func (peVar PartitionEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
35731	return nil, false
35732}
35733
35734// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35735func (peVar PartitionEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
35736	return nil, false
35737}
35738
35739// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35740func (peVar PartitionEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
35741	return nil, false
35742}
35743
35744// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
35745func (peVar PartitionEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
35746	return nil, false
35747}
35748
35749// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
35750func (peVar PartitionEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
35751	return nil, false
35752}
35753
35754// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35755func (peVar PartitionEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
35756	return nil, false
35757}
35758
35759// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
35760func (peVar PartitionEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
35761	return nil, false
35762}
35763
35764// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35765func (peVar PartitionEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
35766	return nil, false
35767}
35768
35769// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35770func (peVar PartitionEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
35771	return nil, false
35772}
35773
35774// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35775func (peVar PartitionEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
35776	return nil, false
35777}
35778
35779// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35780func (peVar PartitionEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
35781	return nil, false
35782}
35783
35784// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35785func (peVar PartitionEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
35786	return nil, false
35787}
35788
35789// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35790func (peVar PartitionEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
35791	return nil, false
35792}
35793
35794// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35795func (peVar PartitionEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
35796	return nil, false
35797}
35798
35799// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35800func (peVar PartitionEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
35801	return nil, false
35802}
35803
35804// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
35805func (peVar PartitionEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
35806	return nil, false
35807}
35808
35809// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
35810func (peVar PartitionEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
35811	return nil, false
35812}
35813
35814// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
35815func (peVar PartitionEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
35816	return nil, false
35817}
35818
35819// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
35820func (peVar PartitionEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
35821	return nil, false
35822}
35823
35824// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
35825func (peVar PartitionEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
35826	return nil, false
35827}
35828
35829// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
35830func (peVar PartitionEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
35831	return nil, false
35832}
35833
35834// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
35835func (peVar PartitionEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
35836	return nil, false
35837}
35838
35839// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionEvent.
35840func (peVar PartitionEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
35841	return nil, false
35842}
35843
35844// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionEvent.
35845func (peVar PartitionEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
35846	return nil, false
35847}
35848
35849// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
35850func (peVar PartitionEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
35851	return nil, false
35852}
35853
35854// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
35855func (peVar PartitionEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
35856	return nil, false
35857}
35858
35859// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
35860func (peVar PartitionEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
35861	return nil, false
35862}
35863
35864// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
35865func (peVar PartitionEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
35866	return nil, false
35867}
35868
35869// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
35870func (peVar PartitionEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
35871	return nil, false
35872}
35873
35874// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
35875func (peVar PartitionEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
35876	return nil, false
35877}
35878
35879// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
35880func (peVar PartitionEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
35881	return nil, false
35882}
35883
35884// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
35885func (peVar PartitionEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
35886	return nil, false
35887}
35888
35889// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
35890func (peVar PartitionEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
35891	return nil, false
35892}
35893
35894// AsFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
35895func (peVar PartitionEvent) AsFabricEvent() (*FabricEvent, bool) {
35896	return nil, false
35897}
35898
35899// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
35900func (peVar PartitionEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
35901	return &peVar, true
35902}
35903
35904// PartitionHealth information about the health of a Service Fabric partition.
35905type PartitionHealth struct {
35906	autorest.Response `json:"-"`
35907	// PartitionID - ID of the partition whose health information is described by this object.
35908	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35909	// ReplicaHealthStates - The list of replica health states associated with the partition.
35910	ReplicaHealthStates *[]BasicReplicaHealthState `json:"ReplicaHealthStates,omitempty"`
35911	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
35912	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
35913	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
35914	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
35915	// HealthEvents - The list of health events reported on the entity.
35916	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
35917	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
35918	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
35919	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
35920	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
35921}
35922
35923// UnmarshalJSON is the custom unmarshaler for PartitionHealth struct.
35924func (ph *PartitionHealth) UnmarshalJSON(body []byte) error {
35925	var m map[string]*json.RawMessage
35926	err := json.Unmarshal(body, &m)
35927	if err != nil {
35928		return err
35929	}
35930	for k, v := range m {
35931		switch k {
35932		case "PartitionId":
35933			if v != nil {
35934				var partitionID uuid.UUID
35935				err = json.Unmarshal(*v, &partitionID)
35936				if err != nil {
35937					return err
35938				}
35939				ph.PartitionID = &partitionID
35940			}
35941		case "ReplicaHealthStates":
35942			if v != nil {
35943				replicaHealthStates, err := unmarshalBasicReplicaHealthStateArray(*v)
35944				if err != nil {
35945					return err
35946				}
35947				ph.ReplicaHealthStates = &replicaHealthStates
35948			}
35949		case "AggregatedHealthState":
35950			if v != nil {
35951				var aggregatedHealthState HealthState
35952				err = json.Unmarshal(*v, &aggregatedHealthState)
35953				if err != nil {
35954					return err
35955				}
35956				ph.AggregatedHealthState = aggregatedHealthState
35957			}
35958		case "HealthEvents":
35959			if v != nil {
35960				var healthEvents []HealthEvent
35961				err = json.Unmarshal(*v, &healthEvents)
35962				if err != nil {
35963					return err
35964				}
35965				ph.HealthEvents = &healthEvents
35966			}
35967		case "UnhealthyEvaluations":
35968			if v != nil {
35969				var unhealthyEvaluations []HealthEvaluationWrapper
35970				err = json.Unmarshal(*v, &unhealthyEvaluations)
35971				if err != nil {
35972					return err
35973				}
35974				ph.UnhealthyEvaluations = &unhealthyEvaluations
35975			}
35976		case "HealthStatistics":
35977			if v != nil {
35978				var healthStatistics HealthStatistics
35979				err = json.Unmarshal(*v, &healthStatistics)
35980				if err != nil {
35981					return err
35982				}
35983				ph.HealthStatistics = &healthStatistics
35984			}
35985		}
35986	}
35987
35988	return nil
35989}
35990
35991// PartitionHealthEvaluation represents health evaluation for a partition, containing information about the data
35992// and the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated
35993// health state is either Error or Warning.
35994type PartitionHealthEvaluation struct {
35995	// PartitionID - Id of the partition whose health evaluation is described by this object.
35996	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35997	// 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.
35998	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
35999	// 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'
36000	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
36001	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
36002	Description *string `json:"Description,omitempty"`
36003	// 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'
36004	Kind Kind `json:"Kind,omitempty"`
36005}
36006
36007// MarshalJSON is the custom marshaler for PartitionHealthEvaluation.
36008func (phe PartitionHealthEvaluation) MarshalJSON() ([]byte, error) {
36009	phe.Kind = KindPartition
36010	objectMap := make(map[string]interface{})
36011	if phe.PartitionID != nil {
36012		objectMap["PartitionId"] = phe.PartitionID
36013	}
36014	if phe.UnhealthyEvaluations != nil {
36015		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
36016	}
36017	if phe.AggregatedHealthState != "" {
36018		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
36019	}
36020	if phe.Description != nil {
36021		objectMap["Description"] = phe.Description
36022	}
36023	if phe.Kind != "" {
36024		objectMap["Kind"] = phe.Kind
36025	}
36026	return json.Marshal(objectMap)
36027}
36028
36029// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36030func (phe PartitionHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
36031	return nil, false
36032}
36033
36034// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36035func (phe PartitionHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
36036	return nil, false
36037}
36038
36039// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36040func (phe PartitionHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
36041	return nil, false
36042}
36043
36044// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36045func (phe PartitionHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
36046	return nil, false
36047}
36048
36049// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36050func (phe PartitionHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
36051	return nil, false
36052}
36053
36054// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36055func (phe PartitionHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
36056	return nil, false
36057}
36058
36059// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36060func (phe PartitionHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
36061	return nil, false
36062}
36063
36064// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36065func (phe PartitionHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
36066	return nil, false
36067}
36068
36069// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36070func (phe PartitionHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
36071	return nil, false
36072}
36073
36074// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36075func (phe PartitionHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
36076	return nil, false
36077}
36078
36079// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36080func (phe PartitionHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
36081	return nil, false
36082}
36083
36084// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36085func (phe PartitionHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
36086	return &phe, true
36087}
36088
36089// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36090func (phe PartitionHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
36091	return nil, false
36092}
36093
36094// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36095func (phe PartitionHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
36096	return nil, false
36097}
36098
36099// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36100func (phe PartitionHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
36101	return nil, false
36102}
36103
36104// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36105func (phe PartitionHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
36106	return nil, false
36107}
36108
36109// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36110func (phe PartitionHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
36111	return nil, false
36112}
36113
36114// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36115func (phe PartitionHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
36116	return nil, false
36117}
36118
36119// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36120func (phe PartitionHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
36121	return nil, false
36122}
36123
36124// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36125func (phe PartitionHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
36126	return nil, false
36127}
36128
36129// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36130func (phe PartitionHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
36131	return nil, false
36132}
36133
36134// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36135func (phe PartitionHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
36136	return &phe, true
36137}
36138
36139// PartitionHealthReportCreatedEvent partition Health Report Created event.
36140type PartitionHealthReportCreatedEvent struct {
36141	// SourceID - Id of report source.
36142	SourceID *string `json:"SourceId,omitempty"`
36143	// Property - Describes the property.
36144	Property *string `json:"Property,omitempty"`
36145	// HealthState - Describes the property health state.
36146	HealthState *string `json:"HealthState,omitempty"`
36147	// TimeToLiveMs - Time to live in milli-seconds.
36148	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
36149	// SequenceNumber - Sequence number of report.
36150	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
36151	// Description - Description of report.
36152	Description *string `json:"Description,omitempty"`
36153	// RemoveWhenExpired - Indicates the removal when it expires.
36154	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
36155	// SourceUtcTimestamp - Source time.
36156	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
36157	// 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.
36158	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
36159	// EventInstanceID - The identifier for the FabricEvent instance.
36160	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
36161	// TimeStamp - The time event was logged.
36162	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
36163	// HasCorrelatedEvents - Shows there is existing related events available.
36164	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
36165	// 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'
36166	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
36167}
36168
36169// MarshalJSON is the custom marshaler for PartitionHealthReportCreatedEvent.
36170func (phrce PartitionHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
36171	phrce.Kind = KindPartitionHealthReportCreated
36172	objectMap := make(map[string]interface{})
36173	if phrce.SourceID != nil {
36174		objectMap["SourceId"] = phrce.SourceID
36175	}
36176	if phrce.Property != nil {
36177		objectMap["Property"] = phrce.Property
36178	}
36179	if phrce.HealthState != nil {
36180		objectMap["HealthState"] = phrce.HealthState
36181	}
36182	if phrce.TimeToLiveMs != nil {
36183		objectMap["TimeToLiveMs"] = phrce.TimeToLiveMs
36184	}
36185	if phrce.SequenceNumber != nil {
36186		objectMap["SequenceNumber"] = phrce.SequenceNumber
36187	}
36188	if phrce.Description != nil {
36189		objectMap["Description"] = phrce.Description
36190	}
36191	if phrce.RemoveWhenExpired != nil {
36192		objectMap["RemoveWhenExpired"] = phrce.RemoveWhenExpired
36193	}
36194	if phrce.SourceUtcTimestamp != nil {
36195		objectMap["SourceUtcTimestamp"] = phrce.SourceUtcTimestamp
36196	}
36197	if phrce.PartitionID != nil {
36198		objectMap["PartitionId"] = phrce.PartitionID
36199	}
36200	if phrce.EventInstanceID != nil {
36201		objectMap["EventInstanceId"] = phrce.EventInstanceID
36202	}
36203	if phrce.TimeStamp != nil {
36204		objectMap["TimeStamp"] = phrce.TimeStamp
36205	}
36206	if phrce.HasCorrelatedEvents != nil {
36207		objectMap["HasCorrelatedEvents"] = phrce.HasCorrelatedEvents
36208	}
36209	if phrce.Kind != "" {
36210		objectMap["Kind"] = phrce.Kind
36211	}
36212	return json.Marshal(objectMap)
36213}
36214
36215// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36216func (phrce PartitionHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
36217	return nil, false
36218}
36219
36220// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36221func (phrce PartitionHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
36222	return nil, false
36223}
36224
36225// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36226func (phrce PartitionHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
36227	return nil, false
36228}
36229
36230// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36231func (phrce PartitionHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
36232	return nil, false
36233}
36234
36235// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36236func (phrce PartitionHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
36237	return nil, false
36238}
36239
36240// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36241func (phrce PartitionHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
36242	return nil, false
36243}
36244
36245// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36246func (phrce PartitionHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
36247	return nil, false
36248}
36249
36250// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36251func (phrce PartitionHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
36252	return nil, false
36253}
36254
36255// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36256func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
36257	return nil, false
36258}
36259
36260// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36261func (phrce PartitionHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
36262	return nil, false
36263}
36264
36265// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36266func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
36267	return &phrce, true
36268}
36269
36270// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36271func (phrce PartitionHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
36272	return nil, false
36273}
36274
36275// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36276func (phrce PartitionHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
36277	return nil, false
36278}
36279
36280// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36281func (phrce PartitionHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
36282	return nil, false
36283}
36284
36285// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36286func (phrce PartitionHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
36287	return nil, false
36288}
36289
36290// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36291func (phrce PartitionHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
36292	return nil, false
36293}
36294
36295// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36296func (phrce PartitionHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
36297	return nil, false
36298}
36299
36300// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36301func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
36302	return nil, false
36303}
36304
36305// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36306func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
36307	return nil, false
36308}
36309
36310// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36311func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
36312	return nil, false
36313}
36314
36315// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36316func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
36317	return nil, false
36318}
36319
36320// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36321func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
36322	return nil, false
36323}
36324
36325// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36326func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
36327	return nil, false
36328}
36329
36330// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36331func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
36332	return nil, false
36333}
36334
36335// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36336func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
36337	return nil, false
36338}
36339
36340// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36341func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
36342	return nil, false
36343}
36344
36345// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36346func (phrce PartitionHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
36347	return nil, false
36348}
36349
36350// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36351func (phrce PartitionHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
36352	return nil, false
36353}
36354
36355// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36356func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
36357	return nil, false
36358}
36359
36360// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36361func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
36362	return nil, false
36363}
36364
36365// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36366func (phrce PartitionHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
36367	return nil, false
36368}
36369
36370// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36371func (phrce PartitionHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
36372	return nil, false
36373}
36374
36375// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36376func (phrce PartitionHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
36377	return nil, false
36378}
36379
36380// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36381func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
36382	return nil, false
36383}
36384
36385// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36386func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
36387	return nil, false
36388}
36389
36390// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36391func (phrce PartitionHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
36392	return nil, false
36393}
36394
36395// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36396func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
36397	return nil, false
36398}
36399
36400// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36401func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
36402	return nil, false
36403}
36404
36405// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36406func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
36407	return nil, false
36408}
36409
36410// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36411func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
36412	return nil, false
36413}
36414
36415// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36416func (phrce PartitionHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
36417	return nil, false
36418}
36419
36420// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36421func (phrce PartitionHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
36422	return nil, false
36423}
36424
36425// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36426func (phrce PartitionHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
36427	return nil, false
36428}
36429
36430// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36431func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
36432	return &phrce, true
36433}
36434
36435// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36436func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
36437	return nil, false
36438}
36439
36440// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36441func (phrce PartitionHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
36442	return nil, false
36443}
36444
36445// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36446func (phrce PartitionHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
36447	return nil, false
36448}
36449
36450// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36451func (phrce PartitionHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
36452	return nil, false
36453}
36454
36455// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36456func (phrce PartitionHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
36457	return nil, false
36458}
36459
36460// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36461func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
36462	return nil, false
36463}
36464
36465// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36466func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
36467	return nil, false
36468}
36469
36470// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36471func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
36472	return nil, false
36473}
36474
36475// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36476func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
36477	return nil, false
36478}
36479
36480// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36481func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
36482	return nil, false
36483}
36484
36485// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36486func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
36487	return nil, false
36488}
36489
36490// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36491func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
36492	return nil, false
36493}
36494
36495// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36496func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
36497	return nil, false
36498}
36499
36500// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36501func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
36502	return nil, false
36503}
36504
36505// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36506func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
36507	return nil, false
36508}
36509
36510// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36511func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
36512	return nil, false
36513}
36514
36515// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36516func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
36517	return nil, false
36518}
36519
36520// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36521func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
36522	return nil, false
36523}
36524
36525// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36526func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
36527	return nil, false
36528}
36529
36530// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36531func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
36532	return nil, false
36533}
36534
36535// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36536func (phrce PartitionHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
36537	return nil, false
36538}
36539
36540// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36541func (phrce PartitionHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
36542	return nil, false
36543}
36544
36545// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36546func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
36547	return nil, false
36548}
36549
36550// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36551func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
36552	return nil, false
36553}
36554
36555// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36556func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
36557	return nil, false
36558}
36559
36560// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36561func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
36562	return nil, false
36563}
36564
36565// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36566func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
36567	return nil, false
36568}
36569
36570// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36571func (phrce PartitionHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
36572	return nil, false
36573}
36574
36575// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36576func (phrce PartitionHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
36577	return nil, false
36578}
36579
36580// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36581func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
36582	return nil, false
36583}
36584
36585// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36586func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
36587	return nil, false
36588}
36589
36590// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36591func (phrce PartitionHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
36592	return nil, false
36593}
36594
36595// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36596func (phrce PartitionHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
36597	return &phrce, true
36598}
36599
36600// PartitionHealthReportExpiredEvent partition Health Report Expired event.
36601type PartitionHealthReportExpiredEvent struct {
36602	// SourceID - Id of report source.
36603	SourceID *string `json:"SourceId,omitempty"`
36604	// Property - Describes the property.
36605	Property *string `json:"Property,omitempty"`
36606	// HealthState - Describes the property health state.
36607	HealthState *string `json:"HealthState,omitempty"`
36608	// TimeToLiveMs - Time to live in milli-seconds.
36609	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
36610	// SequenceNumber - Sequence number of report.
36611	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
36612	// Description - Description of report.
36613	Description *string `json:"Description,omitempty"`
36614	// RemoveWhenExpired - Indicates the removal when it expires.
36615	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
36616	// SourceUtcTimestamp - Source time.
36617	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
36618	// 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.
36619	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
36620	// EventInstanceID - The identifier for the FabricEvent instance.
36621	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
36622	// TimeStamp - The time event was logged.
36623	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
36624	// HasCorrelatedEvents - Shows there is existing related events available.
36625	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
36626	// 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'
36627	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
36628}
36629
36630// MarshalJSON is the custom marshaler for PartitionHealthReportExpiredEvent.
36631func (phree PartitionHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
36632	phree.Kind = KindPartitionHealthReportExpired
36633	objectMap := make(map[string]interface{})
36634	if phree.SourceID != nil {
36635		objectMap["SourceId"] = phree.SourceID
36636	}
36637	if phree.Property != nil {
36638		objectMap["Property"] = phree.Property
36639	}
36640	if phree.HealthState != nil {
36641		objectMap["HealthState"] = phree.HealthState
36642	}
36643	if phree.TimeToLiveMs != nil {
36644		objectMap["TimeToLiveMs"] = phree.TimeToLiveMs
36645	}
36646	if phree.SequenceNumber != nil {
36647		objectMap["SequenceNumber"] = phree.SequenceNumber
36648	}
36649	if phree.Description != nil {
36650		objectMap["Description"] = phree.Description
36651	}
36652	if phree.RemoveWhenExpired != nil {
36653		objectMap["RemoveWhenExpired"] = phree.RemoveWhenExpired
36654	}
36655	if phree.SourceUtcTimestamp != nil {
36656		objectMap["SourceUtcTimestamp"] = phree.SourceUtcTimestamp
36657	}
36658	if phree.PartitionID != nil {
36659		objectMap["PartitionId"] = phree.PartitionID
36660	}
36661	if phree.EventInstanceID != nil {
36662		objectMap["EventInstanceId"] = phree.EventInstanceID
36663	}
36664	if phree.TimeStamp != nil {
36665		objectMap["TimeStamp"] = phree.TimeStamp
36666	}
36667	if phree.HasCorrelatedEvents != nil {
36668		objectMap["HasCorrelatedEvents"] = phree.HasCorrelatedEvents
36669	}
36670	if phree.Kind != "" {
36671		objectMap["Kind"] = phree.Kind
36672	}
36673	return json.Marshal(objectMap)
36674}
36675
36676// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36677func (phree PartitionHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
36678	return nil, false
36679}
36680
36681// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36682func (phree PartitionHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
36683	return nil, false
36684}
36685
36686// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36687func (phree PartitionHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
36688	return nil, false
36689}
36690
36691// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36692func (phree PartitionHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
36693	return nil, false
36694}
36695
36696// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36697func (phree PartitionHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
36698	return nil, false
36699}
36700
36701// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36702func (phree PartitionHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
36703	return nil, false
36704}
36705
36706// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36707func (phree PartitionHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
36708	return nil, false
36709}
36710
36711// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36712func (phree PartitionHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
36713	return nil, false
36714}
36715
36716// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36717func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
36718	return nil, false
36719}
36720
36721// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36722func (phree PartitionHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
36723	return nil, false
36724}
36725
36726// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36727func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
36728	return &phree, true
36729}
36730
36731// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36732func (phree PartitionHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
36733	return nil, false
36734}
36735
36736// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36737func (phree PartitionHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
36738	return nil, false
36739}
36740
36741// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36742func (phree PartitionHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
36743	return nil, false
36744}
36745
36746// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36747func (phree PartitionHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
36748	return nil, false
36749}
36750
36751// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36752func (phree PartitionHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
36753	return nil, false
36754}
36755
36756// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36757func (phree PartitionHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
36758	return nil, false
36759}
36760
36761// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36762func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
36763	return nil, false
36764}
36765
36766// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36767func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
36768	return nil, false
36769}
36770
36771// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36772func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
36773	return nil, false
36774}
36775
36776// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36777func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
36778	return nil, false
36779}
36780
36781// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36782func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
36783	return nil, false
36784}
36785
36786// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36787func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
36788	return nil, false
36789}
36790
36791// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36792func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
36793	return nil, false
36794}
36795
36796// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36797func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
36798	return nil, false
36799}
36800
36801// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36802func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
36803	return nil, false
36804}
36805
36806// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36807func (phree PartitionHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
36808	return nil, false
36809}
36810
36811// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36812func (phree PartitionHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
36813	return nil, false
36814}
36815
36816// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36817func (phree PartitionHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
36818	return nil, false
36819}
36820
36821// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36822func (phree PartitionHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
36823	return nil, false
36824}
36825
36826// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36827func (phree PartitionHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
36828	return nil, false
36829}
36830
36831// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36832func (phree PartitionHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
36833	return nil, false
36834}
36835
36836// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36837func (phree PartitionHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
36838	return nil, false
36839}
36840
36841// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36842func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
36843	return nil, false
36844}
36845
36846// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36847func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
36848	return nil, false
36849}
36850
36851// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36852func (phree PartitionHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
36853	return nil, false
36854}
36855
36856// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36857func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
36858	return nil, false
36859}
36860
36861// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36862func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
36863	return nil, false
36864}
36865
36866// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36867func (phree PartitionHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
36868	return nil, false
36869}
36870
36871// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36872func (phree PartitionHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
36873	return nil, false
36874}
36875
36876// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36877func (phree PartitionHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
36878	return nil, false
36879}
36880
36881// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36882func (phree PartitionHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
36883	return nil, false
36884}
36885
36886// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36887func (phree PartitionHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
36888	return nil, false
36889}
36890
36891// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36892func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
36893	return nil, false
36894}
36895
36896// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36897func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
36898	return &phree, true
36899}
36900
36901// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36902func (phree PartitionHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
36903	return nil, false
36904}
36905
36906// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36907func (phree PartitionHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
36908	return nil, false
36909}
36910
36911// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36912func (phree PartitionHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
36913	return nil, false
36914}
36915
36916// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36917func (phree PartitionHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
36918	return nil, false
36919}
36920
36921// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36922func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
36923	return nil, false
36924}
36925
36926// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36927func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
36928	return nil, false
36929}
36930
36931// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36932func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
36933	return nil, false
36934}
36935
36936// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36937func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
36938	return nil, false
36939}
36940
36941// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36942func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
36943	return nil, false
36944}
36945
36946// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36947func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
36948	return nil, false
36949}
36950
36951// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36952func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
36953	return nil, false
36954}
36955
36956// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36957func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
36958	return nil, false
36959}
36960
36961// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36962func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
36963	return nil, false
36964}
36965
36966// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36967func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
36968	return nil, false
36969}
36970
36971// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36972func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
36973	return nil, false
36974}
36975
36976// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36977func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
36978	return nil, false
36979}
36980
36981// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36982func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
36983	return nil, false
36984}
36985
36986// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36987func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
36988	return nil, false
36989}
36990
36991// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36992func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
36993	return nil, false
36994}
36995
36996// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
36997func (phree PartitionHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
36998	return nil, false
36999}
37000
37001// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37002func (phree PartitionHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
37003	return nil, false
37004}
37005
37006// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37007func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
37008	return nil, false
37009}
37010
37011// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37012func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
37013	return nil, false
37014}
37015
37016// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37017func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
37018	return nil, false
37019}
37020
37021// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37022func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
37023	return nil, false
37024}
37025
37026// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37027func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
37028	return nil, false
37029}
37030
37031// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37032func (phree PartitionHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
37033	return nil, false
37034}
37035
37036// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37037func (phree PartitionHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
37038	return nil, false
37039}
37040
37041// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37042func (phree PartitionHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
37043	return nil, false
37044}
37045
37046// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37047func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
37048	return nil, false
37049}
37050
37051// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37052func (phree PartitionHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
37053	return nil, false
37054}
37055
37056// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37057func (phree PartitionHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
37058	return &phree, true
37059}
37060
37061// PartitionHealthState represents the health state of a partition, which contains the partition identifier and its
37062// aggregated health state.
37063type PartitionHealthState struct {
37064	// PartitionID - Id of the partition whose health state is described by this object.
37065	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37066	// 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'
37067	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
37068}
37069
37070// PartitionHealthStateChunk represents the health state chunk of a partition, which contains the partition ID, its
37071// aggregated health state and any replicas that respect the filters in the cluster health chunk query description.
37072type PartitionHealthStateChunk struct {
37073	// PartitionID - The Id of the partition.
37074	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37075	// ReplicaHealthStateChunks - The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description.
37076	ReplicaHealthStateChunks *ReplicaHealthStateChunkList `json:"ReplicaHealthStateChunks,omitempty"`
37077	// 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'
37078	HealthState HealthState `json:"HealthState,omitempty"`
37079}
37080
37081// PartitionHealthStateChunkList the list of partition health state chunks that respect the input filters in the
37082// chunk query description.
37083// Returned by get cluster health state chunks query as part of the parent application hierarchy.
37084type PartitionHealthStateChunkList struct {
37085	// Items - The list of partition health state chunks that respect the input filters in the chunk query.
37086	Items *[]PartitionHealthStateChunk `json:"Items,omitempty"`
37087}
37088
37089// PartitionHealthStateFilter defines matching criteria to determine whether a partition should be included as a
37090// child of a service in the cluster health chunk.
37091// The partitions are only returned if the parent entities match a filter specified in the cluster health chunk
37092// query description. The parent service and application must be included in the cluster health chunk.
37093// One filter can match zero, one or multiple partitions, depending on its properties.
37094type PartitionHealthStateFilter struct {
37095	// PartitionIDFilter - ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.
37096	// If the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.
37097	// If the partition exists, it is included in the cluster health chunk if it respects the other filter properties.
37098	// 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.
37099	PartitionIDFilter *uuid.UUID `json:"PartitionIdFilter,omitempty"`
37100	// HealthStateFilter - The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.
37101	// 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.
37102	// 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.
37103	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
37104	// For example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).
37105	// - Default - Default value. Matches any HealthState. The value is zero.
37106	// - 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.
37107	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
37108	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
37109	// - Error - Filter that matches input with HealthState value Error. The value is 8.
37110	// - All - Filter that matches input with any HealthState value. The value is 65535.
37111	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
37112	// 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.
37113	// 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.
37114	// The partition filter may specify multiple replica filters.
37115	// 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.
37116	ReplicaFilters *[]ReplicaHealthStateFilter `json:"ReplicaFilters,omitempty"`
37117}
37118
37119// BasicPartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
37120type BasicPartitionInformation interface {
37121	AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool)
37122	AsNamedPartitionInformation() (*NamedPartitionInformation, bool)
37123	AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool)
37124	AsPartitionInformation() (*PartitionInformation, bool)
37125}
37126
37127// PartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
37128type PartitionInformation struct {
37129	// 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.
37130	ID *uuid.UUID `json:"Id,omitempty"`
37131	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
37132	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
37133}
37134
37135func unmarshalBasicPartitionInformation(body []byte) (BasicPartitionInformation, error) {
37136	var m map[string]interface{}
37137	err := json.Unmarshal(body, &m)
37138	if err != nil {
37139		return nil, err
37140	}
37141
37142	switch m["ServicePartitionKind"] {
37143	case string(ServicePartitionKindInt64Range1):
37144		var i6rpi Int64RangePartitionInformation
37145		err := json.Unmarshal(body, &i6rpi)
37146		return i6rpi, err
37147	case string(ServicePartitionKindNamed1):
37148		var npi NamedPartitionInformation
37149		err := json.Unmarshal(body, &npi)
37150		return npi, err
37151	case string(ServicePartitionKindSingleton1):
37152		var spi SingletonPartitionInformation
37153		err := json.Unmarshal(body, &spi)
37154		return spi, err
37155	default:
37156		var pi PartitionInformation
37157		err := json.Unmarshal(body, &pi)
37158		return pi, err
37159	}
37160}
37161func unmarshalBasicPartitionInformationArray(body []byte) ([]BasicPartitionInformation, error) {
37162	var rawMessages []*json.RawMessage
37163	err := json.Unmarshal(body, &rawMessages)
37164	if err != nil {
37165		return nil, err
37166	}
37167
37168	piArray := make([]BasicPartitionInformation, len(rawMessages))
37169
37170	for index, rawMessage := range rawMessages {
37171		pi, err := unmarshalBasicPartitionInformation(*rawMessage)
37172		if err != nil {
37173			return nil, err
37174		}
37175		piArray[index] = pi
37176	}
37177	return piArray, nil
37178}
37179
37180// MarshalJSON is the custom marshaler for PartitionInformation.
37181func (pi PartitionInformation) MarshalJSON() ([]byte, error) {
37182	pi.ServicePartitionKind = ServicePartitionKindPartitionInformation
37183	objectMap := make(map[string]interface{})
37184	if pi.ID != nil {
37185		objectMap["Id"] = pi.ID
37186	}
37187	if pi.ServicePartitionKind != "" {
37188		objectMap["ServicePartitionKind"] = pi.ServicePartitionKind
37189	}
37190	return json.Marshal(objectMap)
37191}
37192
37193// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37194func (pi PartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
37195	return nil, false
37196}
37197
37198// AsNamedPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37199func (pi PartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
37200	return nil, false
37201}
37202
37203// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37204func (pi PartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
37205	return nil, false
37206}
37207
37208// AsPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37209func (pi PartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
37210	return &pi, true
37211}
37212
37213// AsBasicPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37214func (pi PartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
37215	return &pi, true
37216}
37217
37218// PartitionInstanceCountScaleMechanism represents a scaling mechanism for adding or removing instances of
37219// stateless service partition.
37220type PartitionInstanceCountScaleMechanism struct {
37221	// MinInstanceCount - Minimum number of instances of the partition.
37222	MinInstanceCount *int32 `json:"MinInstanceCount,omitempty"`
37223	// MaxInstanceCount - Maximum number of instances of the partition.
37224	MaxInstanceCount *int32 `json:"MaxInstanceCount,omitempty"`
37225	// ScaleIncrement - The number of instances to add or remove during a scaling operation.
37226	ScaleIncrement *int32 `json:"ScaleIncrement,omitempty"`
37227	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
37228	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
37229}
37230
37231// MarshalJSON is the custom marshaler for PartitionInstanceCountScaleMechanism.
37232func (picsm PartitionInstanceCountScaleMechanism) MarshalJSON() ([]byte, error) {
37233	picsm.Kind = KindPartitionInstanceCount
37234	objectMap := make(map[string]interface{})
37235	if picsm.MinInstanceCount != nil {
37236		objectMap["MinInstanceCount"] = picsm.MinInstanceCount
37237	}
37238	if picsm.MaxInstanceCount != nil {
37239		objectMap["MaxInstanceCount"] = picsm.MaxInstanceCount
37240	}
37241	if picsm.ScaleIncrement != nil {
37242		objectMap["ScaleIncrement"] = picsm.ScaleIncrement
37243	}
37244	if picsm.Kind != "" {
37245		objectMap["Kind"] = picsm.Kind
37246	}
37247	return json.Marshal(objectMap)
37248}
37249
37250// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37251func (picsm PartitionInstanceCountScaleMechanism) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
37252	return &picsm, true
37253}
37254
37255// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37256func (picsm PartitionInstanceCountScaleMechanism) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
37257	return nil, false
37258}
37259
37260// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37261func (picsm PartitionInstanceCountScaleMechanism) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
37262	return nil, false
37263}
37264
37265// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37266func (picsm PartitionInstanceCountScaleMechanism) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
37267	return &picsm, true
37268}
37269
37270// PartitionLoadInformation represents load information for a partition, which contains the primary and secondary
37271// reported load metrics.
37272// In case there is no load reported, PartitionLoadInformation will contain the default load for the service of the
37273// partition.
37274// For default loads, LoadMetricReport's LastReportedUtc is set to 0.
37275type PartitionLoadInformation struct {
37276	autorest.Response `json:"-"`
37277	// PartitionID - Id of the partition.
37278	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37279	// PrimaryLoadMetricReports - Array of load reports from the primary replica for this partition.
37280	PrimaryLoadMetricReports *[]LoadMetricReport `json:"PrimaryLoadMetricReports,omitempty"`
37281	// SecondaryLoadMetricReports - Array of aggregated load reports from all secondary replicas for this partition.
37282	// Array only contains the latest reported load for each metric.
37283	SecondaryLoadMetricReports *[]LoadMetricReport `json:"SecondaryLoadMetricReports,omitempty"`
37284}
37285
37286// PartitionPrimaryMoveAnalysisEvent partition Primary Move Analysis event.
37287type PartitionPrimaryMoveAnalysisEvent struct {
37288	// WhenMoveCompleted - Time when the move was completed.
37289	WhenMoveCompleted *date.Time `json:"WhenMoveCompleted,omitempty"`
37290	// PreviousNode - The name of a Service Fabric node.
37291	PreviousNode *string `json:"PreviousNode,omitempty"`
37292	// CurrentNode - The name of a Service Fabric node.
37293	CurrentNode *string `json:"CurrentNode,omitempty"`
37294	// MoveReason - Move reason.
37295	MoveReason *string `json:"MoveReason,omitempty"`
37296	// RelevantTraces - Relevant traces.
37297	RelevantTraces *string `json:"RelevantTraces,omitempty"`
37298	// Metadata - Metadata about an Analysis Event.
37299	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
37300	// 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.
37301	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37302	// EventInstanceID - The identifier for the FabricEvent instance.
37303	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
37304	// TimeStamp - The time event was logged.
37305	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
37306	// HasCorrelatedEvents - Shows there is existing related events available.
37307	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
37308	// 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'
37309	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
37310}
37311
37312// MarshalJSON is the custom marshaler for PartitionPrimaryMoveAnalysisEvent.
37313func (ppmae PartitionPrimaryMoveAnalysisEvent) MarshalJSON() ([]byte, error) {
37314	ppmae.Kind = KindPartitionPrimaryMoveAnalysis
37315	objectMap := make(map[string]interface{})
37316	if ppmae.WhenMoveCompleted != nil {
37317		objectMap["WhenMoveCompleted"] = ppmae.WhenMoveCompleted
37318	}
37319	if ppmae.PreviousNode != nil {
37320		objectMap["PreviousNode"] = ppmae.PreviousNode
37321	}
37322	if ppmae.CurrentNode != nil {
37323		objectMap["CurrentNode"] = ppmae.CurrentNode
37324	}
37325	if ppmae.MoveReason != nil {
37326		objectMap["MoveReason"] = ppmae.MoveReason
37327	}
37328	if ppmae.RelevantTraces != nil {
37329		objectMap["RelevantTraces"] = ppmae.RelevantTraces
37330	}
37331	if ppmae.Metadata != nil {
37332		objectMap["Metadata"] = ppmae.Metadata
37333	}
37334	if ppmae.PartitionID != nil {
37335		objectMap["PartitionId"] = ppmae.PartitionID
37336	}
37337	if ppmae.EventInstanceID != nil {
37338		objectMap["EventInstanceId"] = ppmae.EventInstanceID
37339	}
37340	if ppmae.TimeStamp != nil {
37341		objectMap["TimeStamp"] = ppmae.TimeStamp
37342	}
37343	if ppmae.HasCorrelatedEvents != nil {
37344		objectMap["HasCorrelatedEvents"] = ppmae.HasCorrelatedEvents
37345	}
37346	if ppmae.Kind != "" {
37347		objectMap["Kind"] = ppmae.Kind
37348	}
37349	return json.Marshal(objectMap)
37350}
37351
37352// AsApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37353func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
37354	return nil, false
37355}
37356
37357// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37358func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
37359	return nil, false
37360}
37361
37362// AsClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37363func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
37364	return nil, false
37365}
37366
37367// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37368func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
37369	return nil, false
37370}
37371
37372// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37373func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
37374	return nil, false
37375}
37376
37377// AsNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37378func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
37379	return nil, false
37380}
37381
37382// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37383func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
37384	return nil, false
37385}
37386
37387// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37388func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
37389	return nil, false
37390}
37391
37392// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37393func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
37394	return &ppmae, true
37395}
37396
37397// AsPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37398func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
37399	return nil, false
37400}
37401
37402// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37403func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
37404	return &ppmae, true
37405}
37406
37407// AsReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37408func (ppmae PartitionPrimaryMoveAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
37409	return nil, false
37410}
37411
37412// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37413func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
37414	return nil, false
37415}
37416
37417// AsServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37418func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
37419	return nil, false
37420}
37421
37422// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37423func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
37424	return nil, false
37425}
37426
37427// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37428func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
37429	return nil, false
37430}
37431
37432// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37433func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
37434	return nil, false
37435}
37436
37437// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37438func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
37439	return nil, false
37440}
37441
37442// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37443func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
37444	return nil, false
37445}
37446
37447// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37448func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
37449	return nil, false
37450}
37451
37452// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37453func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
37454	return nil, false
37455}
37456
37457// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37458func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
37459	return nil, false
37460}
37461
37462// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37463func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
37464	return nil, false
37465}
37466
37467// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37468func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
37469	return nil, false
37470}
37471
37472// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37473func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
37474	return nil, false
37475}
37476
37477// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37478func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
37479	return nil, false
37480}
37481
37482// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37483func (ppmae PartitionPrimaryMoveAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
37484	return nil, false
37485}
37486
37487// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37488func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
37489	return nil, false
37490}
37491
37492// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37493func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
37494	return nil, false
37495}
37496
37497// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37498func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
37499	return nil, false
37500}
37501
37502// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37503func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
37504	return nil, false
37505}
37506
37507// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37508func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
37509	return nil, false
37510}
37511
37512// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37513func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
37514	return nil, false
37515}
37516
37517// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37518func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
37519	return nil, false
37520}
37521
37522// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37523func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
37524	return nil, false
37525}
37526
37527// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37528func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
37529	return nil, false
37530}
37531
37532// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37533func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
37534	return nil, false
37535}
37536
37537// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37538func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
37539	return nil, false
37540}
37541
37542// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37543func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
37544	return nil, false
37545}
37546
37547// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37548func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
37549	return nil, false
37550}
37551
37552// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37553func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
37554	return nil, false
37555}
37556
37557// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37558func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
37559	return nil, false
37560}
37561
37562// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37563func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
37564	return nil, false
37565}
37566
37567// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37568func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
37569	return nil, false
37570}
37571
37572// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37573func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
37574	return nil, false
37575}
37576
37577// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37578func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
37579	return nil, false
37580}
37581
37582// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37583func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
37584	return &ppmae, true
37585}
37586
37587// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37588func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
37589	return nil, false
37590}
37591
37592// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37593func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
37594	return nil, false
37595}
37596
37597// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37598func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
37599	return nil, false
37600}
37601
37602// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37603func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
37604	return nil, false
37605}
37606
37607// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37608func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
37609	return nil, false
37610}
37611
37612// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37613func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
37614	return nil, false
37615}
37616
37617// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37618func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
37619	return nil, false
37620}
37621
37622// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37623func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
37624	return nil, false
37625}
37626
37627// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37628func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
37629	return nil, false
37630}
37631
37632// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37633func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
37634	return nil, false
37635}
37636
37637// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37638func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
37639	return nil, false
37640}
37641
37642// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37643func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
37644	return nil, false
37645}
37646
37647// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37648func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
37649	return nil, false
37650}
37651
37652// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37653func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
37654	return nil, false
37655}
37656
37657// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37658func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
37659	return nil, false
37660}
37661
37662// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37663func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
37664	return nil, false
37665}
37666
37667// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37668func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
37669	return nil, false
37670}
37671
37672// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37673func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
37674	return nil, false
37675}
37676
37677// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37678func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
37679	return nil, false
37680}
37681
37682// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37683func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
37684	return nil, false
37685}
37686
37687// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37688func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
37689	return nil, false
37690}
37691
37692// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37693func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
37694	return nil, false
37695}
37696
37697// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37698func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
37699	return nil, false
37700}
37701
37702// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37703func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
37704	return nil, false
37705}
37706
37707// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37708func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
37709	return nil, false
37710}
37711
37712// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37713func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
37714	return nil, false
37715}
37716
37717// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37718func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
37719	return nil, false
37720}
37721
37722// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37723func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
37724	return nil, false
37725}
37726
37727// AsFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37728func (ppmae PartitionPrimaryMoveAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
37729	return nil, false
37730}
37731
37732// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37733func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
37734	return &ppmae, true
37735}
37736
37737// PartitionQuorumLossProgress information about a partition quorum loss user-induced operation.
37738type PartitionQuorumLossProgress struct {
37739	autorest.Response `json:"-"`
37740	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
37741	State OperationState `json:"State,omitempty"`
37742	// InvokeQuorumLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
37743	InvokeQuorumLossResult *InvokeQuorumLossResult `json:"InvokeQuorumLossResult,omitempty"`
37744}
37745
37746// PartitionReconfigurationCompletedEvent partition Reconfiguration Completed event.
37747type PartitionReconfigurationCompletedEvent struct {
37748	// NodeName - The name of a Service Fabric node.
37749	NodeName *string `json:"NodeName,omitempty"`
37750	// NodeInstanceID - Id of Node instance.
37751	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
37752	// ServiceType - Type of Service.
37753	ServiceType *string `json:"ServiceType,omitempty"`
37754	// CcEpochDataLossVersion - CcEpochDataLoss version.
37755	CcEpochDataLossVersion *int64 `json:"CcEpochDataLossVersion,omitempty"`
37756	// CcEpochConfigVersion - CcEpochConfig version.
37757	CcEpochConfigVersion *int64 `json:"CcEpochConfigVersion,omitempty"`
37758	// ReconfigType - Type of reconfiguration.
37759	ReconfigType *string `json:"ReconfigType,omitempty"`
37760	// Result - Describes reconfiguration result.
37761	Result *string `json:"Result,omitempty"`
37762	// Phase0DurationMs - Duration of Phase0 in milli-seconds.
37763	Phase0DurationMs *float64 `json:"Phase0DurationMs,omitempty"`
37764	// Phase1DurationMs - Duration of Phase1 in milli-seconds.
37765	Phase1DurationMs *float64 `json:"Phase1DurationMs,omitempty"`
37766	// Phase2DurationMs - Duration of Phase2 in milli-seconds.
37767	Phase2DurationMs *float64 `json:"Phase2DurationMs,omitempty"`
37768	// Phase3DurationMs - Duration of Phase3 in milli-seconds.
37769	Phase3DurationMs *float64 `json:"Phase3DurationMs,omitempty"`
37770	// Phase4DurationMs - Duration of Phase4 in milli-seconds.
37771	Phase4DurationMs *float64 `json:"Phase4DurationMs,omitempty"`
37772	// TotalDurationMs - Total duration in milli-seconds.
37773	TotalDurationMs *float64 `json:"TotalDurationMs,omitempty"`
37774	// 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.
37775	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37776	// EventInstanceID - The identifier for the FabricEvent instance.
37777	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
37778	// TimeStamp - The time event was logged.
37779	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
37780	// HasCorrelatedEvents - Shows there is existing related events available.
37781	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
37782	// 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'
37783	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
37784}
37785
37786// MarshalJSON is the custom marshaler for PartitionReconfigurationCompletedEvent.
37787func (prce PartitionReconfigurationCompletedEvent) MarshalJSON() ([]byte, error) {
37788	prce.Kind = KindPartitionReconfigurationCompleted
37789	objectMap := make(map[string]interface{})
37790	if prce.NodeName != nil {
37791		objectMap["NodeName"] = prce.NodeName
37792	}
37793	if prce.NodeInstanceID != nil {
37794		objectMap["NodeInstanceId"] = prce.NodeInstanceID
37795	}
37796	if prce.ServiceType != nil {
37797		objectMap["ServiceType"] = prce.ServiceType
37798	}
37799	if prce.CcEpochDataLossVersion != nil {
37800		objectMap["CcEpochDataLossVersion"] = prce.CcEpochDataLossVersion
37801	}
37802	if prce.CcEpochConfigVersion != nil {
37803		objectMap["CcEpochConfigVersion"] = prce.CcEpochConfigVersion
37804	}
37805	if prce.ReconfigType != nil {
37806		objectMap["ReconfigType"] = prce.ReconfigType
37807	}
37808	if prce.Result != nil {
37809		objectMap["Result"] = prce.Result
37810	}
37811	if prce.Phase0DurationMs != nil {
37812		objectMap["Phase0DurationMs"] = prce.Phase0DurationMs
37813	}
37814	if prce.Phase1DurationMs != nil {
37815		objectMap["Phase1DurationMs"] = prce.Phase1DurationMs
37816	}
37817	if prce.Phase2DurationMs != nil {
37818		objectMap["Phase2DurationMs"] = prce.Phase2DurationMs
37819	}
37820	if prce.Phase3DurationMs != nil {
37821		objectMap["Phase3DurationMs"] = prce.Phase3DurationMs
37822	}
37823	if prce.Phase4DurationMs != nil {
37824		objectMap["Phase4DurationMs"] = prce.Phase4DurationMs
37825	}
37826	if prce.TotalDurationMs != nil {
37827		objectMap["TotalDurationMs"] = prce.TotalDurationMs
37828	}
37829	if prce.PartitionID != nil {
37830		objectMap["PartitionId"] = prce.PartitionID
37831	}
37832	if prce.EventInstanceID != nil {
37833		objectMap["EventInstanceId"] = prce.EventInstanceID
37834	}
37835	if prce.TimeStamp != nil {
37836		objectMap["TimeStamp"] = prce.TimeStamp
37837	}
37838	if prce.HasCorrelatedEvents != nil {
37839		objectMap["HasCorrelatedEvents"] = prce.HasCorrelatedEvents
37840	}
37841	if prce.Kind != "" {
37842		objectMap["Kind"] = prce.Kind
37843	}
37844	return json.Marshal(objectMap)
37845}
37846
37847// AsApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37848func (prce PartitionReconfigurationCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
37849	return nil, false
37850}
37851
37852// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37853func (prce PartitionReconfigurationCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
37854	return nil, false
37855}
37856
37857// AsClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37858func (prce PartitionReconfigurationCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
37859	return nil, false
37860}
37861
37862// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37863func (prce PartitionReconfigurationCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
37864	return nil, false
37865}
37866
37867// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37868func (prce PartitionReconfigurationCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
37869	return nil, false
37870}
37871
37872// AsNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37873func (prce PartitionReconfigurationCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
37874	return nil, false
37875}
37876
37877// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37878func (prce PartitionReconfigurationCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
37879	return nil, false
37880}
37881
37882// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37883func (prce PartitionReconfigurationCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
37884	return nil, false
37885}
37886
37887// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37888func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
37889	return nil, false
37890}
37891
37892// AsPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37893func (prce PartitionReconfigurationCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
37894	return nil, false
37895}
37896
37897// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37898func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
37899	return &prce, true
37900}
37901
37902// AsReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37903func (prce PartitionReconfigurationCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
37904	return nil, false
37905}
37906
37907// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37908func (prce PartitionReconfigurationCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
37909	return nil, false
37910}
37911
37912// AsServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37913func (prce PartitionReconfigurationCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
37914	return nil, false
37915}
37916
37917// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37918func (prce PartitionReconfigurationCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
37919	return nil, false
37920}
37921
37922// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37923func (prce PartitionReconfigurationCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
37924	return nil, false
37925}
37926
37927// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37928func (prce PartitionReconfigurationCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
37929	return nil, false
37930}
37931
37932// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37933func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
37934	return nil, false
37935}
37936
37937// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37938func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
37939	return nil, false
37940}
37941
37942// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37943func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
37944	return nil, false
37945}
37946
37947// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37948func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
37949	return nil, false
37950}
37951
37952// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37953func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
37954	return nil, false
37955}
37956
37957// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37958func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
37959	return nil, false
37960}
37961
37962// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37963func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
37964	return nil, false
37965}
37966
37967// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37968func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
37969	return nil, false
37970}
37971
37972// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37973func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
37974	return nil, false
37975}
37976
37977// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37978func (prce PartitionReconfigurationCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
37979	return nil, false
37980}
37981
37982// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37983func (prce PartitionReconfigurationCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
37984	return nil, false
37985}
37986
37987// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37988func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
37989	return nil, false
37990}
37991
37992// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37993func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
37994	return nil, false
37995}
37996
37997// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
37998func (prce PartitionReconfigurationCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
37999	return nil, false
38000}
38001
38002// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38003func (prce PartitionReconfigurationCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
38004	return nil, false
38005}
38006
38007// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38008func (prce PartitionReconfigurationCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
38009	return nil, false
38010}
38011
38012// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38013func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
38014	return nil, false
38015}
38016
38017// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38018func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
38019	return nil, false
38020}
38021
38022// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38023func (prce PartitionReconfigurationCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
38024	return nil, false
38025}
38026
38027// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38028func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
38029	return nil, false
38030}
38031
38032// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38033func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
38034	return nil, false
38035}
38036
38037// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38038func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
38039	return nil, false
38040}
38041
38042// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38043func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
38044	return nil, false
38045}
38046
38047// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38048func (prce PartitionReconfigurationCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
38049	return nil, false
38050}
38051
38052// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38053func (prce PartitionReconfigurationCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
38054	return nil, false
38055}
38056
38057// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38058func (prce PartitionReconfigurationCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
38059	return nil, false
38060}
38061
38062// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38063func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
38064	return nil, false
38065}
38066
38067// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38068func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
38069	return nil, false
38070}
38071
38072// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38073func (prce PartitionReconfigurationCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
38074	return &prce, true
38075}
38076
38077// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38078func (prce PartitionReconfigurationCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
38079	return nil, false
38080}
38081
38082// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38083func (prce PartitionReconfigurationCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
38084	return nil, false
38085}
38086
38087// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38088func (prce PartitionReconfigurationCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
38089	return nil, false
38090}
38091
38092// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38093func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
38094	return nil, false
38095}
38096
38097// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38098func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
38099	return nil, false
38100}
38101
38102// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38103func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
38104	return nil, false
38105}
38106
38107// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38108func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
38109	return nil, false
38110}
38111
38112// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38113func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
38114	return nil, false
38115}
38116
38117// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38118func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
38119	return nil, false
38120}
38121
38122// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38123func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
38124	return nil, false
38125}
38126
38127// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38128func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
38129	return nil, false
38130}
38131
38132// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38133func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
38134	return nil, false
38135}
38136
38137// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38138func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
38139	return nil, false
38140}
38141
38142// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38143func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
38144	return nil, false
38145}
38146
38147// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38148func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
38149	return nil, false
38150}
38151
38152// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38153func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
38154	return nil, false
38155}
38156
38157// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38158func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
38159	return nil, false
38160}
38161
38162// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38163func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
38164	return nil, false
38165}
38166
38167// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38168func (prce PartitionReconfigurationCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
38169	return nil, false
38170}
38171
38172// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38173func (prce PartitionReconfigurationCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
38174	return nil, false
38175}
38176
38177// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38178func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
38179	return nil, false
38180}
38181
38182// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38183func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
38184	return nil, false
38185}
38186
38187// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38188func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
38189	return nil, false
38190}
38191
38192// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38193func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
38194	return nil, false
38195}
38196
38197// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38198func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
38199	return nil, false
38200}
38201
38202// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38203func (prce PartitionReconfigurationCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
38204	return nil, false
38205}
38206
38207// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38208func (prce PartitionReconfigurationCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
38209	return nil, false
38210}
38211
38212// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38213func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
38214	return nil, false
38215}
38216
38217// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38218func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
38219	return nil, false
38220}
38221
38222// AsFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38223func (prce PartitionReconfigurationCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
38224	return nil, false
38225}
38226
38227// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38228func (prce PartitionReconfigurationCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
38229	return &prce, true
38230}
38231
38232// PartitionRestartProgress information about a partition restart user-induced operation.
38233type PartitionRestartProgress struct {
38234	autorest.Response `json:"-"`
38235	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
38236	State OperationState `json:"State,omitempty"`
38237	// RestartPartitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
38238	RestartPartitionResult *RestartPartitionResult `json:"RestartPartitionResult,omitempty"`
38239}
38240
38241// BasicPartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
38242// before continuing with operations.
38243type BasicPartitionSafetyCheck interface {
38244	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
38245	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
38246	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
38247	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
38248	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
38249	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
38250	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
38251}
38252
38253// PartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
38254// before continuing with operations.
38255type PartitionSafetyCheck struct {
38256	// PartitionID - Id of the partition which is undergoing the safety check.
38257	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38258	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
38259	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
38260}
38261
38262func unmarshalBasicPartitionSafetyCheck(body []byte) (BasicPartitionSafetyCheck, error) {
38263	var m map[string]interface{}
38264	err := json.Unmarshal(body, &m)
38265	if err != nil {
38266		return nil, err
38267	}
38268
38269	switch m["Kind"] {
38270	case string(KindEnsureAvailability):
38271		var easc EnsureAvailabilitySafetyCheck
38272		err := json.Unmarshal(body, &easc)
38273		return easc, err
38274	case string(KindEnsurePartitionQuorum):
38275		var epqsc EnsurePartitionQurumSafetyCheck
38276		err := json.Unmarshal(body, &epqsc)
38277		return epqsc, err
38278	case string(KindWaitForInbuildReplica):
38279		var wfirsc WaitForInbuildReplicaSafetyCheck
38280		err := json.Unmarshal(body, &wfirsc)
38281		return wfirsc, err
38282	case string(KindWaitForPrimaryPlacement):
38283		var wfppsc WaitForPrimaryPlacementSafetyCheck
38284		err := json.Unmarshal(body, &wfppsc)
38285		return wfppsc, err
38286	case string(KindWaitForPrimarySwap):
38287		var wfpssc WaitForPrimarySwapSafetyCheck
38288		err := json.Unmarshal(body, &wfpssc)
38289		return wfpssc, err
38290	case string(KindWaitForReconfiguration):
38291		var wfrsc WaitForReconfigurationSafetyCheck
38292		err := json.Unmarshal(body, &wfrsc)
38293		return wfrsc, err
38294	default:
38295		var psc PartitionSafetyCheck
38296		err := json.Unmarshal(body, &psc)
38297		return psc, err
38298	}
38299}
38300func unmarshalBasicPartitionSafetyCheckArray(body []byte) ([]BasicPartitionSafetyCheck, error) {
38301	var rawMessages []*json.RawMessage
38302	err := json.Unmarshal(body, &rawMessages)
38303	if err != nil {
38304		return nil, err
38305	}
38306
38307	pscArray := make([]BasicPartitionSafetyCheck, len(rawMessages))
38308
38309	for index, rawMessage := range rawMessages {
38310		psc, err := unmarshalBasicPartitionSafetyCheck(*rawMessage)
38311		if err != nil {
38312			return nil, err
38313		}
38314		pscArray[index] = psc
38315	}
38316	return pscArray, nil
38317}
38318
38319// MarshalJSON is the custom marshaler for PartitionSafetyCheck.
38320func (psc PartitionSafetyCheck) MarshalJSON() ([]byte, error) {
38321	psc.Kind = KindPartitionSafetyCheck
38322	objectMap := make(map[string]interface{})
38323	if psc.PartitionID != nil {
38324		objectMap["PartitionId"] = psc.PartitionID
38325	}
38326	if psc.Kind != "" {
38327		objectMap["Kind"] = psc.Kind
38328	}
38329	return json.Marshal(objectMap)
38330}
38331
38332// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38333func (psc PartitionSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
38334	return &psc, true
38335}
38336
38337// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38338func (psc PartitionSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
38339	return &psc, true
38340}
38341
38342// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38343func (psc PartitionSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
38344	return nil, false
38345}
38346
38347// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38348func (psc PartitionSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
38349	return nil, false
38350}
38351
38352// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38353func (psc PartitionSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
38354	return nil, false
38355}
38356
38357// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38358func (psc PartitionSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
38359	return nil, false
38360}
38361
38362// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38363func (psc PartitionSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
38364	return nil, false
38365}
38366
38367// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38368func (psc PartitionSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
38369	return nil, false
38370}
38371
38372// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38373func (psc PartitionSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
38374	return nil, false
38375}
38376
38377// AsSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38378func (psc PartitionSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
38379	return nil, false
38380}
38381
38382// AsBasicSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38383func (psc PartitionSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
38384	return &psc, true
38385}
38386
38387// BasicPartitionSchemeDescription describes how the service is partitioned.
38388type BasicPartitionSchemeDescription interface {
38389	AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool)
38390	AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool)
38391	AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool)
38392	AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool)
38393}
38394
38395// PartitionSchemeDescription describes how the service is partitioned.
38396type PartitionSchemeDescription struct {
38397	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
38398	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
38399}
38400
38401func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionSchemeDescription, error) {
38402	var m map[string]interface{}
38403	err := json.Unmarshal(body, &m)
38404	if err != nil {
38405		return nil, err
38406	}
38407
38408	switch m["PartitionScheme"] {
38409	case string(PartitionSchemeNamed1):
38410		var npsd NamedPartitionSchemeDescription
38411		err := json.Unmarshal(body, &npsd)
38412		return npsd, err
38413	case string(PartitionSchemeSingleton1):
38414		var spsd SingletonPartitionSchemeDescription
38415		err := json.Unmarshal(body, &spsd)
38416		return spsd, err
38417	case string(PartitionSchemeUniformInt64Range1):
38418		var ui6rpsd UniformInt64RangePartitionSchemeDescription
38419		err := json.Unmarshal(body, &ui6rpsd)
38420		return ui6rpsd, err
38421	default:
38422		var psd PartitionSchemeDescription
38423		err := json.Unmarshal(body, &psd)
38424		return psd, err
38425	}
38426}
38427func unmarshalBasicPartitionSchemeDescriptionArray(body []byte) ([]BasicPartitionSchemeDescription, error) {
38428	var rawMessages []*json.RawMessage
38429	err := json.Unmarshal(body, &rawMessages)
38430	if err != nil {
38431		return nil, err
38432	}
38433
38434	psdArray := make([]BasicPartitionSchemeDescription, len(rawMessages))
38435
38436	for index, rawMessage := range rawMessages {
38437		psd, err := unmarshalBasicPartitionSchemeDescription(*rawMessage)
38438		if err != nil {
38439			return nil, err
38440		}
38441		psdArray[index] = psd
38442	}
38443	return psdArray, nil
38444}
38445
38446// MarshalJSON is the custom marshaler for PartitionSchemeDescription.
38447func (psd PartitionSchemeDescription) MarshalJSON() ([]byte, error) {
38448	psd.PartitionScheme = PartitionSchemePartitionSchemeDescription
38449	objectMap := make(map[string]interface{})
38450	if psd.PartitionScheme != "" {
38451		objectMap["PartitionScheme"] = psd.PartitionScheme
38452	}
38453	return json.Marshal(objectMap)
38454}
38455
38456// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38457func (psd PartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
38458	return nil, false
38459}
38460
38461// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38462func (psd PartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
38463	return nil, false
38464}
38465
38466// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38467func (psd PartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
38468	return nil, false
38469}
38470
38471// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38472func (psd PartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
38473	return &psd, true
38474}
38475
38476// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38477func (psd PartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
38478	return &psd, true
38479}
38480
38481// PartitionsHealthEvaluation represents health evaluation for the partitions of a service, containing health
38482// evaluations for each unhealthy partition that impacts current aggregated health state. Can be returned when
38483// evaluating service health and the aggregated health state is either Error or Warning.
38484type PartitionsHealthEvaluation struct {
38485	// MaxPercentUnhealthyPartitionsPerService - Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy.
38486	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
38487	// TotalCount - Total number of partitions of the service from the health store.
38488	TotalCount *int64 `json:"TotalCount,omitempty"`
38489	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health.
38490	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
38491	// 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'
38492	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38493	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
38494	Description *string `json:"Description,omitempty"`
38495	// 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'
38496	Kind Kind `json:"Kind,omitempty"`
38497}
38498
38499// MarshalJSON is the custom marshaler for PartitionsHealthEvaluation.
38500func (phe PartitionsHealthEvaluation) MarshalJSON() ([]byte, error) {
38501	phe.Kind = KindPartitions
38502	objectMap := make(map[string]interface{})
38503	if phe.MaxPercentUnhealthyPartitionsPerService != nil {
38504		objectMap["MaxPercentUnhealthyPartitionsPerService"] = phe.MaxPercentUnhealthyPartitionsPerService
38505	}
38506	if phe.TotalCount != nil {
38507		objectMap["TotalCount"] = phe.TotalCount
38508	}
38509	if phe.UnhealthyEvaluations != nil {
38510		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
38511	}
38512	if phe.AggregatedHealthState != "" {
38513		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
38514	}
38515	if phe.Description != nil {
38516		objectMap["Description"] = phe.Description
38517	}
38518	if phe.Kind != "" {
38519		objectMap["Kind"] = phe.Kind
38520	}
38521	return json.Marshal(objectMap)
38522}
38523
38524// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38525func (phe PartitionsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
38526	return nil, false
38527}
38528
38529// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38530func (phe PartitionsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
38531	return nil, false
38532}
38533
38534// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38535func (phe PartitionsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
38536	return nil, false
38537}
38538
38539// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38540func (phe PartitionsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
38541	return nil, false
38542}
38543
38544// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38545func (phe PartitionsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
38546	return nil, false
38547}
38548
38549// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38550func (phe PartitionsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
38551	return nil, false
38552}
38553
38554// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38555func (phe PartitionsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
38556	return nil, false
38557}
38558
38559// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38560func (phe PartitionsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
38561	return nil, false
38562}
38563
38564// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38565func (phe PartitionsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
38566	return nil, false
38567}
38568
38569// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38570func (phe PartitionsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
38571	return nil, false
38572}
38573
38574// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38575func (phe PartitionsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
38576	return nil, false
38577}
38578
38579// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38580func (phe PartitionsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
38581	return nil, false
38582}
38583
38584// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38585func (phe PartitionsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
38586	return &phe, true
38587}
38588
38589// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38590func (phe PartitionsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
38591	return nil, false
38592}
38593
38594// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38595func (phe PartitionsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
38596	return nil, false
38597}
38598
38599// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38600func (phe PartitionsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
38601	return nil, false
38602}
38603
38604// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38605func (phe PartitionsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
38606	return nil, false
38607}
38608
38609// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38610func (phe PartitionsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
38611	return nil, false
38612}
38613
38614// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38615func (phe PartitionsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
38616	return nil, false
38617}
38618
38619// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38620func (phe PartitionsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
38621	return nil, false
38622}
38623
38624// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38625func (phe PartitionsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
38626	return nil, false
38627}
38628
38629// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
38630func (phe PartitionsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
38631	return &phe, true
38632}
38633
38634// PrimaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in a
38635// Primary role.
38636type PrimaryReplicatorStatus struct {
38637	// ReplicationQueueStatus - Details about the replication queue on the primary replicator.
38638	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
38639	// RemoteReplicators - The status of all the active and idle secondary replicators that the primary is aware of.
38640	RemoteReplicators *[]RemoteReplicatorStatus `json:"RemoteReplicators,omitempty"`
38641	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
38642	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
38643}
38644
38645// MarshalJSON is the custom marshaler for PrimaryReplicatorStatus.
38646func (prs PrimaryReplicatorStatus) MarshalJSON() ([]byte, error) {
38647	prs.Kind = KindPrimary
38648	objectMap := make(map[string]interface{})
38649	if prs.ReplicationQueueStatus != nil {
38650		objectMap["ReplicationQueueStatus"] = prs.ReplicationQueueStatus
38651	}
38652	if prs.RemoteReplicators != nil {
38653		objectMap["RemoteReplicators"] = prs.RemoteReplicators
38654	}
38655	if prs.Kind != "" {
38656		objectMap["Kind"] = prs.Kind
38657	}
38658	return json.Marshal(objectMap)
38659}
38660
38661// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
38662func (prs PrimaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
38663	return &prs, true
38664}
38665
38666// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
38667func (prs PrimaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
38668	return nil, false
38669}
38670
38671// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
38672func (prs PrimaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
38673	return nil, false
38674}
38675
38676// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
38677func (prs PrimaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
38678	return nil, false
38679}
38680
38681// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
38682func (prs PrimaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
38683	return nil, false
38684}
38685
38686// AsReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
38687func (prs PrimaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
38688	return nil, false
38689}
38690
38691// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
38692func (prs PrimaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
38693	return &prs, true
38694}
38695
38696// ProcessDeactivatedEvent process Deactivated event.
38697type ProcessDeactivatedEvent struct {
38698	// ServiceName - Name of Service.
38699	ServiceName *string `json:"ServiceName,omitempty"`
38700	// ServicePackageName - Name of Service package.
38701	ServicePackageName *string `json:"ServicePackageName,omitempty"`
38702	// ServicePackageActivationID - Activation Id of Service package.
38703	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
38704	// IsExclusive - Indicates IsExclusive flag.
38705	IsExclusive *bool `json:"IsExclusive,omitempty"`
38706	// CodePackageName - Name of Code package.
38707	CodePackageName *string `json:"CodePackageName,omitempty"`
38708	// EntryPointType - Type of EntryPoint.
38709	EntryPointType *string `json:"EntryPointType,omitempty"`
38710	// ExeName - Name of executable.
38711	ExeName *string `json:"ExeName,omitempty"`
38712	// ProcessID - Process Id.
38713	ProcessID *int64 `json:"ProcessId,omitempty"`
38714	// HostID - Host Id.
38715	HostID *string `json:"HostId,omitempty"`
38716	// ExitCode - Exit code of process.
38717	ExitCode *int64 `json:"ExitCode,omitempty"`
38718	// UnexpectedTermination - Indicates if termination is unexpected.
38719	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
38720	// StartTime - Start time of process.
38721	StartTime *date.Time `json:"StartTime,omitempty"`
38722	// 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.
38723	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
38724	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
38725	ApplicationID *string `json:"ApplicationId,omitempty"`
38726	// EventInstanceID - The identifier for the FabricEvent instance.
38727	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
38728	// TimeStamp - The time event was logged.
38729	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
38730	// HasCorrelatedEvents - Shows there is existing related events available.
38731	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
38732	// 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'
38733	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
38734}
38735
38736// MarshalJSON is the custom marshaler for ProcessDeactivatedEvent.
38737func (pde ProcessDeactivatedEvent) MarshalJSON() ([]byte, error) {
38738	pde.Kind = KindProcessDeactivated
38739	objectMap := make(map[string]interface{})
38740	if pde.ServiceName != nil {
38741		objectMap["ServiceName"] = pde.ServiceName
38742	}
38743	if pde.ServicePackageName != nil {
38744		objectMap["ServicePackageName"] = pde.ServicePackageName
38745	}
38746	if pde.ServicePackageActivationID != nil {
38747		objectMap["ServicePackageActivationId"] = pde.ServicePackageActivationID
38748	}
38749	if pde.IsExclusive != nil {
38750		objectMap["IsExclusive"] = pde.IsExclusive
38751	}
38752	if pde.CodePackageName != nil {
38753		objectMap["CodePackageName"] = pde.CodePackageName
38754	}
38755	if pde.EntryPointType != nil {
38756		objectMap["EntryPointType"] = pde.EntryPointType
38757	}
38758	if pde.ExeName != nil {
38759		objectMap["ExeName"] = pde.ExeName
38760	}
38761	if pde.ProcessID != nil {
38762		objectMap["ProcessId"] = pde.ProcessID
38763	}
38764	if pde.HostID != nil {
38765		objectMap["HostId"] = pde.HostID
38766	}
38767	if pde.ExitCode != nil {
38768		objectMap["ExitCode"] = pde.ExitCode
38769	}
38770	if pde.UnexpectedTermination != nil {
38771		objectMap["UnexpectedTermination"] = pde.UnexpectedTermination
38772	}
38773	if pde.StartTime != nil {
38774		objectMap["StartTime"] = pde.StartTime
38775	}
38776	if pde.ApplicationID != nil {
38777		objectMap["ApplicationId"] = pde.ApplicationID
38778	}
38779	if pde.EventInstanceID != nil {
38780		objectMap["EventInstanceId"] = pde.EventInstanceID
38781	}
38782	if pde.TimeStamp != nil {
38783		objectMap["TimeStamp"] = pde.TimeStamp
38784	}
38785	if pde.HasCorrelatedEvents != nil {
38786		objectMap["HasCorrelatedEvents"] = pde.HasCorrelatedEvents
38787	}
38788	if pde.Kind != "" {
38789		objectMap["Kind"] = pde.Kind
38790	}
38791	return json.Marshal(objectMap)
38792}
38793
38794// AsApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38795func (pde ProcessDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
38796	return nil, false
38797}
38798
38799// AsBasicApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38800func (pde ProcessDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
38801	return &pde, true
38802}
38803
38804// AsClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38805func (pde ProcessDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
38806	return nil, false
38807}
38808
38809// AsBasicClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38810func (pde ProcessDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
38811	return nil, false
38812}
38813
38814// AsContainerInstanceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38815func (pde ProcessDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
38816	return nil, false
38817}
38818
38819// AsNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38820func (pde ProcessDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
38821	return nil, false
38822}
38823
38824// AsBasicNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38825func (pde ProcessDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
38826	return nil, false
38827}
38828
38829// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38830func (pde ProcessDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
38831	return nil, false
38832}
38833
38834// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38835func (pde ProcessDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
38836	return nil, false
38837}
38838
38839// AsPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38840func (pde ProcessDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
38841	return nil, false
38842}
38843
38844// AsBasicPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38845func (pde ProcessDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
38846	return nil, false
38847}
38848
38849// AsReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38850func (pde ProcessDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
38851	return nil, false
38852}
38853
38854// AsBasicReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38855func (pde ProcessDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
38856	return nil, false
38857}
38858
38859// AsServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38860func (pde ProcessDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
38861	return nil, false
38862}
38863
38864// AsBasicServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38865func (pde ProcessDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
38866	return nil, false
38867}
38868
38869// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38870func (pde ProcessDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
38871	return nil, false
38872}
38873
38874// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38875func (pde ProcessDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
38876	return nil, false
38877}
38878
38879// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38880func (pde ProcessDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
38881	return nil, false
38882}
38883
38884// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38885func (pde ProcessDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
38886	return nil, false
38887}
38888
38889// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38890func (pde ProcessDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
38891	return nil, false
38892}
38893
38894// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38895func (pde ProcessDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
38896	return nil, false
38897}
38898
38899// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38900func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
38901	return nil, false
38902}
38903
38904// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38905func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
38906	return nil, false
38907}
38908
38909// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38910func (pde ProcessDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
38911	return nil, false
38912}
38913
38914// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38915func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
38916	return nil, false
38917}
38918
38919// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38920func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
38921	return nil, false
38922}
38923
38924// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38925func (pde ProcessDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
38926	return &pde, true
38927}
38928
38929// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38930func (pde ProcessDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
38931	return nil, false
38932}
38933
38934// AsNodeAbortedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38935func (pde ProcessDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
38936	return nil, false
38937}
38938
38939// AsNodeAbortingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38940func (pde ProcessDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
38941	return nil, false
38942}
38943
38944// AsNodeAddedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38945func (pde ProcessDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
38946	return nil, false
38947}
38948
38949// AsNodeCloseEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38950func (pde ProcessDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
38951	return nil, false
38952}
38953
38954// AsNodeClosingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38955func (pde ProcessDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
38956	return nil, false
38957}
38958
38959// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38960func (pde ProcessDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
38961	return nil, false
38962}
38963
38964// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38965func (pde ProcessDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
38966	return nil, false
38967}
38968
38969// AsNodeDownEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38970func (pde ProcessDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
38971	return nil, false
38972}
38973
38974// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38975func (pde ProcessDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
38976	return nil, false
38977}
38978
38979// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38980func (pde ProcessDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
38981	return nil, false
38982}
38983
38984// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38985func (pde ProcessDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
38986	return nil, false
38987}
38988
38989// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38990func (pde ProcessDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
38991	return nil, false
38992}
38993
38994// AsNodeOpeningEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
38995func (pde ProcessDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
38996	return nil, false
38997}
38998
38999// AsNodeRemovedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39000func (pde ProcessDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
39001	return nil, false
39002}
39003
39004// AsNodeUpEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39005func (pde ProcessDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
39006	return nil, false
39007}
39008
39009// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39010func (pde ProcessDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
39011	return nil, false
39012}
39013
39014// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39015func (pde ProcessDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
39016	return nil, false
39017}
39018
39019// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39020func (pde ProcessDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
39021	return nil, false
39022}
39023
39024// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39025func (pde ProcessDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
39026	return nil, false
39027}
39028
39029// AsServiceCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39030func (pde ProcessDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
39031	return nil, false
39032}
39033
39034// AsServiceDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39035func (pde ProcessDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
39036	return nil, false
39037}
39038
39039// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39040func (pde ProcessDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
39041	return nil, false
39042}
39043
39044// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39045func (pde ProcessDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
39046	return nil, false
39047}
39048
39049// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39050func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
39051	return nil, false
39052}
39053
39054// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39055func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
39056	return nil, false
39057}
39058
39059// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39060func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
39061	return nil, false
39062}
39063
39064// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39065func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
39066	return nil, false
39067}
39068
39069// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39070func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
39071	return nil, false
39072}
39073
39074// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39075func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
39076	return nil, false
39077}
39078
39079// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39080func (pde ProcessDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
39081	return nil, false
39082}
39083
39084// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39085func (pde ProcessDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
39086	return nil, false
39087}
39088
39089// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39090func (pde ProcessDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
39091	return nil, false
39092}
39093
39094// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39095func (pde ProcessDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
39096	return nil, false
39097}
39098
39099// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39100func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
39101	return nil, false
39102}
39103
39104// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39105func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
39106	return nil, false
39107}
39108
39109// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39110func (pde ProcessDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
39111	return nil, false
39112}
39113
39114// AsChaosStoppedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39115func (pde ProcessDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
39116	return nil, false
39117}
39118
39119// AsChaosStartedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39120func (pde ProcessDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
39121	return nil, false
39122}
39123
39124// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39125func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
39126	return nil, false
39127}
39128
39129// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39130func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
39131	return nil, false
39132}
39133
39134// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39135func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
39136	return nil, false
39137}
39138
39139// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39140func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
39141	return nil, false
39142}
39143
39144// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39145func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
39146	return nil, false
39147}
39148
39149// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39150func (pde ProcessDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
39151	return nil, false
39152}
39153
39154// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39155func (pde ProcessDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
39156	return nil, false
39157}
39158
39159// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39160func (pde ProcessDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
39161	return nil, false
39162}
39163
39164// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39165func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
39166	return nil, false
39167}
39168
39169// AsFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39170func (pde ProcessDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
39171	return nil, false
39172}
39173
39174// AsBasicFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39175func (pde ProcessDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
39176	return &pde, true
39177}
39178
39179// PropertyBatchDescriptionList describes a list of property batch operations to be executed. Either all or none of
39180// the operations will be committed.
39181type PropertyBatchDescriptionList struct {
39182	// Operations - A list of the property batch operations to be executed.
39183	Operations *[]BasicPropertyBatchOperation `json:"Operations,omitempty"`
39184}
39185
39186// UnmarshalJSON is the custom unmarshaler for PropertyBatchDescriptionList struct.
39187func (pbdl *PropertyBatchDescriptionList) UnmarshalJSON(body []byte) error {
39188	var m map[string]*json.RawMessage
39189	err := json.Unmarshal(body, &m)
39190	if err != nil {
39191		return err
39192	}
39193	for k, v := range m {
39194		switch k {
39195		case "Operations":
39196			if v != nil {
39197				operations, err := unmarshalBasicPropertyBatchOperationArray(*v)
39198				if err != nil {
39199					return err
39200				}
39201				pbdl.Operations = &operations
39202			}
39203		}
39204	}
39205
39206	return nil
39207}
39208
39209// BasicPropertyBatchInfo information about the results of a property batch.
39210type BasicPropertyBatchInfo interface {
39211	AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool)
39212	AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool)
39213	AsPropertyBatchInfo() (*PropertyBatchInfo, bool)
39214}
39215
39216// PropertyBatchInfo information about the results of a property batch.
39217type PropertyBatchInfo struct {
39218	autorest.Response `json:"-"`
39219	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
39220	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
39221}
39222
39223func unmarshalBasicPropertyBatchInfo(body []byte) (BasicPropertyBatchInfo, error) {
39224	var m map[string]interface{}
39225	err := json.Unmarshal(body, &m)
39226	if err != nil {
39227		return nil, err
39228	}
39229
39230	switch m["Kind"] {
39231	case string(KindSuccessful):
39232		var spbi SuccessfulPropertyBatchInfo
39233		err := json.Unmarshal(body, &spbi)
39234		return spbi, err
39235	case string(KindFailed):
39236		var fpbi FailedPropertyBatchInfo
39237		err := json.Unmarshal(body, &fpbi)
39238		return fpbi, err
39239	default:
39240		var pbi PropertyBatchInfo
39241		err := json.Unmarshal(body, &pbi)
39242		return pbi, err
39243	}
39244}
39245func unmarshalBasicPropertyBatchInfoArray(body []byte) ([]BasicPropertyBatchInfo, error) {
39246	var rawMessages []*json.RawMessage
39247	err := json.Unmarshal(body, &rawMessages)
39248	if err != nil {
39249		return nil, err
39250	}
39251
39252	pbiArray := make([]BasicPropertyBatchInfo, len(rawMessages))
39253
39254	for index, rawMessage := range rawMessages {
39255		pbi, err := unmarshalBasicPropertyBatchInfo(*rawMessage)
39256		if err != nil {
39257			return nil, err
39258		}
39259		pbiArray[index] = pbi
39260	}
39261	return pbiArray, nil
39262}
39263
39264// MarshalJSON is the custom marshaler for PropertyBatchInfo.
39265func (pbi PropertyBatchInfo) MarshalJSON() ([]byte, error) {
39266	pbi.Kind = KindPropertyBatchInfo
39267	objectMap := make(map[string]interface{})
39268	if pbi.Kind != "" {
39269		objectMap["Kind"] = pbi.Kind
39270	}
39271	return json.Marshal(objectMap)
39272}
39273
39274// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39275func (pbi PropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
39276	return nil, false
39277}
39278
39279// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39280func (pbi PropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
39281	return nil, false
39282}
39283
39284// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39285func (pbi PropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
39286	return &pbi, true
39287}
39288
39289// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39290func (pbi PropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
39291	return &pbi, true
39292}
39293
39294// PropertyBatchInfoModel ...
39295type PropertyBatchInfoModel struct {
39296	autorest.Response `json:"-"`
39297	Value             BasicPropertyBatchInfo `json:"value,omitempty"`
39298}
39299
39300// UnmarshalJSON is the custom unmarshaler for PropertyBatchInfoModel struct.
39301func (pbim *PropertyBatchInfoModel) UnmarshalJSON(body []byte) error {
39302	pbi, err := unmarshalBasicPropertyBatchInfo(body)
39303	if err != nil {
39304		return err
39305	}
39306	pbim.Value = pbi
39307
39308	return nil
39309}
39310
39311// BasicPropertyBatchOperation represents the base type for property operations that can be put into a batch and
39312// submitted.
39313type BasicPropertyBatchOperation interface {
39314	AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool)
39315	AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool)
39316	AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool)
39317	AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool)
39318	AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool)
39319	AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool)
39320	AsPropertyBatchOperation() (*PropertyBatchOperation, bool)
39321}
39322
39323// PropertyBatchOperation represents the base type for property operations that can be put into a batch and
39324// submitted.
39325type PropertyBatchOperation struct {
39326	// PropertyName - The name of the Service Fabric property.
39327	PropertyName *string `json:"PropertyName,omitempty"`
39328	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
39329	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
39330}
39331
39332func unmarshalBasicPropertyBatchOperation(body []byte) (BasicPropertyBatchOperation, error) {
39333	var m map[string]interface{}
39334	err := json.Unmarshal(body, &m)
39335	if err != nil {
39336		return nil, err
39337	}
39338
39339	switch m["Kind"] {
39340	case string(KindCheckExists):
39341		var cepbo CheckExistsPropertyBatchOperation
39342		err := json.Unmarshal(body, &cepbo)
39343		return cepbo, err
39344	case string(KindCheckSequence):
39345		var cspbo CheckSequencePropertyBatchOperation
39346		err := json.Unmarshal(body, &cspbo)
39347		return cspbo, err
39348	case string(KindCheckValue):
39349		var cvpbo CheckValuePropertyBatchOperation
39350		err := json.Unmarshal(body, &cvpbo)
39351		return cvpbo, err
39352	case string(KindDelete):
39353		var dpbo DeletePropertyBatchOperation
39354		err := json.Unmarshal(body, &dpbo)
39355		return dpbo, err
39356	case string(KindGet):
39357		var gpbo GetPropertyBatchOperation
39358		err := json.Unmarshal(body, &gpbo)
39359		return gpbo, err
39360	case string(KindPut):
39361		var ppbo PutPropertyBatchOperation
39362		err := json.Unmarshal(body, &ppbo)
39363		return ppbo, err
39364	default:
39365		var pbo PropertyBatchOperation
39366		err := json.Unmarshal(body, &pbo)
39367		return pbo, err
39368	}
39369}
39370func unmarshalBasicPropertyBatchOperationArray(body []byte) ([]BasicPropertyBatchOperation, error) {
39371	var rawMessages []*json.RawMessage
39372	err := json.Unmarshal(body, &rawMessages)
39373	if err != nil {
39374		return nil, err
39375	}
39376
39377	pboArray := make([]BasicPropertyBatchOperation, len(rawMessages))
39378
39379	for index, rawMessage := range rawMessages {
39380		pbo, err := unmarshalBasicPropertyBatchOperation(*rawMessage)
39381		if err != nil {
39382			return nil, err
39383		}
39384		pboArray[index] = pbo
39385	}
39386	return pboArray, nil
39387}
39388
39389// MarshalJSON is the custom marshaler for PropertyBatchOperation.
39390func (pbo PropertyBatchOperation) MarshalJSON() ([]byte, error) {
39391	pbo.Kind = KindPropertyBatchOperation
39392	objectMap := make(map[string]interface{})
39393	if pbo.PropertyName != nil {
39394		objectMap["PropertyName"] = pbo.PropertyName
39395	}
39396	if pbo.Kind != "" {
39397		objectMap["Kind"] = pbo.Kind
39398	}
39399	return json.Marshal(objectMap)
39400}
39401
39402// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39403func (pbo PropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
39404	return nil, false
39405}
39406
39407// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39408func (pbo PropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
39409	return nil, false
39410}
39411
39412// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39413func (pbo PropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
39414	return nil, false
39415}
39416
39417// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39418func (pbo PropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
39419	return nil, false
39420}
39421
39422// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39423func (pbo PropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
39424	return nil, false
39425}
39426
39427// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39428func (pbo PropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
39429	return nil, false
39430}
39431
39432// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39433func (pbo PropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
39434	return &pbo, true
39435}
39436
39437// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39438func (pbo PropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
39439	return &pbo, true
39440}
39441
39442// PropertyDescription description of a Service Fabric property.
39443type PropertyDescription struct {
39444	// PropertyName - The name of the Service Fabric property.
39445	PropertyName *string `json:"PropertyName,omitempty"`
39446	// CustomTypeID - The property's custom type id. Using this property, the user is able to tag the type of the value of the property.
39447	CustomTypeID *string `json:"CustomTypeId,omitempty"`
39448	// Value - Describes a Service Fabric property value.
39449	Value BasicPropertyValue `json:"Value,omitempty"`
39450}
39451
39452// UnmarshalJSON is the custom unmarshaler for PropertyDescription struct.
39453func (pd *PropertyDescription) UnmarshalJSON(body []byte) error {
39454	var m map[string]*json.RawMessage
39455	err := json.Unmarshal(body, &m)
39456	if err != nil {
39457		return err
39458	}
39459	for k, v := range m {
39460		switch k {
39461		case "PropertyName":
39462			if v != nil {
39463				var propertyName string
39464				err = json.Unmarshal(*v, &propertyName)
39465				if err != nil {
39466					return err
39467				}
39468				pd.PropertyName = &propertyName
39469			}
39470		case "CustomTypeId":
39471			if v != nil {
39472				var customTypeID string
39473				err = json.Unmarshal(*v, &customTypeID)
39474				if err != nil {
39475					return err
39476				}
39477				pd.CustomTypeID = &customTypeID
39478			}
39479		case "Value":
39480			if v != nil {
39481				value, err := unmarshalBasicPropertyValue(*v)
39482				if err != nil {
39483					return err
39484				}
39485				pd.Value = value
39486			}
39487		}
39488	}
39489
39490	return nil
39491}
39492
39493// PropertyInfo information about a Service Fabric property.
39494type PropertyInfo struct {
39495	autorest.Response `json:"-"`
39496	// Name - The name of the Service Fabric property.
39497	Name *string `json:"Name,omitempty"`
39498	// Value - Describes a Service Fabric property value.
39499	Value BasicPropertyValue `json:"Value,omitempty"`
39500	// Metadata - The metadata associated with a property, including the property's name.
39501	Metadata *PropertyMetadata `json:"Metadata,omitempty"`
39502}
39503
39504// UnmarshalJSON is the custom unmarshaler for PropertyInfo struct.
39505func (pi *PropertyInfo) UnmarshalJSON(body []byte) error {
39506	var m map[string]*json.RawMessage
39507	err := json.Unmarshal(body, &m)
39508	if err != nil {
39509		return err
39510	}
39511	for k, v := range m {
39512		switch k {
39513		case "Name":
39514			if v != nil {
39515				var name string
39516				err = json.Unmarshal(*v, &name)
39517				if err != nil {
39518					return err
39519				}
39520				pi.Name = &name
39521			}
39522		case "Value":
39523			if v != nil {
39524				value, err := unmarshalBasicPropertyValue(*v)
39525				if err != nil {
39526					return err
39527				}
39528				pi.Value = value
39529			}
39530		case "Metadata":
39531			if v != nil {
39532				var metadata PropertyMetadata
39533				err = json.Unmarshal(*v, &metadata)
39534				if err != nil {
39535					return err
39536				}
39537				pi.Metadata = &metadata
39538			}
39539		}
39540	}
39541
39542	return nil
39543}
39544
39545// PropertyMetadata the metadata associated with a property, including the property's name.
39546type PropertyMetadata struct {
39547	// 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'
39548	TypeID PropertyValueKind `json:"TypeId,omitempty"`
39549	// CustomTypeID - The property's custom type id.
39550	CustomTypeID *string `json:"CustomTypeId,omitempty"`
39551	// 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.
39552	Parent *string `json:"Parent,omitempty"`
39553	// SizeInBytes - The length of the serialized property value.
39554	SizeInBytes *int32 `json:"SizeInBytes,omitempty"`
39555	// LastModifiedUtcTimestamp - Represents when the Property was last modified. Only write operations will cause this field to be updated.
39556	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
39557	// SequenceNumber - The version of the property. Every time a property is modified, its sequence number is increased.
39558	SequenceNumber *string `json:"SequenceNumber,omitempty"`
39559}
39560
39561// BasicPropertyValue describes a Service Fabric property value.
39562type BasicPropertyValue interface {
39563	AsBinaryPropertyValue() (*BinaryPropertyValue, bool)
39564	AsInt64PropertyValue() (*Int64PropertyValue, bool)
39565	AsDoublePropertyValue() (*DoublePropertyValue, bool)
39566	AsStringPropertyValue() (*StringPropertyValue, bool)
39567	AsGUIDPropertyValue() (*GUIDPropertyValue, bool)
39568	AsPropertyValue() (*PropertyValue, bool)
39569}
39570
39571// PropertyValue describes a Service Fabric property value.
39572type PropertyValue struct {
39573	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
39574	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
39575}
39576
39577func unmarshalBasicPropertyValue(body []byte) (BasicPropertyValue, error) {
39578	var m map[string]interface{}
39579	err := json.Unmarshal(body, &m)
39580	if err != nil {
39581		return nil, err
39582	}
39583
39584	switch m["Kind"] {
39585	case string(KindBinary):
39586		var bpv BinaryPropertyValue
39587		err := json.Unmarshal(body, &bpv)
39588		return bpv, err
39589	case string(KindInt64):
39590		var i6pv Int64PropertyValue
39591		err := json.Unmarshal(body, &i6pv)
39592		return i6pv, err
39593	case string(KindDouble):
39594		var dpv DoublePropertyValue
39595		err := json.Unmarshal(body, &dpv)
39596		return dpv, err
39597	case string(KindString):
39598		var spv StringPropertyValue
39599		err := json.Unmarshal(body, &spv)
39600		return spv, err
39601	case string(KindGUID):
39602		var gpv GUIDPropertyValue
39603		err := json.Unmarshal(body, &gpv)
39604		return gpv, err
39605	default:
39606		var pv PropertyValue
39607		err := json.Unmarshal(body, &pv)
39608		return pv, err
39609	}
39610}
39611func unmarshalBasicPropertyValueArray(body []byte) ([]BasicPropertyValue, error) {
39612	var rawMessages []*json.RawMessage
39613	err := json.Unmarshal(body, &rawMessages)
39614	if err != nil {
39615		return nil, err
39616	}
39617
39618	pvArray := make([]BasicPropertyValue, len(rawMessages))
39619
39620	for index, rawMessage := range rawMessages {
39621		pv, err := unmarshalBasicPropertyValue(*rawMessage)
39622		if err != nil {
39623			return nil, err
39624		}
39625		pvArray[index] = pv
39626	}
39627	return pvArray, nil
39628}
39629
39630// MarshalJSON is the custom marshaler for PropertyValue.
39631func (pv PropertyValue) MarshalJSON() ([]byte, error) {
39632	pv.Kind = KindPropertyValue
39633	objectMap := make(map[string]interface{})
39634	if pv.Kind != "" {
39635		objectMap["Kind"] = pv.Kind
39636	}
39637	return json.Marshal(objectMap)
39638}
39639
39640// AsBinaryPropertyValue is the BasicPropertyValue implementation for PropertyValue.
39641func (pv PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
39642	return nil, false
39643}
39644
39645// AsInt64PropertyValue is the BasicPropertyValue implementation for PropertyValue.
39646func (pv PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
39647	return nil, false
39648}
39649
39650// AsDoublePropertyValue is the BasicPropertyValue implementation for PropertyValue.
39651func (pv PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
39652	return nil, false
39653}
39654
39655// AsStringPropertyValue is the BasicPropertyValue implementation for PropertyValue.
39656func (pv PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
39657	return nil, false
39658}
39659
39660// AsGUIDPropertyValue is the BasicPropertyValue implementation for PropertyValue.
39661func (pv PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
39662	return nil, false
39663}
39664
39665// AsPropertyValue is the BasicPropertyValue implementation for PropertyValue.
39666func (pv PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
39667	return &pv, true
39668}
39669
39670// AsBasicPropertyValue is the BasicPropertyValue implementation for PropertyValue.
39671func (pv PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
39672	return &pv, true
39673}
39674
39675// ProvisionApplicationTypeDescription describes the operation to register or provision an application type using
39676// an application package uploaded to the Service Fabric image store.
39677type ProvisionApplicationTypeDescription struct {
39678	// ApplicationTypeBuildPath - The relative path for the application package in the image store specified during the prior upload operation.
39679	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
39680	// 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'
39681	ApplicationPackageCleanupPolicy ApplicationPackageCleanupPolicy `json:"ApplicationPackageCleanupPolicy,omitempty"`
39682	// 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.
39683	Async *bool `json:"Async,omitempty"`
39684	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
39685	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
39686}
39687
39688// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescription.
39689func (patd ProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
39690	patd.Kind = KindImageStorePath
39691	objectMap := make(map[string]interface{})
39692	if patd.ApplicationTypeBuildPath != nil {
39693		objectMap["ApplicationTypeBuildPath"] = patd.ApplicationTypeBuildPath
39694	}
39695	if patd.ApplicationPackageCleanupPolicy != "" {
39696		objectMap["ApplicationPackageCleanupPolicy"] = patd.ApplicationPackageCleanupPolicy
39697	}
39698	if patd.Async != nil {
39699		objectMap["Async"] = patd.Async
39700	}
39701	if patd.Kind != "" {
39702		objectMap["Kind"] = patd.Kind
39703	}
39704	return json.Marshal(objectMap)
39705}
39706
39707// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
39708func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
39709	return &patd, true
39710}
39711
39712// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
39713func (patd ProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
39714	return nil, false
39715}
39716
39717// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
39718func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
39719	return nil, false
39720}
39721
39722// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
39723func (patd ProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
39724	return &patd, true
39725}
39726
39727// BasicProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if the
39728// operation needs to be asynchronous or not. Supported types of provision operations are from either image store or
39729// external store.
39730type BasicProvisionApplicationTypeDescriptionBase interface {
39731	AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool)
39732	AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool)
39733	AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool)
39734}
39735
39736// ProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if the
39737// operation needs to be asynchronous or not. Supported types of provision operations are from either image store
39738// or external store.
39739type ProvisionApplicationTypeDescriptionBase struct {
39740	// 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.
39741	Async *bool `json:"Async,omitempty"`
39742	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
39743	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
39744}
39745
39746func unmarshalBasicProvisionApplicationTypeDescriptionBase(body []byte) (BasicProvisionApplicationTypeDescriptionBase, error) {
39747	var m map[string]interface{}
39748	err := json.Unmarshal(body, &m)
39749	if err != nil {
39750		return nil, err
39751	}
39752
39753	switch m["Kind"] {
39754	case string(KindImageStorePath):
39755		var patd ProvisionApplicationTypeDescription
39756		err := json.Unmarshal(body, &patd)
39757		return patd, err
39758	case string(KindExternalStore):
39759		var espatd ExternalStoreProvisionApplicationTypeDescription
39760		err := json.Unmarshal(body, &espatd)
39761		return espatd, err
39762	default:
39763		var patdb ProvisionApplicationTypeDescriptionBase
39764		err := json.Unmarshal(body, &patdb)
39765		return patdb, err
39766	}
39767}
39768func unmarshalBasicProvisionApplicationTypeDescriptionBaseArray(body []byte) ([]BasicProvisionApplicationTypeDescriptionBase, error) {
39769	var rawMessages []*json.RawMessage
39770	err := json.Unmarshal(body, &rawMessages)
39771	if err != nil {
39772		return nil, err
39773	}
39774
39775	patdbArray := make([]BasicProvisionApplicationTypeDescriptionBase, len(rawMessages))
39776
39777	for index, rawMessage := range rawMessages {
39778		patdb, err := unmarshalBasicProvisionApplicationTypeDescriptionBase(*rawMessage)
39779		if err != nil {
39780			return nil, err
39781		}
39782		patdbArray[index] = patdb
39783	}
39784	return patdbArray, nil
39785}
39786
39787// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescriptionBase.
39788func (patdb ProvisionApplicationTypeDescriptionBase) MarshalJSON() ([]byte, error) {
39789	patdb.Kind = KindProvisionApplicationTypeDescriptionBase
39790	objectMap := make(map[string]interface{})
39791	if patdb.Async != nil {
39792		objectMap["Async"] = patdb.Async
39793	}
39794	if patdb.Kind != "" {
39795		objectMap["Kind"] = patdb.Kind
39796	}
39797	return json.Marshal(objectMap)
39798}
39799
39800// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
39801func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
39802	return nil, false
39803}
39804
39805// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
39806func (patdb ProvisionApplicationTypeDescriptionBase) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
39807	return nil, false
39808}
39809
39810// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
39811func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
39812	return &patdb, true
39813}
39814
39815// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
39816func (patdb ProvisionApplicationTypeDescriptionBase) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
39817	return &patdb, true
39818}
39819
39820// ProvisionFabricDescription describes the parameters for provisioning a cluster.
39821type ProvisionFabricDescription struct {
39822	// CodeFilePath - The cluster code package file path.
39823	CodeFilePath *string `json:"CodeFilePath,omitempty"`
39824	// ClusterManifestFilePath - The cluster manifest file path.
39825	ClusterManifestFilePath *string `json:"ClusterManifestFilePath,omitempty"`
39826}
39827
39828// PutPropertyBatchOperation puts the specified property under the specified name.
39829// Note that if one PropertyBatchOperation in a PropertyBatch fails,
39830// the entire batch fails and cannot be committed in a transactional manner.
39831type PutPropertyBatchOperation struct {
39832	// Value - Describes a Service Fabric property value.
39833	Value BasicPropertyValue `json:"Value,omitempty"`
39834	// CustomTypeID - The property's custom type id. Using this property, the user is able to tag the type of the value of the property.
39835	CustomTypeID *string `json:"CustomTypeId,omitempty"`
39836	// PropertyName - The name of the Service Fabric property.
39837	PropertyName *string `json:"PropertyName,omitempty"`
39838	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
39839	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
39840}
39841
39842// MarshalJSON is the custom marshaler for PutPropertyBatchOperation.
39843func (ppbo PutPropertyBatchOperation) MarshalJSON() ([]byte, error) {
39844	ppbo.Kind = KindPut
39845	objectMap := make(map[string]interface{})
39846	objectMap["Value"] = ppbo.Value
39847	if ppbo.CustomTypeID != nil {
39848		objectMap["CustomTypeId"] = ppbo.CustomTypeID
39849	}
39850	if ppbo.PropertyName != nil {
39851		objectMap["PropertyName"] = ppbo.PropertyName
39852	}
39853	if ppbo.Kind != "" {
39854		objectMap["Kind"] = ppbo.Kind
39855	}
39856	return json.Marshal(objectMap)
39857}
39858
39859// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39860func (ppbo PutPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
39861	return nil, false
39862}
39863
39864// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39865func (ppbo PutPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
39866	return nil, false
39867}
39868
39869// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39870func (ppbo PutPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
39871	return nil, false
39872}
39873
39874// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39875func (ppbo PutPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
39876	return nil, false
39877}
39878
39879// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39880func (ppbo PutPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
39881	return nil, false
39882}
39883
39884// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39885func (ppbo PutPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
39886	return &ppbo, true
39887}
39888
39889// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39890func (ppbo PutPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
39891	return nil, false
39892}
39893
39894// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
39895func (ppbo PutPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
39896	return &ppbo, true
39897}
39898
39899// UnmarshalJSON is the custom unmarshaler for PutPropertyBatchOperation struct.
39900func (ppbo *PutPropertyBatchOperation) UnmarshalJSON(body []byte) error {
39901	var m map[string]*json.RawMessage
39902	err := json.Unmarshal(body, &m)
39903	if err != nil {
39904		return err
39905	}
39906	for k, v := range m {
39907		switch k {
39908		case "Value":
39909			if v != nil {
39910				value, err := unmarshalBasicPropertyValue(*v)
39911				if err != nil {
39912					return err
39913				}
39914				ppbo.Value = value
39915			}
39916		case "CustomTypeId":
39917			if v != nil {
39918				var customTypeID string
39919				err = json.Unmarshal(*v, &customTypeID)
39920				if err != nil {
39921					return err
39922				}
39923				ppbo.CustomTypeID = &customTypeID
39924			}
39925		case "PropertyName":
39926			if v != nil {
39927				var propertyName string
39928				err = json.Unmarshal(*v, &propertyName)
39929				if err != nil {
39930					return err
39931				}
39932				ppbo.PropertyName = &propertyName
39933			}
39934		case "Kind":
39935			if v != nil {
39936				var kind KindBasicPropertyBatchOperation
39937				err = json.Unmarshal(*v, &kind)
39938				if err != nil {
39939					return err
39940				}
39941				ppbo.Kind = kind
39942			}
39943		}
39944	}
39945
39946	return nil
39947}
39948
39949// ReconfigurationInformation information about current reconfiguration like phase, type, previous configuration
39950// role of replica and reconfiguration start date time.
39951type ReconfigurationInformation struct {
39952	// PreviousConfigurationRole - Replica role before reconfiguration started. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
39953	PreviousConfigurationRole ReplicaRole `json:"PreviousConfigurationRole,omitempty"`
39954	// 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'
39955	ReconfigurationPhase ReconfigurationPhase `json:"ReconfigurationPhase,omitempty"`
39956	// 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'
39957	ReconfigurationType ReconfigurationType `json:"ReconfigurationType,omitempty"`
39958	// ReconfigurationStartTimeUtc - Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time.
39959	ReconfigurationStartTimeUtc *date.Time `json:"ReconfigurationStartTimeUtc,omitempty"`
39960}
39961
39962// RegistryCredential credential information to connect to container registry.
39963type RegistryCredential struct {
39964	// RegistryUserName - The user name to connect to container registry.
39965	RegistryUserName *string `json:"RegistryUserName,omitempty"`
39966	// RegistryPassword - The password for supplied username to connect to container registry.
39967	RegistryPassword *string `json:"RegistryPassword,omitempty"`
39968	// PasswordEncrypted - Indicates that supplied container registry password is encrypted.
39969	PasswordEncrypted *bool `json:"PasswordEncrypted,omitempty"`
39970}
39971
39972// RemoteReplicatorAcknowledgementDetail provides various statistics of the acknowledgements that are being
39973// received from the remote replicator.
39974type RemoteReplicatorAcknowledgementDetail struct {
39975	// AverageReceiveDuration - Represents the average duration it takes for the remote replicator to receive an operation.
39976	AverageReceiveDuration *string `json:"AverageReceiveDuration,omitempty"`
39977	// AverageApplyDuration - Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk.
39978	AverageApplyDuration *string `json:"AverageApplyDuration,omitempty"`
39979	// NotReceivedCount - Represents the number of operations not yet received by a remote replicator.
39980	NotReceivedCount *string `json:"NotReceivedCount,omitempty"`
39981	// ReceivedAndNotAppliedCount - Represents the number of operations received and not yet applied by a remote replicator.
39982	ReceivedAndNotAppliedCount *string `json:"ReceivedAndNotAppliedCount,omitempty"`
39983}
39984
39985// RemoteReplicatorAcknowledgementStatus provides details about the remote replicators from the primary
39986// replicator's point of view.
39987type RemoteReplicatorAcknowledgementStatus struct {
39988	// ReplicationStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the replication stream data.
39989	ReplicationStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"ReplicationStreamAcknowledgementDetail,omitempty"`
39990	// CopyStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the copy stream data.
39991	CopyStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"CopyStreamAcknowledgementDetail,omitempty"`
39992}
39993
39994// RemoteReplicatorStatus represents the state of the secondary replicator from the primary replicator’s point of
39995// view.
39996type RemoteReplicatorStatus struct {
39997	// ReplicaID - Represents the replica ID of the remote secondary replicator.
39998	ReplicaID *string `json:"ReplicaId,omitempty"`
39999	// LastAcknowledgementProcessedTimeUtc - The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.
40000	// UTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed.
40001	LastAcknowledgementProcessedTimeUtc *date.Time `json:"LastAcknowledgementProcessedTimeUtc,omitempty"`
40002	// LastReceivedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has received from the primary.
40003	LastReceivedReplicationSequenceNumber *string `json:"LastReceivedReplicationSequenceNumber,omitempty"`
40004	// LastAppliedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has applied to its state.
40005	LastAppliedReplicationSequenceNumber *string `json:"LastAppliedReplicationSequenceNumber,omitempty"`
40006	// IsInBuild - A value that indicates whether the secondary replica is in the process of being built.
40007	IsInBuild *bool `json:"IsInBuild,omitempty"`
40008	// LastReceivedCopySequenceNumber - The highest copy operation sequence number that the secondary has received from the primary.
40009	// A value of -1 implies that the secondary has received all copy operations.
40010	LastReceivedCopySequenceNumber *string `json:"LastReceivedCopySequenceNumber,omitempty"`
40011	// LastAppliedCopySequenceNumber - The highest copy operation sequence number that the secondary has applied to its state.
40012	// A value of -1 implies that the secondary has applied all copy operations and the copy process is complete.
40013	LastAppliedCopySequenceNumber *string `json:"LastAppliedCopySequenceNumber,omitempty"`
40014	// RemoteReplicatorAcknowledgementStatus - Represents the acknowledgment status for the remote secondary replicator.
40015	RemoteReplicatorAcknowledgementStatus *RemoteReplicatorAcknowledgementStatus `json:"RemoteReplicatorAcknowledgementStatus,omitempty"`
40016}
40017
40018// BasicRepairImpactDescriptionBase describes the expected impact of executing a repair task.
40019//
40020// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40021type BasicRepairImpactDescriptionBase interface {
40022	AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool)
40023	AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool)
40024}
40025
40026// RepairImpactDescriptionBase describes the expected impact of executing a repair task.
40027//
40028// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40029type RepairImpactDescriptionBase struct {
40030	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
40031	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
40032}
40033
40034func unmarshalBasicRepairImpactDescriptionBase(body []byte) (BasicRepairImpactDescriptionBase, error) {
40035	var m map[string]interface{}
40036	err := json.Unmarshal(body, &m)
40037	if err != nil {
40038		return nil, err
40039	}
40040
40041	switch m["Kind"] {
40042	case string(KindBasicRepairImpactDescriptionBaseKindNode):
40043		var nrid NodeRepairImpactDescription
40044		err := json.Unmarshal(body, &nrid)
40045		return nrid, err
40046	default:
40047		var ridb RepairImpactDescriptionBase
40048		err := json.Unmarshal(body, &ridb)
40049		return ridb, err
40050	}
40051}
40052func unmarshalBasicRepairImpactDescriptionBaseArray(body []byte) ([]BasicRepairImpactDescriptionBase, error) {
40053	var rawMessages []*json.RawMessage
40054	err := json.Unmarshal(body, &rawMessages)
40055	if err != nil {
40056		return nil, err
40057	}
40058
40059	ridbArray := make([]BasicRepairImpactDescriptionBase, len(rawMessages))
40060
40061	for index, rawMessage := range rawMessages {
40062		ridb, err := unmarshalBasicRepairImpactDescriptionBase(*rawMessage)
40063		if err != nil {
40064			return nil, err
40065		}
40066		ridbArray[index] = ridb
40067	}
40068	return ridbArray, nil
40069}
40070
40071// MarshalJSON is the custom marshaler for RepairImpactDescriptionBase.
40072func (ridb RepairImpactDescriptionBase) MarshalJSON() ([]byte, error) {
40073	ridb.Kind = KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase
40074	objectMap := make(map[string]interface{})
40075	if ridb.Kind != "" {
40076		objectMap["Kind"] = ridb.Kind
40077	}
40078	return json.Marshal(objectMap)
40079}
40080
40081// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
40082func (ridb RepairImpactDescriptionBase) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
40083	return nil, false
40084}
40085
40086// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
40087func (ridb RepairImpactDescriptionBase) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
40088	return &ridb, true
40089}
40090
40091// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
40092func (ridb RepairImpactDescriptionBase) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
40093	return &ridb, true
40094}
40095
40096// BasicRepairTargetDescriptionBase describes the entities targeted by a repair action.
40097//
40098// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40099type BasicRepairTargetDescriptionBase interface {
40100	AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool)
40101	AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool)
40102}
40103
40104// RepairTargetDescriptionBase describes the entities targeted by a repair action.
40105//
40106// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40107type RepairTargetDescriptionBase struct {
40108	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
40109	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
40110}
40111
40112func unmarshalBasicRepairTargetDescriptionBase(body []byte) (BasicRepairTargetDescriptionBase, error) {
40113	var m map[string]interface{}
40114	err := json.Unmarshal(body, &m)
40115	if err != nil {
40116		return nil, err
40117	}
40118
40119	switch m["Kind"] {
40120	case string(KindBasicRepairTargetDescriptionBaseKindNode):
40121		var nrtd NodeRepairTargetDescription
40122		err := json.Unmarshal(body, &nrtd)
40123		return nrtd, err
40124	default:
40125		var rtdb RepairTargetDescriptionBase
40126		err := json.Unmarshal(body, &rtdb)
40127		return rtdb, err
40128	}
40129}
40130func unmarshalBasicRepairTargetDescriptionBaseArray(body []byte) ([]BasicRepairTargetDescriptionBase, error) {
40131	var rawMessages []*json.RawMessage
40132	err := json.Unmarshal(body, &rawMessages)
40133	if err != nil {
40134		return nil, err
40135	}
40136
40137	rtdbArray := make([]BasicRepairTargetDescriptionBase, len(rawMessages))
40138
40139	for index, rawMessage := range rawMessages {
40140		rtdb, err := unmarshalBasicRepairTargetDescriptionBase(*rawMessage)
40141		if err != nil {
40142			return nil, err
40143		}
40144		rtdbArray[index] = rtdb
40145	}
40146	return rtdbArray, nil
40147}
40148
40149// MarshalJSON is the custom marshaler for RepairTargetDescriptionBase.
40150func (rtdb RepairTargetDescriptionBase) MarshalJSON() ([]byte, error) {
40151	rtdb.Kind = KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase
40152	objectMap := make(map[string]interface{})
40153	if rtdb.Kind != "" {
40154		objectMap["Kind"] = rtdb.Kind
40155	}
40156	return json.Marshal(objectMap)
40157}
40158
40159// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
40160func (rtdb RepairTargetDescriptionBase) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
40161	return nil, false
40162}
40163
40164// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
40165func (rtdb RepairTargetDescriptionBase) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
40166	return &rtdb, true
40167}
40168
40169// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
40170func (rtdb RepairTargetDescriptionBase) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
40171	return &rtdb, true
40172}
40173
40174// RepairTask represents a repair task, which includes information about what kind of repair was requested, what
40175// its progress is, and what its final result was.
40176//
40177// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40178type RepairTask struct {
40179	// TaskID - The ID of the repair task.
40180	TaskID *string `json:"TaskId,omitempty"`
40181	// Version - The version of the repair task.
40182	// When creating a new repair task, the version must be set to zero.  When updating a repair task,
40183	// the version is used for optimistic concurrency checks.  If the version is
40184	// set to zero, the update will not check for write conflicts.  If the version is set to a non-zero value, then the
40185	// update will only succeed if the actual current version of the repair task matches this value.
40186	Version *string `json:"Version,omitempty"`
40187	// Description - A description of the purpose of the repair task, or other informational details.
40188	// May be set when the repair task is created, and is immutable once set.
40189	Description *string `json:"Description,omitempty"`
40190	// 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'
40191	State State `json:"State,omitempty"`
40192	// Flags - A bitwise-OR of the following values, which gives additional details about the status of the repair task.
40193	// - 1 - Cancellation of the repair has been requested
40194	// - 2 - Abort of the repair has been requested
40195	// - 4 - Approval of the repair was forced via client request
40196	Flags *int32 `json:"Flags,omitempty"`
40197	// Action - The requested repair action. Must be specified when the repair task is created, and is immutable once set.
40198	Action *string `json:"Action,omitempty"`
40199	// 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.
40200	// May be set when the repair task is created, and is immutable once set.
40201	Target BasicRepairTargetDescriptionBase `json:"Target,omitempty"`
40202	// Executor - The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set.
40203	Executor *string `json:"Executor,omitempty"`
40204	// ExecutorData - A data string that the repair executor can use to store its internal state.
40205	ExecutorData *string `json:"ExecutorData,omitempty"`
40206	// 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.
40207	// Impact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set.
40208	Impact BasicRepairImpactDescriptionBase `json:"Impact,omitempty"`
40209	// 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'
40210	ResultStatus ResultStatus `json:"ResultStatus,omitempty"`
40211	// ResultCode - A numeric value providing additional details about the result of the repair task execution.
40212	// May be specified in the Restoring and later states, and is immutable once set.
40213	ResultCode *int32 `json:"ResultCode,omitempty"`
40214	// ResultDetails - A string providing additional details about the result of the repair task execution.
40215	// May be specified in the Restoring and later states, and is immutable once set.
40216	ResultDetails *string `json:"ResultDetails,omitempty"`
40217	// History - An object that contains timestamps of the repair task's state transitions.
40218	// These timestamps are updated by the system, and cannot be directly modified.
40219	History *RepairTaskHistory `json:"History,omitempty"`
40220	// 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'
40221	PreparingHealthCheckState RepairTaskHealthCheckState `json:"PreparingHealthCheckState,omitempty"`
40222	// 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'
40223	RestoringHealthCheckState RepairTaskHealthCheckState `json:"RestoringHealthCheckState,omitempty"`
40224	// PerformPreparingHealthCheck - A value to determine if health checks will be performed when the repair task enters the Preparing state.
40225	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
40226	// PerformRestoringHealthCheck - A value to determine if health checks will be performed when the repair task enters the Restoring state.
40227	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
40228}
40229
40230// UnmarshalJSON is the custom unmarshaler for RepairTask struct.
40231func (rt *RepairTask) UnmarshalJSON(body []byte) error {
40232	var m map[string]*json.RawMessage
40233	err := json.Unmarshal(body, &m)
40234	if err != nil {
40235		return err
40236	}
40237	for k, v := range m {
40238		switch k {
40239		case "TaskId":
40240			if v != nil {
40241				var taskID string
40242				err = json.Unmarshal(*v, &taskID)
40243				if err != nil {
40244					return err
40245				}
40246				rt.TaskID = &taskID
40247			}
40248		case "Version":
40249			if v != nil {
40250				var version string
40251				err = json.Unmarshal(*v, &version)
40252				if err != nil {
40253					return err
40254				}
40255				rt.Version = &version
40256			}
40257		case "Description":
40258			if v != nil {
40259				var description string
40260				err = json.Unmarshal(*v, &description)
40261				if err != nil {
40262					return err
40263				}
40264				rt.Description = &description
40265			}
40266		case "State":
40267			if v != nil {
40268				var state State
40269				err = json.Unmarshal(*v, &state)
40270				if err != nil {
40271					return err
40272				}
40273				rt.State = state
40274			}
40275		case "Flags":
40276			if v != nil {
40277				var flags int32
40278				err = json.Unmarshal(*v, &flags)
40279				if err != nil {
40280					return err
40281				}
40282				rt.Flags = &flags
40283			}
40284		case "Action":
40285			if v != nil {
40286				var action string
40287				err = json.Unmarshal(*v, &action)
40288				if err != nil {
40289					return err
40290				}
40291				rt.Action = &action
40292			}
40293		case "Target":
40294			if v != nil {
40295				target, err := unmarshalBasicRepairTargetDescriptionBase(*v)
40296				if err != nil {
40297					return err
40298				}
40299				rt.Target = target
40300			}
40301		case "Executor":
40302			if v != nil {
40303				var executor string
40304				err = json.Unmarshal(*v, &executor)
40305				if err != nil {
40306					return err
40307				}
40308				rt.Executor = &executor
40309			}
40310		case "ExecutorData":
40311			if v != nil {
40312				var executorData string
40313				err = json.Unmarshal(*v, &executorData)
40314				if err != nil {
40315					return err
40316				}
40317				rt.ExecutorData = &executorData
40318			}
40319		case "Impact":
40320			if v != nil {
40321				impact, err := unmarshalBasicRepairImpactDescriptionBase(*v)
40322				if err != nil {
40323					return err
40324				}
40325				rt.Impact = impact
40326			}
40327		case "ResultStatus":
40328			if v != nil {
40329				var resultStatus ResultStatus
40330				err = json.Unmarshal(*v, &resultStatus)
40331				if err != nil {
40332					return err
40333				}
40334				rt.ResultStatus = resultStatus
40335			}
40336		case "ResultCode":
40337			if v != nil {
40338				var resultCode int32
40339				err = json.Unmarshal(*v, &resultCode)
40340				if err != nil {
40341					return err
40342				}
40343				rt.ResultCode = &resultCode
40344			}
40345		case "ResultDetails":
40346			if v != nil {
40347				var resultDetails string
40348				err = json.Unmarshal(*v, &resultDetails)
40349				if err != nil {
40350					return err
40351				}
40352				rt.ResultDetails = &resultDetails
40353			}
40354		case "History":
40355			if v != nil {
40356				var history RepairTaskHistory
40357				err = json.Unmarshal(*v, &history)
40358				if err != nil {
40359					return err
40360				}
40361				rt.History = &history
40362			}
40363		case "PreparingHealthCheckState":
40364			if v != nil {
40365				var preparingHealthCheckState RepairTaskHealthCheckState
40366				err = json.Unmarshal(*v, &preparingHealthCheckState)
40367				if err != nil {
40368					return err
40369				}
40370				rt.PreparingHealthCheckState = preparingHealthCheckState
40371			}
40372		case "RestoringHealthCheckState":
40373			if v != nil {
40374				var restoringHealthCheckState RepairTaskHealthCheckState
40375				err = json.Unmarshal(*v, &restoringHealthCheckState)
40376				if err != nil {
40377					return err
40378				}
40379				rt.RestoringHealthCheckState = restoringHealthCheckState
40380			}
40381		case "PerformPreparingHealthCheck":
40382			if v != nil {
40383				var performPreparingHealthCheck bool
40384				err = json.Unmarshal(*v, &performPreparingHealthCheck)
40385				if err != nil {
40386					return err
40387				}
40388				rt.PerformPreparingHealthCheck = &performPreparingHealthCheck
40389			}
40390		case "PerformRestoringHealthCheck":
40391			if v != nil {
40392				var performRestoringHealthCheck bool
40393				err = json.Unmarshal(*v, &performRestoringHealthCheck)
40394				if err != nil {
40395					return err
40396				}
40397				rt.PerformRestoringHealthCheck = &performRestoringHealthCheck
40398			}
40399		}
40400	}
40401
40402	return nil
40403}
40404
40405// RepairTaskApproveDescription describes a request for forced approval of a repair task.
40406//
40407// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40408type RepairTaskApproveDescription struct {
40409	// TaskID - The ID of the repair task.
40410	TaskID *string `json:"TaskId,omitempty"`
40411	// 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.
40412	Version *string `json:"Version,omitempty"`
40413}
40414
40415// RepairTaskCancelDescription describes a request to cancel a repair task.
40416//
40417// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40418type RepairTaskCancelDescription struct {
40419	// TaskID - The ID of the repair task.
40420	TaskID *string `json:"TaskId,omitempty"`
40421	// 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.
40422	Version *string `json:"Version,omitempty"`
40423	// 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.
40424	RequestAbort *bool `json:"RequestAbort,omitempty"`
40425}
40426
40427// RepairTaskDeleteDescription describes a request to delete a completed repair task.
40428//
40429// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40430type RepairTaskDeleteDescription struct {
40431	// TaskID - The ID of the completed repair task to be deleted.
40432	TaskID *string `json:"TaskId,omitempty"`
40433	// 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.
40434	Version *string `json:"Version,omitempty"`
40435}
40436
40437// RepairTaskHistory a record of the times when the repair task entered each state.
40438//
40439// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40440type RepairTaskHistory struct {
40441	// CreatedUtcTimestamp - The time when the repair task entered the Created state.
40442	CreatedUtcTimestamp *date.Time `json:"CreatedUtcTimestamp,omitempty"`
40443	// ClaimedUtcTimestamp - The time when the repair task entered the Claimed state.
40444	ClaimedUtcTimestamp *date.Time `json:"ClaimedUtcTimestamp,omitempty"`
40445	// PreparingUtcTimestamp - The time when the repair task entered the Preparing state.
40446	PreparingUtcTimestamp *date.Time `json:"PreparingUtcTimestamp,omitempty"`
40447	// ApprovedUtcTimestamp - The time when the repair task entered the Approved state
40448	ApprovedUtcTimestamp *date.Time `json:"ApprovedUtcTimestamp,omitempty"`
40449	// ExecutingUtcTimestamp - The time when the repair task entered the Executing state
40450	ExecutingUtcTimestamp *date.Time `json:"ExecutingUtcTimestamp,omitempty"`
40451	// RestoringUtcTimestamp - The time when the repair task entered the Restoring state
40452	RestoringUtcTimestamp *date.Time `json:"RestoringUtcTimestamp,omitempty"`
40453	// CompletedUtcTimestamp - The time when the repair task entered the Completed state
40454	CompletedUtcTimestamp *date.Time `json:"CompletedUtcTimestamp,omitempty"`
40455	// PreparingHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Preparing state.
40456	PreparingHealthCheckStartUtcTimestamp *date.Time `json:"PreparingHealthCheckStartUtcTimestamp,omitempty"`
40457	// PreparingHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Preparing state.
40458	PreparingHealthCheckEndUtcTimestamp *date.Time `json:"PreparingHealthCheckEndUtcTimestamp,omitempty"`
40459	// RestoringHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Restoring state.
40460	RestoringHealthCheckStartUtcTimestamp *date.Time `json:"RestoringHealthCheckStartUtcTimestamp,omitempty"`
40461	// RestoringHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Restoring state.
40462	RestoringHealthCheckEndUtcTimestamp *date.Time `json:"RestoringHealthCheckEndUtcTimestamp,omitempty"`
40463}
40464
40465// RepairTaskUpdateHealthPolicyDescription describes a request to update the health policy of a repair task.
40466//
40467// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40468type RepairTaskUpdateHealthPolicyDescription struct {
40469	// TaskID - The ID of the repair task to be updated.
40470	TaskID *string `json:"TaskId,omitempty"`
40471	// 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.
40472	Version *string `json:"Version,omitempty"`
40473	// 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.
40474	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
40475	// 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.
40476	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
40477}
40478
40479// RepairTaskUpdateInfo describes the result of an operation that created or updated a repair task.
40480//
40481// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40482type RepairTaskUpdateInfo struct {
40483	autorest.Response `json:"-"`
40484	// Version - The new version of the repair task.
40485	Version *string `json:"Version,omitempty"`
40486}
40487
40488// BasicReplicaEvent represents the base for all Replica Events.
40489type BasicReplicaEvent interface {
40490	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
40491	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
40492	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
40493	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
40494	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
40495	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
40496	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
40497	AsReplicaEvent() (*ReplicaEvent, bool)
40498}
40499
40500// ReplicaEvent represents the base for all Replica Events.
40501type ReplicaEvent struct {
40502	// 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.
40503	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
40504	// 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.
40505	ReplicaID *int64 `json:"ReplicaId,omitempty"`
40506	// EventInstanceID - The identifier for the FabricEvent instance.
40507	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
40508	// TimeStamp - The time event was logged.
40509	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
40510	// HasCorrelatedEvents - Shows there is existing related events available.
40511	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
40512	// 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'
40513	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
40514}
40515
40516func unmarshalBasicReplicaEvent(body []byte) (BasicReplicaEvent, error) {
40517	var m map[string]interface{}
40518	err := json.Unmarshal(body, &m)
40519	if err != nil {
40520		return nil, err
40521	}
40522
40523	switch m["Kind"] {
40524	case string(KindStatefulReplicaHealthReportCreated):
40525		var srhrce StatefulReplicaHealthReportCreatedEvent
40526		err := json.Unmarshal(body, &srhrce)
40527		return srhrce, err
40528	case string(KindStatefulReplicaHealthReportExpired):
40529		var srhree StatefulReplicaHealthReportExpiredEvent
40530		err := json.Unmarshal(body, &srhree)
40531		return srhree, err
40532	case string(KindStatelessReplicaHealthReportCreated):
40533		var srhrce StatelessReplicaHealthReportCreatedEvent
40534		err := json.Unmarshal(body, &srhrce)
40535		return srhrce, err
40536	case string(KindStatelessReplicaHealthReportExpired):
40537		var srhree StatelessReplicaHealthReportExpiredEvent
40538		err := json.Unmarshal(body, &srhree)
40539		return srhree, err
40540	case string(KindChaosRemoveReplicaFaultScheduled):
40541		var crrfse ChaosRemoveReplicaFaultScheduledEvent
40542		err := json.Unmarshal(body, &crrfse)
40543		return crrfse, err
40544	case string(KindChaosRemoveReplicaFaultCompleted):
40545		var crrfce ChaosRemoveReplicaFaultCompletedEvent
40546		err := json.Unmarshal(body, &crrfce)
40547		return crrfce, err
40548	case string(KindChaosRestartReplicaFaultScheduled):
40549		var crrfse ChaosRestartReplicaFaultScheduledEvent
40550		err := json.Unmarshal(body, &crrfse)
40551		return crrfse, err
40552	default:
40553		var re ReplicaEvent
40554		err := json.Unmarshal(body, &re)
40555		return re, err
40556	}
40557}
40558func unmarshalBasicReplicaEventArray(body []byte) ([]BasicReplicaEvent, error) {
40559	var rawMessages []*json.RawMessage
40560	err := json.Unmarshal(body, &rawMessages)
40561	if err != nil {
40562		return nil, err
40563	}
40564
40565	reArray := make([]BasicReplicaEvent, len(rawMessages))
40566
40567	for index, rawMessage := range rawMessages {
40568		re, err := unmarshalBasicReplicaEvent(*rawMessage)
40569		if err != nil {
40570			return nil, err
40571		}
40572		reArray[index] = re
40573	}
40574	return reArray, nil
40575}
40576
40577// MarshalJSON is the custom marshaler for ReplicaEvent.
40578func (re ReplicaEvent) MarshalJSON() ([]byte, error) {
40579	re.Kind = KindReplicaEvent
40580	objectMap := make(map[string]interface{})
40581	if re.PartitionID != nil {
40582		objectMap["PartitionId"] = re.PartitionID
40583	}
40584	if re.ReplicaID != nil {
40585		objectMap["ReplicaId"] = re.ReplicaID
40586	}
40587	if re.EventInstanceID != nil {
40588		objectMap["EventInstanceId"] = re.EventInstanceID
40589	}
40590	if re.TimeStamp != nil {
40591		objectMap["TimeStamp"] = re.TimeStamp
40592	}
40593	if re.HasCorrelatedEvents != nil {
40594		objectMap["HasCorrelatedEvents"] = re.HasCorrelatedEvents
40595	}
40596	if re.Kind != "" {
40597		objectMap["Kind"] = re.Kind
40598	}
40599	return json.Marshal(objectMap)
40600}
40601
40602// AsApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
40603func (re ReplicaEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
40604	return nil, false
40605}
40606
40607// AsBasicApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
40608func (re ReplicaEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
40609	return nil, false
40610}
40611
40612// AsClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
40613func (re ReplicaEvent) AsClusterEvent() (*ClusterEvent, bool) {
40614	return nil, false
40615}
40616
40617// AsBasicClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
40618func (re ReplicaEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
40619	return nil, false
40620}
40621
40622// AsContainerInstanceEvent is the BasicFabricEvent implementation for ReplicaEvent.
40623func (re ReplicaEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
40624	return nil, false
40625}
40626
40627// AsNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
40628func (re ReplicaEvent) AsNodeEvent() (*NodeEvent, bool) {
40629	return nil, false
40630}
40631
40632// AsBasicNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
40633func (re ReplicaEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
40634	return nil, false
40635}
40636
40637// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
40638func (re ReplicaEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
40639	return nil, false
40640}
40641
40642// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
40643func (re ReplicaEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
40644	return nil, false
40645}
40646
40647// AsPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
40648func (re ReplicaEvent) AsPartitionEvent() (*PartitionEvent, bool) {
40649	return nil, false
40650}
40651
40652// AsBasicPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
40653func (re ReplicaEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
40654	return nil, false
40655}
40656
40657// AsReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
40658func (re ReplicaEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
40659	return &re, true
40660}
40661
40662// AsBasicReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
40663func (re ReplicaEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
40664	return &re, true
40665}
40666
40667// AsServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
40668func (re ReplicaEvent) AsServiceEvent() (*ServiceEvent, bool) {
40669	return nil, false
40670}
40671
40672// AsBasicServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
40673func (re ReplicaEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
40674	return nil, false
40675}
40676
40677// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40678func (re ReplicaEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
40679	return nil, false
40680}
40681
40682// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40683func (re ReplicaEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
40684	return nil, false
40685}
40686
40687// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40688func (re ReplicaEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
40689	return nil, false
40690}
40691
40692// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40693func (re ReplicaEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
40694	return nil, false
40695}
40696
40697// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
40698func (re ReplicaEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
40699	return nil, false
40700}
40701
40702// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
40703func (re ReplicaEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
40704	return nil, false
40705}
40706
40707// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
40708func (re ReplicaEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
40709	return nil, false
40710}
40711
40712// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
40713func (re ReplicaEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
40714	return nil, false
40715}
40716
40717// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
40718func (re ReplicaEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
40719	return nil, false
40720}
40721
40722// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40723func (re ReplicaEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
40724	return nil, false
40725}
40726
40727// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40728func (re ReplicaEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
40729	return nil, false
40730}
40731
40732// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40733func (re ReplicaEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
40734	return nil, false
40735}
40736
40737// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40738func (re ReplicaEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
40739	return nil, false
40740}
40741
40742// AsNodeAbortedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40743func (re ReplicaEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
40744	return nil, false
40745}
40746
40747// AsNodeAbortingEvent is the BasicFabricEvent implementation for ReplicaEvent.
40748func (re ReplicaEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
40749	return nil, false
40750}
40751
40752// AsNodeAddedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40753func (re ReplicaEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
40754	return nil, false
40755}
40756
40757// AsNodeCloseEvent is the BasicFabricEvent implementation for ReplicaEvent.
40758func (re ReplicaEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
40759	return nil, false
40760}
40761
40762// AsNodeClosingEvent is the BasicFabricEvent implementation for ReplicaEvent.
40763func (re ReplicaEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
40764	return nil, false
40765}
40766
40767// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
40768func (re ReplicaEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
40769	return nil, false
40770}
40771
40772// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
40773func (re ReplicaEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
40774	return nil, false
40775}
40776
40777// AsNodeDownEvent is the BasicFabricEvent implementation for ReplicaEvent.
40778func (re ReplicaEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
40779	return nil, false
40780}
40781
40782// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40783func (re ReplicaEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
40784	return nil, false
40785}
40786
40787// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40788func (re ReplicaEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
40789	return nil, false
40790}
40791
40792// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ReplicaEvent.
40793func (re ReplicaEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
40794	return nil, false
40795}
40796
40797// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40798func (re ReplicaEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
40799	return nil, false
40800}
40801
40802// AsNodeOpeningEvent is the BasicFabricEvent implementation for ReplicaEvent.
40803func (re ReplicaEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
40804	return nil, false
40805}
40806
40807// AsNodeRemovedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40808func (re ReplicaEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
40809	return nil, false
40810}
40811
40812// AsNodeUpEvent is the BasicFabricEvent implementation for ReplicaEvent.
40813func (re ReplicaEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
40814	return nil, false
40815}
40816
40817// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40818func (re ReplicaEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
40819	return nil, false
40820}
40821
40822// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40823func (re ReplicaEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
40824	return nil, false
40825}
40826
40827// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40828func (re ReplicaEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
40829	return nil, false
40830}
40831
40832// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
40833func (re ReplicaEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
40834	return nil, false
40835}
40836
40837// AsServiceCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40838func (re ReplicaEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
40839	return nil, false
40840}
40841
40842// AsServiceDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40843func (re ReplicaEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
40844	return nil, false
40845}
40846
40847// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40848func (re ReplicaEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
40849	return nil, false
40850}
40851
40852// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40853func (re ReplicaEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
40854	return nil, false
40855}
40856
40857// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40858func (re ReplicaEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
40859	return nil, false
40860}
40861
40862// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40863func (re ReplicaEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
40864	return nil, false
40865}
40866
40867// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40868func (re ReplicaEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
40869	return nil, false
40870}
40871
40872// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40873func (re ReplicaEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
40874	return nil, false
40875}
40876
40877// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40878func (re ReplicaEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
40879	return nil, false
40880}
40881
40882// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40883func (re ReplicaEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
40884	return nil, false
40885}
40886
40887// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40888func (re ReplicaEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
40889	return nil, false
40890}
40891
40892// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
40893func (re ReplicaEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
40894	return nil, false
40895}
40896
40897// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
40898func (re ReplicaEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
40899	return nil, false
40900}
40901
40902// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
40903func (re ReplicaEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
40904	return nil, false
40905}
40906
40907// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
40908func (re ReplicaEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
40909	return nil, false
40910}
40911
40912// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
40913func (re ReplicaEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
40914	return nil, false
40915}
40916
40917// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
40918func (re ReplicaEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
40919	return nil, false
40920}
40921
40922// AsChaosStoppedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40923func (re ReplicaEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
40924	return nil, false
40925}
40926
40927// AsChaosStartedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40928func (re ReplicaEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
40929	return nil, false
40930}
40931
40932// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40933func (re ReplicaEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
40934	return nil, false
40935}
40936
40937// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
40938func (re ReplicaEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
40939	return nil, false
40940}
40941
40942// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40943func (re ReplicaEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
40944	return nil, false
40945}
40946
40947// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
40948func (re ReplicaEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
40949	return nil, false
40950}
40951
40952// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
40953func (re ReplicaEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
40954	return nil, false
40955}
40956
40957// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
40958func (re ReplicaEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
40959	return nil, false
40960}
40961
40962// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
40963func (re ReplicaEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
40964	return nil, false
40965}
40966
40967// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
40968func (re ReplicaEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
40969	return nil, false
40970}
40971
40972// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
40973func (re ReplicaEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
40974	return nil, false
40975}
40976
40977// AsFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
40978func (re ReplicaEvent) AsFabricEvent() (*FabricEvent, bool) {
40979	return nil, false
40980}
40981
40982// AsBasicFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
40983func (re ReplicaEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
40984	return &re, true
40985}
40986
40987// BasicReplicaHealth represents a base class for stateful service replica or stateless service instance health.
40988// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
40989type BasicReplicaHealth interface {
40990	AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool)
40991	AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool)
40992	AsReplicaHealth() (*ReplicaHealth, bool)
40993}
40994
40995// ReplicaHealth represents a base class for stateful service replica or stateless service instance health.
40996// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
40997type ReplicaHealth struct {
40998	autorest.Response `json:"-"`
40999	// PartitionID - Id of the partition to which this replica belongs.
41000	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
41001	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
41002	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
41003	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
41004	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
41005	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
41006	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41007	// HealthEvents - The list of health events reported on the entity.
41008	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
41009	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
41010	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
41011	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
41012	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
41013}
41014
41015func unmarshalBasicReplicaHealth(body []byte) (BasicReplicaHealth, error) {
41016	var m map[string]interface{}
41017	err := json.Unmarshal(body, &m)
41018	if err != nil {
41019		return nil, err
41020	}
41021
41022	switch m["ServiceKind"] {
41023	case string(ServiceKindBasicReplicaHealthServiceKindStateful):
41024		var ssrh StatefulServiceReplicaHealth
41025		err := json.Unmarshal(body, &ssrh)
41026		return ssrh, err
41027	case string(ServiceKindBasicReplicaHealthServiceKindStateless):
41028		var ssih StatelessServiceInstanceHealth
41029		err := json.Unmarshal(body, &ssih)
41030		return ssih, err
41031	default:
41032		var rh ReplicaHealth
41033		err := json.Unmarshal(body, &rh)
41034		return rh, err
41035	}
41036}
41037func unmarshalBasicReplicaHealthArray(body []byte) ([]BasicReplicaHealth, error) {
41038	var rawMessages []*json.RawMessage
41039	err := json.Unmarshal(body, &rawMessages)
41040	if err != nil {
41041		return nil, err
41042	}
41043
41044	rhArray := make([]BasicReplicaHealth, len(rawMessages))
41045
41046	for index, rawMessage := range rawMessages {
41047		rh, err := unmarshalBasicReplicaHealth(*rawMessage)
41048		if err != nil {
41049			return nil, err
41050		}
41051		rhArray[index] = rh
41052	}
41053	return rhArray, nil
41054}
41055
41056// MarshalJSON is the custom marshaler for ReplicaHealth.
41057func (rh ReplicaHealth) MarshalJSON() ([]byte, error) {
41058	rh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindReplicaHealth
41059	objectMap := make(map[string]interface{})
41060	if rh.PartitionID != nil {
41061		objectMap["PartitionId"] = rh.PartitionID
41062	}
41063	if rh.ServiceKind != "" {
41064		objectMap["ServiceKind"] = rh.ServiceKind
41065	}
41066	if rh.AggregatedHealthState != "" {
41067		objectMap["AggregatedHealthState"] = rh.AggregatedHealthState
41068	}
41069	if rh.HealthEvents != nil {
41070		objectMap["HealthEvents"] = rh.HealthEvents
41071	}
41072	if rh.UnhealthyEvaluations != nil {
41073		objectMap["UnhealthyEvaluations"] = rh.UnhealthyEvaluations
41074	}
41075	if rh.HealthStatistics != nil {
41076		objectMap["HealthStatistics"] = rh.HealthStatistics
41077	}
41078	return json.Marshal(objectMap)
41079}
41080
41081// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41082func (rh ReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
41083	return nil, false
41084}
41085
41086// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41087func (rh ReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
41088	return nil, false
41089}
41090
41091// AsReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41092func (rh ReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
41093	return &rh, true
41094}
41095
41096// AsBasicReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41097func (rh ReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
41098	return &rh, true
41099}
41100
41101// ReplicaHealthEvaluation represents health evaluation for a replica, containing information about the data and
41102// the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated
41103// health state is either Error or Warning.
41104type ReplicaHealthEvaluation struct {
41105	// PartitionID - Id of the partition to which the replica belongs.
41106	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
41107	// 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.
41108	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
41109	// 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.
41110	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
41111	// 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'
41112	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41113	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
41114	Description *string `json:"Description,omitempty"`
41115	// 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'
41116	Kind Kind `json:"Kind,omitempty"`
41117}
41118
41119// MarshalJSON is the custom marshaler for ReplicaHealthEvaluation.
41120func (rhe ReplicaHealthEvaluation) MarshalJSON() ([]byte, error) {
41121	rhe.Kind = KindReplica
41122	objectMap := make(map[string]interface{})
41123	if rhe.PartitionID != nil {
41124		objectMap["PartitionId"] = rhe.PartitionID
41125	}
41126	if rhe.ReplicaOrInstanceID != nil {
41127		objectMap["ReplicaOrInstanceId"] = rhe.ReplicaOrInstanceID
41128	}
41129	if rhe.UnhealthyEvaluations != nil {
41130		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
41131	}
41132	if rhe.AggregatedHealthState != "" {
41133		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
41134	}
41135	if rhe.Description != nil {
41136		objectMap["Description"] = rhe.Description
41137	}
41138	if rhe.Kind != "" {
41139		objectMap["Kind"] = rhe.Kind
41140	}
41141	return json.Marshal(objectMap)
41142}
41143
41144// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41145func (rhe ReplicaHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
41146	return nil, false
41147}
41148
41149// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41150func (rhe ReplicaHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
41151	return nil, false
41152}
41153
41154// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41155func (rhe ReplicaHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
41156	return nil, false
41157}
41158
41159// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41160func (rhe ReplicaHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
41161	return nil, false
41162}
41163
41164// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41165func (rhe ReplicaHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
41166	return nil, false
41167}
41168
41169// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41170func (rhe ReplicaHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
41171	return nil, false
41172}
41173
41174// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41175func (rhe ReplicaHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
41176	return nil, false
41177}
41178
41179// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41180func (rhe ReplicaHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
41181	return nil, false
41182}
41183
41184// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41185func (rhe ReplicaHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
41186	return nil, false
41187}
41188
41189// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41190func (rhe ReplicaHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
41191	return nil, false
41192}
41193
41194// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41195func (rhe ReplicaHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
41196	return nil, false
41197}
41198
41199// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41200func (rhe ReplicaHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
41201	return nil, false
41202}
41203
41204// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41205func (rhe ReplicaHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
41206	return nil, false
41207}
41208
41209// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41210func (rhe ReplicaHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
41211	return &rhe, true
41212}
41213
41214// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41215func (rhe ReplicaHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
41216	return nil, false
41217}
41218
41219// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41220func (rhe ReplicaHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
41221	return nil, false
41222}
41223
41224// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41225func (rhe ReplicaHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
41226	return nil, false
41227}
41228
41229// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41230func (rhe ReplicaHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
41231	return nil, false
41232}
41233
41234// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41235func (rhe ReplicaHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
41236	return nil, false
41237}
41238
41239// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41240func (rhe ReplicaHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
41241	return nil, false
41242}
41243
41244// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41245func (rhe ReplicaHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
41246	return nil, false
41247}
41248
41249// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41250func (rhe ReplicaHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
41251	return &rhe, true
41252}
41253
41254// ReplicaHealthModel ...
41255type ReplicaHealthModel struct {
41256	autorest.Response `json:"-"`
41257	Value             BasicReplicaHealth `json:"value,omitempty"`
41258}
41259
41260// UnmarshalJSON is the custom unmarshaler for ReplicaHealthModel struct.
41261func (rhm *ReplicaHealthModel) UnmarshalJSON(body []byte) error {
41262	rh, err := unmarshalBasicReplicaHealth(body)
41263	if err != nil {
41264		return err
41265	}
41266	rhm.Value = rh
41267
41268	return nil
41269}
41270
41271// BasicReplicaHealthState represents a base class for stateful service replica or stateless service instance health
41272// state.
41273type BasicReplicaHealthState interface {
41274	AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool)
41275	AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool)
41276	AsReplicaHealthState() (*ReplicaHealthState, bool)
41277}
41278
41279// ReplicaHealthState represents a base class for stateful service replica or stateless service instance health
41280// state.
41281type ReplicaHealthState struct {
41282	// PartitionID - The ID of the partition to which this replica belongs.
41283	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
41284	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
41285	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
41286	// 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'
41287	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41288}
41289
41290func unmarshalBasicReplicaHealthState(body []byte) (BasicReplicaHealthState, error) {
41291	var m map[string]interface{}
41292	err := json.Unmarshal(body, &m)
41293	if err != nil {
41294		return nil, err
41295	}
41296
41297	switch m["ServiceKind"] {
41298	case string(ServiceKindBasicReplicaHealthStateServiceKindStateful):
41299		var ssrhs StatefulServiceReplicaHealthState
41300		err := json.Unmarshal(body, &ssrhs)
41301		return ssrhs, err
41302	case string(ServiceKindBasicReplicaHealthStateServiceKindStateless):
41303		var ssihs StatelessServiceInstanceHealthState
41304		err := json.Unmarshal(body, &ssihs)
41305		return ssihs, err
41306	default:
41307		var RHS ReplicaHealthState
41308		err := json.Unmarshal(body, &RHS)
41309		return RHS, err
41310	}
41311}
41312func unmarshalBasicReplicaHealthStateArray(body []byte) ([]BasicReplicaHealthState, error) {
41313	var rawMessages []*json.RawMessage
41314	err := json.Unmarshal(body, &rawMessages)
41315	if err != nil {
41316		return nil, err
41317	}
41318
41319	RHSArray := make([]BasicReplicaHealthState, len(rawMessages))
41320
41321	for index, rawMessage := range rawMessages {
41322		RHS, err := unmarshalBasicReplicaHealthState(*rawMessage)
41323		if err != nil {
41324			return nil, err
41325		}
41326		RHSArray[index] = RHS
41327	}
41328	return RHSArray, nil
41329}
41330
41331// MarshalJSON is the custom marshaler for ReplicaHealthState.
41332func (RHS ReplicaHealthState) MarshalJSON() ([]byte, error) {
41333	RHS.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState
41334	objectMap := make(map[string]interface{})
41335	if RHS.PartitionID != nil {
41336		objectMap["PartitionId"] = RHS.PartitionID
41337	}
41338	if RHS.ServiceKind != "" {
41339		objectMap["ServiceKind"] = RHS.ServiceKind
41340	}
41341	if RHS.AggregatedHealthState != "" {
41342		objectMap["AggregatedHealthState"] = RHS.AggregatedHealthState
41343	}
41344	return json.Marshal(objectMap)
41345}
41346
41347// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41348func (RHS ReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
41349	return nil, false
41350}
41351
41352// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41353func (RHS ReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
41354	return nil, false
41355}
41356
41357// AsReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41358func (RHS ReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
41359	return &RHS, true
41360}
41361
41362// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41363func (RHS ReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
41364	return &RHS, true
41365}
41366
41367// ReplicaHealthStateChunk represents the health state chunk of a stateful service replica or a stateless service
41368// instance.
41369// The replica health state contains the replica ID and its aggregated health state.
41370type ReplicaHealthStateChunk struct {
41371	// 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.
41372	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
41373	// 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'
41374	HealthState HealthState `json:"HealthState,omitempty"`
41375}
41376
41377// ReplicaHealthStateChunkList the list of replica health state chunks that respect the input filters in the chunk
41378// query. Returned by get cluster health state chunks query.
41379type ReplicaHealthStateChunkList struct {
41380	// Items - The list of replica health state chunks that respect the input filters in the chunk query.
41381	Items *[]ReplicaHealthStateChunk `json:"Items,omitempty"`
41382}
41383
41384// ReplicaHealthStateFilter defines matching criteria to determine whether a replica should be included as a child
41385// of a partition in the cluster health chunk.
41386// The replicas are only returned if the parent entities match a filter specified in the cluster health chunk query
41387// description. The parent partition, service and application must be included in the cluster health chunk.
41388// One filter can match zero, one or multiple replicas, depending on its properties.
41389type ReplicaHealthStateFilter struct {
41390	// 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.
41391	// If the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.
41392	// If the replica exists, it is included in the cluster health chunk if it respects the other filter properties.
41393	// 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.
41394	ReplicaOrInstanceIDFilter *string `json:"ReplicaOrInstanceIdFilter,omitempty"`
41395	// HealthStateFilter - The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.
41396	// 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.
41397	// 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.
41398	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
41399	// For example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).
41400	// - Default - Default value. Matches any HealthState. The value is zero.
41401	// - 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.
41402	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
41403	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
41404	// - Error - Filter that matches input with HealthState value Error. The value is 8.
41405	// - All - Filter that matches input with any HealthState value. The value is 65535.
41406	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
41407}
41408
41409// BasicReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
41410// replica.
41411type BasicReplicaInfo interface {
41412	AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool)
41413	AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool)
41414	AsReplicaInfo() (*ReplicaInfo, bool)
41415}
41416
41417// ReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
41418// replica.
41419type ReplicaInfo struct {
41420	autorest.Response `json:"-"`
41421	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
41422	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
41423	// 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'
41424	HealthState HealthState `json:"HealthState,omitempty"`
41425	// NodeName - The name of a Service Fabric node.
41426	NodeName *string `json:"NodeName,omitempty"`
41427	// Address - The address the replica is listening on.
41428	Address *string `json:"Address,omitempty"`
41429	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
41430	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
41431	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
41432	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
41433}
41434
41435func unmarshalBasicReplicaInfo(body []byte) (BasicReplicaInfo, error) {
41436	var m map[string]interface{}
41437	err := json.Unmarshal(body, &m)
41438	if err != nil {
41439		return nil, err
41440	}
41441
41442	switch m["ServiceKind"] {
41443	case string(ServiceKindBasicReplicaInfoServiceKindStateful):
41444		var ssri StatefulServiceReplicaInfo
41445		err := json.Unmarshal(body, &ssri)
41446		return ssri, err
41447	case string(ServiceKindBasicReplicaInfoServiceKindStateless):
41448		var ssii StatelessServiceInstanceInfo
41449		err := json.Unmarshal(body, &ssii)
41450		return ssii, err
41451	default:
41452		var ri ReplicaInfo
41453		err := json.Unmarshal(body, &ri)
41454		return ri, err
41455	}
41456}
41457func unmarshalBasicReplicaInfoArray(body []byte) ([]BasicReplicaInfo, error) {
41458	var rawMessages []*json.RawMessage
41459	err := json.Unmarshal(body, &rawMessages)
41460	if err != nil {
41461		return nil, err
41462	}
41463
41464	riArray := make([]BasicReplicaInfo, len(rawMessages))
41465
41466	for index, rawMessage := range rawMessages {
41467		ri, err := unmarshalBasicReplicaInfo(*rawMessage)
41468		if err != nil {
41469			return nil, err
41470		}
41471		riArray[index] = ri
41472	}
41473	return riArray, nil
41474}
41475
41476// MarshalJSON is the custom marshaler for ReplicaInfo.
41477func (ri ReplicaInfo) MarshalJSON() ([]byte, error) {
41478	ri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindReplicaInfo
41479	objectMap := make(map[string]interface{})
41480	if ri.ReplicaStatus != "" {
41481		objectMap["ReplicaStatus"] = ri.ReplicaStatus
41482	}
41483	if ri.HealthState != "" {
41484		objectMap["HealthState"] = ri.HealthState
41485	}
41486	if ri.NodeName != nil {
41487		objectMap["NodeName"] = ri.NodeName
41488	}
41489	if ri.Address != nil {
41490		objectMap["Address"] = ri.Address
41491	}
41492	if ri.LastInBuildDurationInSeconds != nil {
41493		objectMap["LastInBuildDurationInSeconds"] = ri.LastInBuildDurationInSeconds
41494	}
41495	if ri.ServiceKind != "" {
41496		objectMap["ServiceKind"] = ri.ServiceKind
41497	}
41498	return json.Marshal(objectMap)
41499}
41500
41501// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
41502func (ri ReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
41503	return nil, false
41504}
41505
41506// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for ReplicaInfo.
41507func (ri ReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
41508	return nil, false
41509}
41510
41511// AsReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
41512func (ri ReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
41513	return &ri, true
41514}
41515
41516// AsBasicReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
41517func (ri ReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
41518	return &ri, true
41519}
41520
41521// ReplicaInfoModel ...
41522type ReplicaInfoModel struct {
41523	autorest.Response `json:"-"`
41524	Value             BasicReplicaInfo `json:"value,omitempty"`
41525}
41526
41527// UnmarshalJSON is the custom unmarshaler for ReplicaInfoModel struct.
41528func (rim *ReplicaInfoModel) UnmarshalJSON(body []byte) error {
41529	ri, err := unmarshalBasicReplicaInfo(body)
41530	if err != nil {
41531		return err
41532	}
41533	rim.Value = ri
41534
41535	return nil
41536}
41537
41538// ReplicasHealthEvaluation represents health evaluation for replicas, containing health evaluations for each
41539// unhealthy replica that impacted current aggregated health state. Can be returned when evaluating partition
41540// health and the aggregated health state is either Error or Warning.
41541type ReplicasHealthEvaluation struct {
41542	// MaxPercentUnhealthyReplicasPerPartition - Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy.
41543	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
41544	// TotalCount - Total number of replicas in the partition from the health store.
41545	TotalCount *int64 `json:"TotalCount,omitempty"`
41546	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health.
41547	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
41548	// 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'
41549	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41550	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
41551	Description *string `json:"Description,omitempty"`
41552	// 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'
41553	Kind Kind `json:"Kind,omitempty"`
41554}
41555
41556// MarshalJSON is the custom marshaler for ReplicasHealthEvaluation.
41557func (rhe ReplicasHealthEvaluation) MarshalJSON() ([]byte, error) {
41558	rhe.Kind = KindReplicas
41559	objectMap := make(map[string]interface{})
41560	if rhe.MaxPercentUnhealthyReplicasPerPartition != nil {
41561		objectMap["MaxPercentUnhealthyReplicasPerPartition"] = rhe.MaxPercentUnhealthyReplicasPerPartition
41562	}
41563	if rhe.TotalCount != nil {
41564		objectMap["TotalCount"] = rhe.TotalCount
41565	}
41566	if rhe.UnhealthyEvaluations != nil {
41567		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
41568	}
41569	if rhe.AggregatedHealthState != "" {
41570		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
41571	}
41572	if rhe.Description != nil {
41573		objectMap["Description"] = rhe.Description
41574	}
41575	if rhe.Kind != "" {
41576		objectMap["Kind"] = rhe.Kind
41577	}
41578	return json.Marshal(objectMap)
41579}
41580
41581// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41582func (rhe ReplicasHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
41583	return nil, false
41584}
41585
41586// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41587func (rhe ReplicasHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
41588	return nil, false
41589}
41590
41591// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41592func (rhe ReplicasHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
41593	return nil, false
41594}
41595
41596// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41597func (rhe ReplicasHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
41598	return nil, false
41599}
41600
41601// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41602func (rhe ReplicasHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
41603	return nil, false
41604}
41605
41606// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41607func (rhe ReplicasHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
41608	return nil, false
41609}
41610
41611// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41612func (rhe ReplicasHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
41613	return nil, false
41614}
41615
41616// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41617func (rhe ReplicasHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
41618	return nil, false
41619}
41620
41621// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41622func (rhe ReplicasHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
41623	return nil, false
41624}
41625
41626// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41627func (rhe ReplicasHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
41628	return nil, false
41629}
41630
41631// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41632func (rhe ReplicasHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
41633	return nil, false
41634}
41635
41636// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41637func (rhe ReplicasHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
41638	return nil, false
41639}
41640
41641// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41642func (rhe ReplicasHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
41643	return nil, false
41644}
41645
41646// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41647func (rhe ReplicasHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
41648	return nil, false
41649}
41650
41651// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41652func (rhe ReplicasHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
41653	return &rhe, true
41654}
41655
41656// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41657func (rhe ReplicasHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
41658	return nil, false
41659}
41660
41661// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41662func (rhe ReplicasHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
41663	return nil, false
41664}
41665
41666// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41667func (rhe ReplicasHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
41668	return nil, false
41669}
41670
41671// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41672func (rhe ReplicasHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
41673	return nil, false
41674}
41675
41676// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41677func (rhe ReplicasHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
41678	return nil, false
41679}
41680
41681// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41682func (rhe ReplicasHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
41683	return nil, false
41684}
41685
41686// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
41687func (rhe ReplicasHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
41688	return &rhe, true
41689}
41690
41691// BasicReplicaStatusBase information about the replica.
41692type BasicReplicaStatusBase interface {
41693	AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool)
41694	AsReplicaStatusBase() (*ReplicaStatusBase, bool)
41695}
41696
41697// ReplicaStatusBase information about the replica.
41698type ReplicaStatusBase struct {
41699	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
41700	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
41701}
41702
41703func unmarshalBasicReplicaStatusBase(body []byte) (BasicReplicaStatusBase, error) {
41704	var m map[string]interface{}
41705	err := json.Unmarshal(body, &m)
41706	if err != nil {
41707		return nil, err
41708	}
41709
41710	switch m["Kind"] {
41711	case string(KindKeyValueStore):
41712		var kvsrs KeyValueStoreReplicaStatus
41713		err := json.Unmarshal(body, &kvsrs)
41714		return kvsrs, err
41715	default:
41716		var rsb ReplicaStatusBase
41717		err := json.Unmarshal(body, &rsb)
41718		return rsb, err
41719	}
41720}
41721func unmarshalBasicReplicaStatusBaseArray(body []byte) ([]BasicReplicaStatusBase, error) {
41722	var rawMessages []*json.RawMessage
41723	err := json.Unmarshal(body, &rawMessages)
41724	if err != nil {
41725		return nil, err
41726	}
41727
41728	rsbArray := make([]BasicReplicaStatusBase, len(rawMessages))
41729
41730	for index, rawMessage := range rawMessages {
41731		rsb, err := unmarshalBasicReplicaStatusBase(*rawMessage)
41732		if err != nil {
41733			return nil, err
41734		}
41735		rsbArray[index] = rsb
41736	}
41737	return rsbArray, nil
41738}
41739
41740// MarshalJSON is the custom marshaler for ReplicaStatusBase.
41741func (rsb ReplicaStatusBase) MarshalJSON() ([]byte, error) {
41742	rsb.Kind = KindReplicaStatusBase
41743	objectMap := make(map[string]interface{})
41744	if rsb.Kind != "" {
41745		objectMap["Kind"] = rsb.Kind
41746	}
41747	return json.Marshal(objectMap)
41748}
41749
41750// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
41751func (rsb ReplicaStatusBase) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
41752	return nil, false
41753}
41754
41755// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
41756func (rsb ReplicaStatusBase) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
41757	return &rsb, true
41758}
41759
41760// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
41761func (rsb ReplicaStatusBase) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
41762	return &rsb, true
41763}
41764
41765// ReplicatorQueueStatus provides various statistics of the queue used in the service fabric replicator.
41766// Contains information about the service fabric replicator like the replication/copy queue utilization, last
41767// acknowledgement received timestamp, etc.
41768// Depending on the role of the replicator, the properties in this type imply different meanings.
41769type ReplicatorQueueStatus struct {
41770	// 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.
41771	QueueUtilizationPercentage *int32 `json:"QueueUtilizationPercentage,omitempty"`
41772	// QueueMemorySize - Represents the virtual memory consumed by the queue in bytes.
41773	QueueMemorySize *string `json:"QueueMemorySize,omitempty"`
41774	// FirstSequenceNumber - On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.
41775	// On a secondary replicator, this is the smallest sequence number of the operation that is present in the queue.
41776	FirstSequenceNumber *string `json:"FirstSequenceNumber,omitempty"`
41777	// 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.
41778	// On a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state.
41779	CompletedSequenceNumber *string `json:"CompletedSequenceNumber,omitempty"`
41780	// 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.
41781	// On a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary.
41782	CommittedSequenceNumber *string `json:"CommittedSequenceNumber,omitempty"`
41783	// LastSequenceNumber - Represents the latest sequence number of the operation that is available in the queue.
41784	LastSequenceNumber *string `json:"LastSequenceNumber,omitempty"`
41785}
41786
41787// BasicReplicatorStatus represents a base class for primary or secondary replicator status.
41788// Contains information about the service fabric replicator like the replication/copy queue utilization, last
41789// acknowledgement received timestamp, etc.
41790type BasicReplicatorStatus interface {
41791	AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool)
41792	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
41793	AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool)
41794	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
41795	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
41796	AsReplicatorStatus() (*ReplicatorStatus, bool)
41797}
41798
41799// ReplicatorStatus represents a base class for primary or secondary replicator status.
41800// Contains information about the service fabric replicator like the replication/copy queue utilization, last
41801// acknowledgement received timestamp, etc.
41802type ReplicatorStatus struct {
41803	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
41804	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
41805}
41806
41807func unmarshalBasicReplicatorStatus(body []byte) (BasicReplicatorStatus, error) {
41808	var m map[string]interface{}
41809	err := json.Unmarshal(body, &m)
41810	if err != nil {
41811		return nil, err
41812	}
41813
41814	switch m["Kind"] {
41815	case string(KindPrimary):
41816		var prs PrimaryReplicatorStatus
41817		err := json.Unmarshal(body, &prs)
41818		return prs, err
41819	case string(KindSecondaryReplicatorStatus):
41820		var srs SecondaryReplicatorStatus
41821		err := json.Unmarshal(body, &srs)
41822		return srs, err
41823	case string(KindActiveSecondary):
41824		var sars SecondaryActiveReplicatorStatus
41825		err := json.Unmarshal(body, &sars)
41826		return sars, err
41827	case string(KindIdleSecondary):
41828		var sirs SecondaryIdleReplicatorStatus
41829		err := json.Unmarshal(body, &sirs)
41830		return sirs, err
41831	default:
41832		var rs ReplicatorStatus
41833		err := json.Unmarshal(body, &rs)
41834		return rs, err
41835	}
41836}
41837func unmarshalBasicReplicatorStatusArray(body []byte) ([]BasicReplicatorStatus, error) {
41838	var rawMessages []*json.RawMessage
41839	err := json.Unmarshal(body, &rawMessages)
41840	if err != nil {
41841		return nil, err
41842	}
41843
41844	rsArray := make([]BasicReplicatorStatus, len(rawMessages))
41845
41846	for index, rawMessage := range rawMessages {
41847		rs, err := unmarshalBasicReplicatorStatus(*rawMessage)
41848		if err != nil {
41849			return nil, err
41850		}
41851		rsArray[index] = rs
41852	}
41853	return rsArray, nil
41854}
41855
41856// MarshalJSON is the custom marshaler for ReplicatorStatus.
41857func (rs ReplicatorStatus) MarshalJSON() ([]byte, error) {
41858	rs.Kind = KindReplicatorStatus
41859	objectMap := make(map[string]interface{})
41860	if rs.Kind != "" {
41861		objectMap["Kind"] = rs.Kind
41862	}
41863	return json.Marshal(objectMap)
41864}
41865
41866// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
41867func (rs ReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
41868	return nil, false
41869}
41870
41871// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
41872func (rs ReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
41873	return nil, false
41874}
41875
41876// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
41877func (rs ReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
41878	return nil, false
41879}
41880
41881// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
41882func (rs ReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
41883	return nil, false
41884}
41885
41886// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
41887func (rs ReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
41888	return nil, false
41889}
41890
41891// AsReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
41892func (rs ReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
41893	return &rs, true
41894}
41895
41896// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
41897func (rs ReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
41898	return &rs, true
41899}
41900
41901// ResolvedServiceEndpoint endpoint of a resolved service partition.
41902type ResolvedServiceEndpoint struct {
41903	// Kind - The role of the replica where the endpoint is reported. Possible values include: 'ServiceEndpointRoleInvalid', 'ServiceEndpointRoleStateless', 'ServiceEndpointRoleStatefulPrimary', 'ServiceEndpointRoleStatefulSecondary'
41904	Kind ServiceEndpointRole `json:"Kind,omitempty"`
41905	// 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.
41906	Address *string `json:"Address,omitempty"`
41907}
41908
41909// ResolvedServicePartition information about a service partition and its associated endpoints.
41910type ResolvedServicePartition struct {
41911	autorest.Response `json:"-"`
41912	// Name - The full name of the service with 'fabric:' URI scheme.
41913	Name *string `json:"Name,omitempty"`
41914	// PartitionInformation - A representation of the resolved partition.
41915	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
41916	// Endpoints - List of resolved service endpoints of a service partition.
41917	Endpoints *[]ResolvedServiceEndpoint `json:"Endpoints,omitempty"`
41918	// 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.
41919	Version *string `json:"Version,omitempty"`
41920}
41921
41922// UnmarshalJSON is the custom unmarshaler for ResolvedServicePartition struct.
41923func (rsp *ResolvedServicePartition) UnmarshalJSON(body []byte) error {
41924	var m map[string]*json.RawMessage
41925	err := json.Unmarshal(body, &m)
41926	if err != nil {
41927		return err
41928	}
41929	for k, v := range m {
41930		switch k {
41931		case "Name":
41932			if v != nil {
41933				var name string
41934				err = json.Unmarshal(*v, &name)
41935				if err != nil {
41936					return err
41937				}
41938				rsp.Name = &name
41939			}
41940		case "PartitionInformation":
41941			if v != nil {
41942				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
41943				if err != nil {
41944					return err
41945				}
41946				rsp.PartitionInformation = partitionInformation
41947			}
41948		case "Endpoints":
41949			if v != nil {
41950				var endpoints []ResolvedServiceEndpoint
41951				err = json.Unmarshal(*v, &endpoints)
41952				if err != nil {
41953					return err
41954				}
41955				rsp.Endpoints = &endpoints
41956			}
41957		case "Version":
41958			if v != nil {
41959				var version string
41960				err = json.Unmarshal(*v, &version)
41961				if err != nil {
41962					return err
41963				}
41964				rsp.Version = &version
41965			}
41966		}
41967	}
41968
41969	return nil
41970}
41971
41972// RestartDeployedCodePackageDescription defines description for restarting a deployed code package on Service
41973// Fabric node.
41974type RestartDeployedCodePackageDescription struct {
41975	// ServiceManifestName - The name of service manifest that specified this code package.
41976	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
41977	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
41978	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
41979	// is always an empty string.
41980	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
41981	// CodePackageName - The name of the code package defined in the service manifest.
41982	CodePackageName *string `json:"CodePackageName,omitempty"`
41983	// 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.
41984	// 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.
41985	// 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.
41986	// 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.
41987	CodePackageInstanceID *string `json:"CodePackageInstanceId,omitempty"`
41988}
41989
41990// RestartNodeDescription describes the parameters to restart a Service Fabric node.
41991type RestartNodeDescription struct {
41992	// 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.
41993	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
41994	// CreateFabricDump - Specify True to create a dump of the fabric node process. This is case sensitive. Possible values include: 'False', 'True'
41995	CreateFabricDump CreateFabricDump `json:"CreateFabricDump,omitempty"`
41996}
41997
41998// RestartPartitionResult represents information about an operation in a terminal state (Completed or Faulted).
41999type RestartPartitionResult struct {
42000	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
42001	ErrorCode *int32 `json:"ErrorCode,omitempty"`
42002	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
42003	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
42004}
42005
42006// RestorePartitionDescription specifies the parameters needed to trigger a restore of a specific partition.
42007type RestorePartitionDescription struct {
42008	// BackupID - Unique backup ID.
42009	BackupID *uuid.UUID `json:"BackupId,omitempty"`
42010	// BackupLocation - Location of the backup relative to the backup storage specified/ configured.
42011	BackupLocation *string `json:"BackupLocation,omitempty"`
42012	// BackupStorage - Location of the backup from where the partition will be restored.
42013	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
42014}
42015
42016// UnmarshalJSON is the custom unmarshaler for RestorePartitionDescription struct.
42017func (rpd *RestorePartitionDescription) UnmarshalJSON(body []byte) error {
42018	var m map[string]*json.RawMessage
42019	err := json.Unmarshal(body, &m)
42020	if err != nil {
42021		return err
42022	}
42023	for k, v := range m {
42024		switch k {
42025		case "BackupId":
42026			if v != nil {
42027				var backupID uuid.UUID
42028				err = json.Unmarshal(*v, &backupID)
42029				if err != nil {
42030					return err
42031				}
42032				rpd.BackupID = &backupID
42033			}
42034		case "BackupLocation":
42035			if v != nil {
42036				var backupLocation string
42037				err = json.Unmarshal(*v, &backupLocation)
42038				if err != nil {
42039					return err
42040				}
42041				rpd.BackupLocation = &backupLocation
42042			}
42043		case "BackupStorage":
42044			if v != nil {
42045				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
42046				if err != nil {
42047					return err
42048				}
42049				rpd.BackupStorage = backupStorage
42050			}
42051		}
42052	}
42053
42054	return nil
42055}
42056
42057// RestoreProgressInfo describes the progress of a restore operation on a partition.
42058type RestoreProgressInfo struct {
42059	autorest.Response `json:"-"`
42060	// RestoreState - Represents the current state of the partition restore operation. Possible values include: 'RestoreStateInvalid', 'RestoreStateAccepted', 'RestoreStateRestoreInProgress', 'RestoreStateSuccess', 'RestoreStateFailure', 'RestoreStateTimeout'
42061	RestoreState RestoreState `json:"RestoreState,omitempty"`
42062	// TimeStampUtc - Timestamp when operation succeeded or failed.
42063	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
42064	// RestoredEpoch - Describes the epoch at which the partition is restored.
42065	RestoredEpoch *BackupEpoch `json:"RestoredEpoch,omitempty"`
42066	// RestoredLsn - Restored LSN.
42067	RestoredLsn *string `json:"RestoredLsn,omitempty"`
42068	// FailureError - Denotes the failure encountered in performing restore operation.
42069	FailureError *FabricErrorError `json:"FailureError,omitempty"`
42070}
42071
42072// ResumeApplicationUpgradeDescription describes the parameters for resuming an unmonitored manual Service Fabric
42073// application upgrade
42074type ResumeApplicationUpgradeDescription struct {
42075	// UpgradeDomainName - The name of the upgrade domain in which to resume the upgrade.
42076	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
42077}
42078
42079// ResumeClusterUpgradeDescription describes the parameters for resuming a cluster upgrade.
42080type ResumeClusterUpgradeDescription struct {
42081	// UpgradeDomain - The next upgrade domain for this cluster upgrade.
42082	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
42083}
42084
42085// RollingUpgradeUpdateDescription describes the parameters for updating a rolling upgrade of application or
42086// cluster.
42087type RollingUpgradeUpdateDescription struct {
42088	// 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'
42089	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
42090	// 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).
42091	ForceRestart *bool `json:"ForceRestart,omitempty"`
42092	// 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).
42093	ReplicaSetCheckTimeoutInMilliseconds *int64 `json:"ReplicaSetCheckTimeoutInMilliseconds,omitempty"`
42094	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
42095	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
42096	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
42097	FailureAction FailureAction `json:"FailureAction,omitempty"`
42098	// 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.
42099	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
42100	// 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.
42101	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
42102	// 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.
42103	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
42104	// 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.
42105	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
42106	// 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.
42107	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
42108}
42109
42110// BasicSafetyCheck represents a safety check performed by service fabric before continuing with the operations. These
42111// checks ensure the availability of the service and the reliability of the state.
42112type BasicSafetyCheck interface {
42113	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
42114	AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool)
42115	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
42116	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
42117	AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool)
42118	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
42119	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
42120	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
42121	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
42122	AsSafetyCheck() (*SafetyCheck, bool)
42123}
42124
42125// SafetyCheck represents a safety check performed by service fabric before continuing with the operations. These
42126// checks ensure the availability of the service and the reliability of the state.
42127type SafetyCheck struct {
42128	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
42129	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
42130}
42131
42132func unmarshalBasicSafetyCheck(body []byte) (BasicSafetyCheck, error) {
42133	var m map[string]interface{}
42134	err := json.Unmarshal(body, &m)
42135	if err != nil {
42136		return nil, err
42137	}
42138
42139	switch m["Kind"] {
42140	case string(KindPartitionSafetyCheck):
42141		var psc PartitionSafetyCheck
42142		err := json.Unmarshal(body, &psc)
42143		return psc, err
42144	case string(KindEnsureAvailability):
42145		var easc EnsureAvailabilitySafetyCheck
42146		err := json.Unmarshal(body, &easc)
42147		return easc, err
42148	case string(KindEnsurePartitionQuorum):
42149		var epqsc EnsurePartitionQurumSafetyCheck
42150		err := json.Unmarshal(body, &epqsc)
42151		return epqsc, err
42152	case string(KindEnsureSeedNodeQuorum):
42153		var snsc SeedNodeSafetyCheck
42154		err := json.Unmarshal(body, &snsc)
42155		return snsc, err
42156	case string(KindWaitForInbuildReplica):
42157		var wfirsc WaitForInbuildReplicaSafetyCheck
42158		err := json.Unmarshal(body, &wfirsc)
42159		return wfirsc, err
42160	case string(KindWaitForPrimaryPlacement):
42161		var wfppsc WaitForPrimaryPlacementSafetyCheck
42162		err := json.Unmarshal(body, &wfppsc)
42163		return wfppsc, err
42164	case string(KindWaitForPrimarySwap):
42165		var wfpssc WaitForPrimarySwapSafetyCheck
42166		err := json.Unmarshal(body, &wfpssc)
42167		return wfpssc, err
42168	case string(KindWaitForReconfiguration):
42169		var wfrsc WaitForReconfigurationSafetyCheck
42170		err := json.Unmarshal(body, &wfrsc)
42171		return wfrsc, err
42172	default:
42173		var sc SafetyCheck
42174		err := json.Unmarshal(body, &sc)
42175		return sc, err
42176	}
42177}
42178func unmarshalBasicSafetyCheckArray(body []byte) ([]BasicSafetyCheck, error) {
42179	var rawMessages []*json.RawMessage
42180	err := json.Unmarshal(body, &rawMessages)
42181	if err != nil {
42182		return nil, err
42183	}
42184
42185	scArray := make([]BasicSafetyCheck, len(rawMessages))
42186
42187	for index, rawMessage := range rawMessages {
42188		sc, err := unmarshalBasicSafetyCheck(*rawMessage)
42189		if err != nil {
42190			return nil, err
42191		}
42192		scArray[index] = sc
42193	}
42194	return scArray, nil
42195}
42196
42197// MarshalJSON is the custom marshaler for SafetyCheck.
42198func (sc SafetyCheck) MarshalJSON() ([]byte, error) {
42199	sc.Kind = KindSafetyCheck
42200	objectMap := make(map[string]interface{})
42201	if sc.Kind != "" {
42202		objectMap["Kind"] = sc.Kind
42203	}
42204	return json.Marshal(objectMap)
42205}
42206
42207// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42208func (sc SafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
42209	return nil, false
42210}
42211
42212// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42213func (sc SafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
42214	return nil, false
42215}
42216
42217// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42218func (sc SafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
42219	return nil, false
42220}
42221
42222// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42223func (sc SafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
42224	return nil, false
42225}
42226
42227// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42228func (sc SafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
42229	return nil, false
42230}
42231
42232// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42233func (sc SafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
42234	return nil, false
42235}
42236
42237// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42238func (sc SafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
42239	return nil, false
42240}
42241
42242// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42243func (sc SafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
42244	return nil, false
42245}
42246
42247// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42248func (sc SafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
42249	return nil, false
42250}
42251
42252// AsSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42253func (sc SafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
42254	return &sc, true
42255}
42256
42257// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42258func (sc SafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
42259	return &sc, true
42260}
42261
42262// SafetyCheckWrapper a wrapper for the safety check object. Safety checks are performed by service fabric before
42263// continuing with the operations. These checks ensure the availability of the service and the reliability of the
42264// state.
42265type SafetyCheckWrapper struct {
42266	// 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.
42267	SafetyCheck BasicSafetyCheck `json:"SafetyCheck,omitempty"`
42268}
42269
42270// UnmarshalJSON is the custom unmarshaler for SafetyCheckWrapper struct.
42271func (scw *SafetyCheckWrapper) UnmarshalJSON(body []byte) error {
42272	var m map[string]*json.RawMessage
42273	err := json.Unmarshal(body, &m)
42274	if err != nil {
42275		return err
42276	}
42277	for k, v := range m {
42278		switch k {
42279		case "SafetyCheck":
42280			if v != nil {
42281				safetyCheck, err := unmarshalBasicSafetyCheck(*v)
42282				if err != nil {
42283					return err
42284				}
42285				scw.SafetyCheck = safetyCheck
42286			}
42287		}
42288	}
42289
42290	return nil
42291}
42292
42293// BasicScalingMechanismDescription describes the mechanism for performing a scaling operation.
42294type BasicScalingMechanismDescription interface {
42295	AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool)
42296	AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool)
42297	AsScalingMechanismDescription() (*ScalingMechanismDescription, bool)
42298}
42299
42300// ScalingMechanismDescription describes the mechanism for performing a scaling operation.
42301type ScalingMechanismDescription struct {
42302	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
42303	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
42304}
42305
42306func unmarshalBasicScalingMechanismDescription(body []byte) (BasicScalingMechanismDescription, error) {
42307	var m map[string]interface{}
42308	err := json.Unmarshal(body, &m)
42309	if err != nil {
42310		return nil, err
42311	}
42312
42313	switch m["Kind"] {
42314	case string(KindPartitionInstanceCount):
42315		var picsm PartitionInstanceCountScaleMechanism
42316		err := json.Unmarshal(body, &picsm)
42317		return picsm, err
42318	case string(KindAddRemoveIncrementalNamedPartition):
42319		var arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism
42320		err := json.Unmarshal(body, &arinpsm)
42321		return arinpsm, err
42322	default:
42323		var smd ScalingMechanismDescription
42324		err := json.Unmarshal(body, &smd)
42325		return smd, err
42326	}
42327}
42328func unmarshalBasicScalingMechanismDescriptionArray(body []byte) ([]BasicScalingMechanismDescription, error) {
42329	var rawMessages []*json.RawMessage
42330	err := json.Unmarshal(body, &rawMessages)
42331	if err != nil {
42332		return nil, err
42333	}
42334
42335	smdArray := make([]BasicScalingMechanismDescription, len(rawMessages))
42336
42337	for index, rawMessage := range rawMessages {
42338		smd, err := unmarshalBasicScalingMechanismDescription(*rawMessage)
42339		if err != nil {
42340			return nil, err
42341		}
42342		smdArray[index] = smd
42343	}
42344	return smdArray, nil
42345}
42346
42347// MarshalJSON is the custom marshaler for ScalingMechanismDescription.
42348func (smd ScalingMechanismDescription) MarshalJSON() ([]byte, error) {
42349	smd.Kind = KindScalingMechanismDescription
42350	objectMap := make(map[string]interface{})
42351	if smd.Kind != "" {
42352		objectMap["Kind"] = smd.Kind
42353	}
42354	return json.Marshal(objectMap)
42355}
42356
42357// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42358func (smd ScalingMechanismDescription) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
42359	return nil, false
42360}
42361
42362// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42363func (smd ScalingMechanismDescription) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
42364	return nil, false
42365}
42366
42367// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42368func (smd ScalingMechanismDescription) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
42369	return &smd, true
42370}
42371
42372// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42373func (smd ScalingMechanismDescription) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
42374	return &smd, true
42375}
42376
42377// ScalingPolicyDescription describes how the scaling should be performed
42378type ScalingPolicyDescription struct {
42379	// ScalingTrigger - Specifies the trigger associated with this scaling policy
42380	ScalingTrigger BasicScalingTriggerDescription `json:"ScalingTrigger,omitempty"`
42381	// ScalingMechanism - Specifies the mechanism associated with this scaling policy
42382	ScalingMechanism BasicScalingMechanismDescription `json:"ScalingMechanism,omitempty"`
42383}
42384
42385// UnmarshalJSON is the custom unmarshaler for ScalingPolicyDescription struct.
42386func (spd *ScalingPolicyDescription) UnmarshalJSON(body []byte) error {
42387	var m map[string]*json.RawMessage
42388	err := json.Unmarshal(body, &m)
42389	if err != nil {
42390		return err
42391	}
42392	for k, v := range m {
42393		switch k {
42394		case "ScalingTrigger":
42395			if v != nil {
42396				scalingTrigger, err := unmarshalBasicScalingTriggerDescription(*v)
42397				if err != nil {
42398					return err
42399				}
42400				spd.ScalingTrigger = scalingTrigger
42401			}
42402		case "ScalingMechanism":
42403			if v != nil {
42404				scalingMechanism, err := unmarshalBasicScalingMechanismDescription(*v)
42405				if err != nil {
42406					return err
42407				}
42408				spd.ScalingMechanism = scalingMechanism
42409			}
42410		}
42411	}
42412
42413	return nil
42414}
42415
42416// BasicScalingTriggerDescription describes the trigger for performing a scaling operation.
42417type BasicScalingTriggerDescription interface {
42418	AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool)
42419	AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool)
42420	AsScalingTriggerDescription() (*ScalingTriggerDescription, bool)
42421}
42422
42423// ScalingTriggerDescription describes the trigger for performing a scaling operation.
42424type ScalingTriggerDescription struct {
42425	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
42426	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
42427}
42428
42429func unmarshalBasicScalingTriggerDescription(body []byte) (BasicScalingTriggerDescription, error) {
42430	var m map[string]interface{}
42431	err := json.Unmarshal(body, &m)
42432	if err != nil {
42433		return nil, err
42434	}
42435
42436	switch m["Kind"] {
42437	case string(KindAveragePartitionLoad):
42438		var aplst AveragePartitionLoadScalingTrigger
42439		err := json.Unmarshal(body, &aplst)
42440		return aplst, err
42441	case string(KindAverageServiceLoad):
42442		var aslst AverageServiceLoadScalingTrigger
42443		err := json.Unmarshal(body, &aslst)
42444		return aslst, err
42445	default:
42446		var std ScalingTriggerDescription
42447		err := json.Unmarshal(body, &std)
42448		return std, err
42449	}
42450}
42451func unmarshalBasicScalingTriggerDescriptionArray(body []byte) ([]BasicScalingTriggerDescription, error) {
42452	var rawMessages []*json.RawMessage
42453	err := json.Unmarshal(body, &rawMessages)
42454	if err != nil {
42455		return nil, err
42456	}
42457
42458	stdArray := make([]BasicScalingTriggerDescription, len(rawMessages))
42459
42460	for index, rawMessage := range rawMessages {
42461		std, err := unmarshalBasicScalingTriggerDescription(*rawMessage)
42462		if err != nil {
42463			return nil, err
42464		}
42465		stdArray[index] = std
42466	}
42467	return stdArray, nil
42468}
42469
42470// MarshalJSON is the custom marshaler for ScalingTriggerDescription.
42471func (std ScalingTriggerDescription) MarshalJSON() ([]byte, error) {
42472	std.Kind = KindScalingTriggerDescription
42473	objectMap := make(map[string]interface{})
42474	if std.Kind != "" {
42475		objectMap["Kind"] = std.Kind
42476	}
42477	return json.Marshal(objectMap)
42478}
42479
42480// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
42481func (std ScalingTriggerDescription) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
42482	return nil, false
42483}
42484
42485// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
42486func (std ScalingTriggerDescription) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
42487	return nil, false
42488}
42489
42490// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
42491func (std ScalingTriggerDescription) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
42492	return &std, true
42493}
42494
42495// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
42496func (std ScalingTriggerDescription) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
42497	return &std, true
42498}
42499
42500// SecondaryActiveReplicatorStatus status of the secondary replicator when it is in active mode and is part of the
42501// replica set.
42502type SecondaryActiveReplicatorStatus struct {
42503	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
42504	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
42505	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
42506	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
42507	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
42508	// IsInBuild - Value that indicates whether the replica is currently being built.
42509	IsInBuild *bool `json:"IsInBuild,omitempty"`
42510	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
42511	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
42512	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
42513	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
42514	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
42515	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
42516	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
42517	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
42518	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
42519	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
42520}
42521
42522// MarshalJSON is the custom marshaler for SecondaryActiveReplicatorStatus.
42523func (sars SecondaryActiveReplicatorStatus) MarshalJSON() ([]byte, error) {
42524	sars.Kind = KindActiveSecondary
42525	objectMap := make(map[string]interface{})
42526	if sars.ReplicationQueueStatus != nil {
42527		objectMap["ReplicationQueueStatus"] = sars.ReplicationQueueStatus
42528	}
42529	if sars.LastReplicationOperationReceivedTimeUtc != nil {
42530		objectMap["LastReplicationOperationReceivedTimeUtc"] = sars.LastReplicationOperationReceivedTimeUtc
42531	}
42532	if sars.IsInBuild != nil {
42533		objectMap["IsInBuild"] = sars.IsInBuild
42534	}
42535	if sars.CopyQueueStatus != nil {
42536		objectMap["CopyQueueStatus"] = sars.CopyQueueStatus
42537	}
42538	if sars.LastCopyOperationReceivedTimeUtc != nil {
42539		objectMap["LastCopyOperationReceivedTimeUtc"] = sars.LastCopyOperationReceivedTimeUtc
42540	}
42541	if sars.LastAcknowledgementSentTimeUtc != nil {
42542		objectMap["LastAcknowledgementSentTimeUtc"] = sars.LastAcknowledgementSentTimeUtc
42543	}
42544	if sars.Kind != "" {
42545		objectMap["Kind"] = sars.Kind
42546	}
42547	return json.Marshal(objectMap)
42548}
42549
42550// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
42551func (sars SecondaryActiveReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
42552	return nil, false
42553}
42554
42555// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
42556func (sars SecondaryActiveReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
42557	return nil, false
42558}
42559
42560// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
42561func (sars SecondaryActiveReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
42562	return &sars, true
42563}
42564
42565// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
42566func (sars SecondaryActiveReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
42567	return &sars, true
42568}
42569
42570// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
42571func (sars SecondaryActiveReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
42572	return nil, false
42573}
42574
42575// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
42576func (sars SecondaryActiveReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
42577	return nil, false
42578}
42579
42580// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
42581func (sars SecondaryActiveReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
42582	return &sars, true
42583}
42584
42585// SecondaryIdleReplicatorStatus status of the secondary replicator when it is in idle mode and is being built by
42586// the primary.
42587type SecondaryIdleReplicatorStatus struct {
42588	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
42589	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
42590	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
42591	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
42592	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
42593	// IsInBuild - Value that indicates whether the replica is currently being built.
42594	IsInBuild *bool `json:"IsInBuild,omitempty"`
42595	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
42596	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
42597	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
42598	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
42599	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
42600	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
42601	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
42602	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
42603	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
42604	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
42605}
42606
42607// MarshalJSON is the custom marshaler for SecondaryIdleReplicatorStatus.
42608func (sirs SecondaryIdleReplicatorStatus) MarshalJSON() ([]byte, error) {
42609	sirs.Kind = KindIdleSecondary
42610	objectMap := make(map[string]interface{})
42611	if sirs.ReplicationQueueStatus != nil {
42612		objectMap["ReplicationQueueStatus"] = sirs.ReplicationQueueStatus
42613	}
42614	if sirs.LastReplicationOperationReceivedTimeUtc != nil {
42615		objectMap["LastReplicationOperationReceivedTimeUtc"] = sirs.LastReplicationOperationReceivedTimeUtc
42616	}
42617	if sirs.IsInBuild != nil {
42618		objectMap["IsInBuild"] = sirs.IsInBuild
42619	}
42620	if sirs.CopyQueueStatus != nil {
42621		objectMap["CopyQueueStatus"] = sirs.CopyQueueStatus
42622	}
42623	if sirs.LastCopyOperationReceivedTimeUtc != nil {
42624		objectMap["LastCopyOperationReceivedTimeUtc"] = sirs.LastCopyOperationReceivedTimeUtc
42625	}
42626	if sirs.LastAcknowledgementSentTimeUtc != nil {
42627		objectMap["LastAcknowledgementSentTimeUtc"] = sirs.LastAcknowledgementSentTimeUtc
42628	}
42629	if sirs.Kind != "" {
42630		objectMap["Kind"] = sirs.Kind
42631	}
42632	return json.Marshal(objectMap)
42633}
42634
42635// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
42636func (sirs SecondaryIdleReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
42637	return nil, false
42638}
42639
42640// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
42641func (sirs SecondaryIdleReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
42642	return nil, false
42643}
42644
42645// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
42646func (sirs SecondaryIdleReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
42647	return &sirs, true
42648}
42649
42650// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
42651func (sirs SecondaryIdleReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
42652	return nil, false
42653}
42654
42655// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
42656func (sirs SecondaryIdleReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
42657	return &sirs, true
42658}
42659
42660// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
42661func (sirs SecondaryIdleReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
42662	return nil, false
42663}
42664
42665// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
42666func (sirs SecondaryIdleReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
42667	return &sirs, true
42668}
42669
42670// BasicSecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in a
42671// ActiveSecondary role.
42672type BasicSecondaryReplicatorStatus interface {
42673	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
42674	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
42675	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
42676}
42677
42678// SecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in a
42679// ActiveSecondary role.
42680type SecondaryReplicatorStatus struct {
42681	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
42682	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
42683	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
42684	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
42685	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
42686	// IsInBuild - Value that indicates whether the replica is currently being built.
42687	IsInBuild *bool `json:"IsInBuild,omitempty"`
42688	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
42689	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
42690	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
42691	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
42692	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
42693	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
42694	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
42695	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
42696	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
42697	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
42698}
42699
42700func unmarshalBasicSecondaryReplicatorStatus(body []byte) (BasicSecondaryReplicatorStatus, error) {
42701	var m map[string]interface{}
42702	err := json.Unmarshal(body, &m)
42703	if err != nil {
42704		return nil, err
42705	}
42706
42707	switch m["Kind"] {
42708	case string(KindActiveSecondary):
42709		var sars SecondaryActiveReplicatorStatus
42710		err := json.Unmarshal(body, &sars)
42711		return sars, err
42712	case string(KindIdleSecondary):
42713		var sirs SecondaryIdleReplicatorStatus
42714		err := json.Unmarshal(body, &sirs)
42715		return sirs, err
42716	default:
42717		var srs SecondaryReplicatorStatus
42718		err := json.Unmarshal(body, &srs)
42719		return srs, err
42720	}
42721}
42722func unmarshalBasicSecondaryReplicatorStatusArray(body []byte) ([]BasicSecondaryReplicatorStatus, error) {
42723	var rawMessages []*json.RawMessage
42724	err := json.Unmarshal(body, &rawMessages)
42725	if err != nil {
42726		return nil, err
42727	}
42728
42729	srsArray := make([]BasicSecondaryReplicatorStatus, len(rawMessages))
42730
42731	for index, rawMessage := range rawMessages {
42732		srs, err := unmarshalBasicSecondaryReplicatorStatus(*rawMessage)
42733		if err != nil {
42734			return nil, err
42735		}
42736		srsArray[index] = srs
42737	}
42738	return srsArray, nil
42739}
42740
42741// MarshalJSON is the custom marshaler for SecondaryReplicatorStatus.
42742func (srs SecondaryReplicatorStatus) MarshalJSON() ([]byte, error) {
42743	srs.Kind = KindSecondaryReplicatorStatus
42744	objectMap := make(map[string]interface{})
42745	if srs.ReplicationQueueStatus != nil {
42746		objectMap["ReplicationQueueStatus"] = srs.ReplicationQueueStatus
42747	}
42748	if srs.LastReplicationOperationReceivedTimeUtc != nil {
42749		objectMap["LastReplicationOperationReceivedTimeUtc"] = srs.LastReplicationOperationReceivedTimeUtc
42750	}
42751	if srs.IsInBuild != nil {
42752		objectMap["IsInBuild"] = srs.IsInBuild
42753	}
42754	if srs.CopyQueueStatus != nil {
42755		objectMap["CopyQueueStatus"] = srs.CopyQueueStatus
42756	}
42757	if srs.LastCopyOperationReceivedTimeUtc != nil {
42758		objectMap["LastCopyOperationReceivedTimeUtc"] = srs.LastCopyOperationReceivedTimeUtc
42759	}
42760	if srs.LastAcknowledgementSentTimeUtc != nil {
42761		objectMap["LastAcknowledgementSentTimeUtc"] = srs.LastAcknowledgementSentTimeUtc
42762	}
42763	if srs.Kind != "" {
42764		objectMap["Kind"] = srs.Kind
42765	}
42766	return json.Marshal(objectMap)
42767}
42768
42769// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
42770func (srs SecondaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
42771	return nil, false
42772}
42773
42774// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
42775func (srs SecondaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
42776	return &srs, true
42777}
42778
42779// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
42780func (srs SecondaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
42781	return &srs, true
42782}
42783
42784// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
42785func (srs SecondaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
42786	return nil, false
42787}
42788
42789// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
42790func (srs SecondaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
42791	return nil, false
42792}
42793
42794// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
42795func (srs SecondaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
42796	return nil, false
42797}
42798
42799// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
42800func (srs SecondaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
42801	return &srs, true
42802}
42803
42804// SeedNodeSafetyCheck represents a safety check for the seed nodes being performed by service fabric before
42805// continuing with node level operations.
42806type SeedNodeSafetyCheck struct {
42807	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
42808	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
42809}
42810
42811// MarshalJSON is the custom marshaler for SeedNodeSafetyCheck.
42812func (snsc SeedNodeSafetyCheck) MarshalJSON() ([]byte, error) {
42813	snsc.Kind = KindEnsureSeedNodeQuorum
42814	objectMap := make(map[string]interface{})
42815	if snsc.Kind != "" {
42816		objectMap["Kind"] = snsc.Kind
42817	}
42818	return json.Marshal(objectMap)
42819}
42820
42821// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42822func (snsc SeedNodeSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
42823	return nil, false
42824}
42825
42826// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42827func (snsc SeedNodeSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
42828	return nil, false
42829}
42830
42831// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42832func (snsc SeedNodeSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
42833	return nil, false
42834}
42835
42836// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42837func (snsc SeedNodeSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
42838	return nil, false
42839}
42840
42841// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42842func (snsc SeedNodeSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
42843	return &snsc, true
42844}
42845
42846// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42847func (snsc SeedNodeSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
42848	return nil, false
42849}
42850
42851// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42852func (snsc SeedNodeSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
42853	return nil, false
42854}
42855
42856// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42857func (snsc SeedNodeSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
42858	return nil, false
42859}
42860
42861// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42862func (snsc SeedNodeSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
42863	return nil, false
42864}
42865
42866// AsSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42867func (snsc SeedNodeSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
42868	return nil, false
42869}
42870
42871// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
42872func (snsc SeedNodeSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
42873	return &snsc, true
42874}
42875
42876// SelectedPartition this class returns information about the partition that the user-induced operation acted upon.
42877type SelectedPartition struct {
42878	// ServiceName - The name of the service the partition belongs to.
42879	ServiceName *string `json:"ServiceName,omitempty"`
42880	// 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.
42881	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
42882}
42883
42884// ServiceBackupConfigurationInfo backup configuration information for a specific Service Fabric service specifying
42885// what backup policy is being applied and suspend description, if any.
42886type ServiceBackupConfigurationInfo struct {
42887	// ServiceName - The full name of the service with 'fabric:' URI scheme.
42888	ServiceName *string `json:"ServiceName,omitempty"`
42889	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
42890	PolicyName *string `json:"PolicyName,omitempty"`
42891	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
42892	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
42893	// SuspensionInfo - Describes the backup suspension details.
42894	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
42895	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
42896	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
42897}
42898
42899// MarshalJSON is the custom marshaler for ServiceBackupConfigurationInfo.
42900func (sbci ServiceBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
42901	sbci.Kind = KindBasicBackupConfigurationInfoKindService
42902	objectMap := make(map[string]interface{})
42903	if sbci.ServiceName != nil {
42904		objectMap["ServiceName"] = sbci.ServiceName
42905	}
42906	if sbci.PolicyName != nil {
42907		objectMap["PolicyName"] = sbci.PolicyName
42908	}
42909	if sbci.PolicyInheritedFrom != "" {
42910		objectMap["PolicyInheritedFrom"] = sbci.PolicyInheritedFrom
42911	}
42912	if sbci.SuspensionInfo != nil {
42913		objectMap["SuspensionInfo"] = sbci.SuspensionInfo
42914	}
42915	if sbci.Kind != "" {
42916		objectMap["Kind"] = sbci.Kind
42917	}
42918	return json.Marshal(objectMap)
42919}
42920
42921// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
42922func (sbci ServiceBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
42923	return nil, false
42924}
42925
42926// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
42927func (sbci ServiceBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
42928	return &sbci, true
42929}
42930
42931// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
42932func (sbci ServiceBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
42933	return nil, false
42934}
42935
42936// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
42937func (sbci ServiceBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
42938	return nil, false
42939}
42940
42941// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
42942func (sbci ServiceBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
42943	return &sbci, true
42944}
42945
42946// ServiceBackupEntity identifies the Service Fabric stateful service which is being backed up.
42947type ServiceBackupEntity struct {
42948	// ServiceName - The full name of the service with 'fabric:' URI scheme.
42949	ServiceName *string `json:"ServiceName,omitempty"`
42950	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
42951	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
42952}
42953
42954// MarshalJSON is the custom marshaler for ServiceBackupEntity.
42955func (sbe ServiceBackupEntity) MarshalJSON() ([]byte, error) {
42956	sbe.EntityKind = EntityKindService1
42957	objectMap := make(map[string]interface{})
42958	if sbe.ServiceName != nil {
42959		objectMap["ServiceName"] = sbe.ServiceName
42960	}
42961	if sbe.EntityKind != "" {
42962		objectMap["EntityKind"] = sbe.EntityKind
42963	}
42964	return json.Marshal(objectMap)
42965}
42966
42967// AsApplicationBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
42968func (sbe ServiceBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
42969	return nil, false
42970}
42971
42972// AsServiceBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
42973func (sbe ServiceBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
42974	return &sbe, true
42975}
42976
42977// AsPartitionBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
42978func (sbe ServiceBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
42979	return nil, false
42980}
42981
42982// AsBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
42983func (sbe ServiceBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
42984	return nil, false
42985}
42986
42987// AsBasicBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
42988func (sbe ServiceBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
42989	return &sbe, true
42990}
42991
42992// ServiceCorrelationDescription creates a particular correlation between services.
42993type ServiceCorrelationDescription struct {
42994	// Scheme - The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName. Possible values include: 'ServiceCorrelationSchemeInvalid', 'ServiceCorrelationSchemeAffinity', 'ServiceCorrelationSchemeAlignedAffinity', 'ServiceCorrelationSchemeNonAlignedAffinity'
42995	Scheme ServiceCorrelationScheme `json:"Scheme,omitempty"`
42996	// ServiceName - The name of the service that the correlation relationship is established with.
42997	ServiceName *string `json:"ServiceName,omitempty"`
42998}
42999
43000// ServiceCreatedEvent service Created event.
43001type ServiceCreatedEvent struct {
43002	// ServiceTypeName - Service type name.
43003	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
43004	// ApplicationName - Application name.
43005	ApplicationName *string `json:"ApplicationName,omitempty"`
43006	// ApplicationTypeName - Application type name.
43007	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
43008	// ServiceInstance - Id of Service instance.
43009	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
43010	// IsStateful - Indicates if Service is stateful.
43011	IsStateful *bool `json:"IsStateful,omitempty"`
43012	// PartitionCount - Number of partitions.
43013	PartitionCount *int32 `json:"PartitionCount,omitempty"`
43014	// TargetReplicaSetSize - Size of target replicas set.
43015	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
43016	// MinReplicaSetSize - Minimum size of replicas set.
43017	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
43018	// ServicePackageVersion - Version of Service package.
43019	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
43020	// 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.
43021	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
43022	// 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.
43023	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
43024	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
43025	ServiceID *string `json:"ServiceId,omitempty"`
43026	// EventInstanceID - The identifier for the FabricEvent instance.
43027	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
43028	// TimeStamp - The time event was logged.
43029	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
43030	// HasCorrelatedEvents - Shows there is existing related events available.
43031	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
43032	// 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'
43033	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
43034}
43035
43036// MarshalJSON is the custom marshaler for ServiceCreatedEvent.
43037func (sce ServiceCreatedEvent) MarshalJSON() ([]byte, error) {
43038	sce.Kind = KindServiceCreated
43039	objectMap := make(map[string]interface{})
43040	if sce.ServiceTypeName != nil {
43041		objectMap["ServiceTypeName"] = sce.ServiceTypeName
43042	}
43043	if sce.ApplicationName != nil {
43044		objectMap["ApplicationName"] = sce.ApplicationName
43045	}
43046	if sce.ApplicationTypeName != nil {
43047		objectMap["ApplicationTypeName"] = sce.ApplicationTypeName
43048	}
43049	if sce.ServiceInstance != nil {
43050		objectMap["ServiceInstance"] = sce.ServiceInstance
43051	}
43052	if sce.IsStateful != nil {
43053		objectMap["IsStateful"] = sce.IsStateful
43054	}
43055	if sce.PartitionCount != nil {
43056		objectMap["PartitionCount"] = sce.PartitionCount
43057	}
43058	if sce.TargetReplicaSetSize != nil {
43059		objectMap["TargetReplicaSetSize"] = sce.TargetReplicaSetSize
43060	}
43061	if sce.MinReplicaSetSize != nil {
43062		objectMap["MinReplicaSetSize"] = sce.MinReplicaSetSize
43063	}
43064	if sce.ServicePackageVersion != nil {
43065		objectMap["ServicePackageVersion"] = sce.ServicePackageVersion
43066	}
43067	if sce.PartitionID != nil {
43068		objectMap["PartitionId"] = sce.PartitionID
43069	}
43070	if sce.ServiceID != nil {
43071		objectMap["ServiceId"] = sce.ServiceID
43072	}
43073	if sce.EventInstanceID != nil {
43074		objectMap["EventInstanceId"] = sce.EventInstanceID
43075	}
43076	if sce.TimeStamp != nil {
43077		objectMap["TimeStamp"] = sce.TimeStamp
43078	}
43079	if sce.HasCorrelatedEvents != nil {
43080		objectMap["HasCorrelatedEvents"] = sce.HasCorrelatedEvents
43081	}
43082	if sce.Kind != "" {
43083		objectMap["Kind"] = sce.Kind
43084	}
43085	return json.Marshal(objectMap)
43086}
43087
43088// AsApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43089func (sce ServiceCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
43090	return nil, false
43091}
43092
43093// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43094func (sce ServiceCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
43095	return nil, false
43096}
43097
43098// AsClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43099func (sce ServiceCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
43100	return nil, false
43101}
43102
43103// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43104func (sce ServiceCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
43105	return nil, false
43106}
43107
43108// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43109func (sce ServiceCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
43110	return nil, false
43111}
43112
43113// AsNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43114func (sce ServiceCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
43115	return nil, false
43116}
43117
43118// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43119func (sce ServiceCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
43120	return nil, false
43121}
43122
43123// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43124func (sce ServiceCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
43125	return nil, false
43126}
43127
43128// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43129func (sce ServiceCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
43130	return nil, false
43131}
43132
43133// AsPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43134func (sce ServiceCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
43135	return nil, false
43136}
43137
43138// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43139func (sce ServiceCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
43140	return nil, false
43141}
43142
43143// AsReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43144func (sce ServiceCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
43145	return nil, false
43146}
43147
43148// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43149func (sce ServiceCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
43150	return nil, false
43151}
43152
43153// AsServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43154func (sce ServiceCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
43155	return nil, false
43156}
43157
43158// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43159func (sce ServiceCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
43160	return &sce, true
43161}
43162
43163// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43164func (sce ServiceCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
43165	return nil, false
43166}
43167
43168// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43169func (sce ServiceCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
43170	return nil, false
43171}
43172
43173// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43174func (sce ServiceCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
43175	return nil, false
43176}
43177
43178// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43179func (sce ServiceCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
43180	return nil, false
43181}
43182
43183// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43184func (sce ServiceCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
43185	return nil, false
43186}
43187
43188// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43189func (sce ServiceCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
43190	return nil, false
43191}
43192
43193// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43194func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
43195	return nil, false
43196}
43197
43198// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43199func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
43200	return nil, false
43201}
43202
43203// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43204func (sce ServiceCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
43205	return nil, false
43206}
43207
43208// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43209func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
43210	return nil, false
43211}
43212
43213// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43214func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
43215	return nil, false
43216}
43217
43218// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43219func (sce ServiceCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
43220	return nil, false
43221}
43222
43223// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43224func (sce ServiceCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
43225	return nil, false
43226}
43227
43228// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43229func (sce ServiceCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
43230	return nil, false
43231}
43232
43233// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43234func (sce ServiceCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
43235	return nil, false
43236}
43237
43238// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43239func (sce ServiceCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
43240	return nil, false
43241}
43242
43243// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43244func (sce ServiceCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
43245	return nil, false
43246}
43247
43248// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43249func (sce ServiceCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
43250	return nil, false
43251}
43252
43253// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43254func (sce ServiceCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
43255	return nil, false
43256}
43257
43258// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43259func (sce ServiceCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
43260	return nil, false
43261}
43262
43263// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43264func (sce ServiceCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
43265	return nil, false
43266}
43267
43268// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43269func (sce ServiceCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
43270	return nil, false
43271}
43272
43273// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43274func (sce ServiceCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
43275	return nil, false
43276}
43277
43278// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43279func (sce ServiceCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
43280	return nil, false
43281}
43282
43283// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43284func (sce ServiceCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
43285	return nil, false
43286}
43287
43288// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43289func (sce ServiceCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
43290	return nil, false
43291}
43292
43293// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43294func (sce ServiceCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
43295	return nil, false
43296}
43297
43298// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43299func (sce ServiceCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
43300	return nil, false
43301}
43302
43303// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43304func (sce ServiceCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
43305	return nil, false
43306}
43307
43308// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43309func (sce ServiceCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
43310	return nil, false
43311}
43312
43313// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43314func (sce ServiceCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
43315	return nil, false
43316}
43317
43318// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43319func (sce ServiceCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
43320	return nil, false
43321}
43322
43323// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43324func (sce ServiceCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
43325	return &sce, true
43326}
43327
43328// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43329func (sce ServiceCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
43330	return nil, false
43331}
43332
43333// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43334func (sce ServiceCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
43335	return nil, false
43336}
43337
43338// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43339func (sce ServiceCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
43340	return nil, false
43341}
43342
43343// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43344func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
43345	return nil, false
43346}
43347
43348// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43349func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
43350	return nil, false
43351}
43352
43353// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43354func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
43355	return nil, false
43356}
43357
43358// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43359func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
43360	return nil, false
43361}
43362
43363// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43364func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
43365	return nil, false
43366}
43367
43368// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43369func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
43370	return nil, false
43371}
43372
43373// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43374func (sce ServiceCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
43375	return nil, false
43376}
43377
43378// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43379func (sce ServiceCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
43380	return nil, false
43381}
43382
43383// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43384func (sce ServiceCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
43385	return nil, false
43386}
43387
43388// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43389func (sce ServiceCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
43390	return nil, false
43391}
43392
43393// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43394func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
43395	return nil, false
43396}
43397
43398// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43399func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
43400	return nil, false
43401}
43402
43403// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43404func (sce ServiceCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
43405	return nil, false
43406}
43407
43408// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43409func (sce ServiceCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
43410	return nil, false
43411}
43412
43413// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43414func (sce ServiceCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
43415	return nil, false
43416}
43417
43418// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43419func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
43420	return nil, false
43421}
43422
43423// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43424func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
43425	return nil, false
43426}
43427
43428// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43429func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
43430	return nil, false
43431}
43432
43433// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43434func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
43435	return nil, false
43436}
43437
43438// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43439func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
43440	return nil, false
43441}
43442
43443// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43444func (sce ServiceCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
43445	return nil, false
43446}
43447
43448// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43449func (sce ServiceCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
43450	return nil, false
43451}
43452
43453// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43454func (sce ServiceCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
43455	return nil, false
43456}
43457
43458// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43459func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
43460	return nil, false
43461}
43462
43463// AsFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43464func (sce ServiceCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
43465	return nil, false
43466}
43467
43468// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43469func (sce ServiceCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
43470	return &sce, true
43471}
43472
43473// ServiceDeletedEvent service Deleted event.
43474type ServiceDeletedEvent struct {
43475	// ServiceTypeName - Service type name.
43476	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
43477	// ApplicationName - Application name.
43478	ApplicationName *string `json:"ApplicationName,omitempty"`
43479	// ApplicationTypeName - Application type name.
43480	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
43481	// ServiceInstance - Id of Service instance.
43482	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
43483	// IsStateful - Indicates if Service is stateful.
43484	IsStateful *bool `json:"IsStateful,omitempty"`
43485	// PartitionCount - Number of partitions.
43486	PartitionCount *int32 `json:"PartitionCount,omitempty"`
43487	// TargetReplicaSetSize - Size of target replicas set.
43488	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
43489	// MinReplicaSetSize - Minimum size of replicas set.
43490	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
43491	// ServicePackageVersion - Version of Service package.
43492	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
43493	// 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.
43494	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
43495	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
43496	ServiceID *string `json:"ServiceId,omitempty"`
43497	// EventInstanceID - The identifier for the FabricEvent instance.
43498	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
43499	// TimeStamp - The time event was logged.
43500	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
43501	// HasCorrelatedEvents - Shows there is existing related events available.
43502	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
43503	// 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'
43504	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
43505}
43506
43507// MarshalJSON is the custom marshaler for ServiceDeletedEvent.
43508func (sde ServiceDeletedEvent) MarshalJSON() ([]byte, error) {
43509	sde.Kind = KindServiceDeleted
43510	objectMap := make(map[string]interface{})
43511	if sde.ServiceTypeName != nil {
43512		objectMap["ServiceTypeName"] = sde.ServiceTypeName
43513	}
43514	if sde.ApplicationName != nil {
43515		objectMap["ApplicationName"] = sde.ApplicationName
43516	}
43517	if sde.ApplicationTypeName != nil {
43518		objectMap["ApplicationTypeName"] = sde.ApplicationTypeName
43519	}
43520	if sde.ServiceInstance != nil {
43521		objectMap["ServiceInstance"] = sde.ServiceInstance
43522	}
43523	if sde.IsStateful != nil {
43524		objectMap["IsStateful"] = sde.IsStateful
43525	}
43526	if sde.PartitionCount != nil {
43527		objectMap["PartitionCount"] = sde.PartitionCount
43528	}
43529	if sde.TargetReplicaSetSize != nil {
43530		objectMap["TargetReplicaSetSize"] = sde.TargetReplicaSetSize
43531	}
43532	if sde.MinReplicaSetSize != nil {
43533		objectMap["MinReplicaSetSize"] = sde.MinReplicaSetSize
43534	}
43535	if sde.ServicePackageVersion != nil {
43536		objectMap["ServicePackageVersion"] = sde.ServicePackageVersion
43537	}
43538	if sde.ServiceID != nil {
43539		objectMap["ServiceId"] = sde.ServiceID
43540	}
43541	if sde.EventInstanceID != nil {
43542		objectMap["EventInstanceId"] = sde.EventInstanceID
43543	}
43544	if sde.TimeStamp != nil {
43545		objectMap["TimeStamp"] = sde.TimeStamp
43546	}
43547	if sde.HasCorrelatedEvents != nil {
43548		objectMap["HasCorrelatedEvents"] = sde.HasCorrelatedEvents
43549	}
43550	if sde.Kind != "" {
43551		objectMap["Kind"] = sde.Kind
43552	}
43553	return json.Marshal(objectMap)
43554}
43555
43556// AsApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43557func (sde ServiceDeletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
43558	return nil, false
43559}
43560
43561// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43562func (sde ServiceDeletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
43563	return nil, false
43564}
43565
43566// AsClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43567func (sde ServiceDeletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
43568	return nil, false
43569}
43570
43571// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43572func (sde ServiceDeletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
43573	return nil, false
43574}
43575
43576// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43577func (sde ServiceDeletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
43578	return nil, false
43579}
43580
43581// AsNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43582func (sde ServiceDeletedEvent) AsNodeEvent() (*NodeEvent, bool) {
43583	return nil, false
43584}
43585
43586// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43587func (sde ServiceDeletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
43588	return nil, false
43589}
43590
43591// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43592func (sde ServiceDeletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
43593	return nil, false
43594}
43595
43596// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43597func (sde ServiceDeletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
43598	return nil, false
43599}
43600
43601// AsPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43602func (sde ServiceDeletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
43603	return nil, false
43604}
43605
43606// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43607func (sde ServiceDeletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
43608	return nil, false
43609}
43610
43611// AsReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43612func (sde ServiceDeletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
43613	return nil, false
43614}
43615
43616// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43617func (sde ServiceDeletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
43618	return nil, false
43619}
43620
43621// AsServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43622func (sde ServiceDeletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
43623	return nil, false
43624}
43625
43626// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43627func (sde ServiceDeletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
43628	return &sde, true
43629}
43630
43631// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43632func (sde ServiceDeletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
43633	return nil, false
43634}
43635
43636// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43637func (sde ServiceDeletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
43638	return nil, false
43639}
43640
43641// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43642func (sde ServiceDeletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
43643	return nil, false
43644}
43645
43646// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43647func (sde ServiceDeletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
43648	return nil, false
43649}
43650
43651// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43652func (sde ServiceDeletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
43653	return nil, false
43654}
43655
43656// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43657func (sde ServiceDeletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
43658	return nil, false
43659}
43660
43661// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43662func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
43663	return nil, false
43664}
43665
43666// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43667func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
43668	return nil, false
43669}
43670
43671// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43672func (sde ServiceDeletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
43673	return nil, false
43674}
43675
43676// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43677func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
43678	return nil, false
43679}
43680
43681// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43682func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
43683	return nil, false
43684}
43685
43686// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43687func (sde ServiceDeletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
43688	return nil, false
43689}
43690
43691// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43692func (sde ServiceDeletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
43693	return nil, false
43694}
43695
43696// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43697func (sde ServiceDeletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
43698	return nil, false
43699}
43700
43701// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43702func (sde ServiceDeletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
43703	return nil, false
43704}
43705
43706// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43707func (sde ServiceDeletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
43708	return nil, false
43709}
43710
43711// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43712func (sde ServiceDeletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
43713	return nil, false
43714}
43715
43716// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43717func (sde ServiceDeletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
43718	return nil, false
43719}
43720
43721// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43722func (sde ServiceDeletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
43723	return nil, false
43724}
43725
43726// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43727func (sde ServiceDeletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
43728	return nil, false
43729}
43730
43731// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43732func (sde ServiceDeletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
43733	return nil, false
43734}
43735
43736// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43737func (sde ServiceDeletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
43738	return nil, false
43739}
43740
43741// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43742func (sde ServiceDeletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
43743	return nil, false
43744}
43745
43746// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43747func (sde ServiceDeletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
43748	return nil, false
43749}
43750
43751// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43752func (sde ServiceDeletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
43753	return nil, false
43754}
43755
43756// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43757func (sde ServiceDeletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
43758	return nil, false
43759}
43760
43761// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43762func (sde ServiceDeletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
43763	return nil, false
43764}
43765
43766// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43767func (sde ServiceDeletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
43768	return nil, false
43769}
43770
43771// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43772func (sde ServiceDeletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
43773	return nil, false
43774}
43775
43776// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43777func (sde ServiceDeletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
43778	return nil, false
43779}
43780
43781// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43782func (sde ServiceDeletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
43783	return nil, false
43784}
43785
43786// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43787func (sde ServiceDeletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
43788	return nil, false
43789}
43790
43791// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43792func (sde ServiceDeletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
43793	return nil, false
43794}
43795
43796// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43797func (sde ServiceDeletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
43798	return &sde, true
43799}
43800
43801// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43802func (sde ServiceDeletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
43803	return nil, false
43804}
43805
43806// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43807func (sde ServiceDeletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
43808	return nil, false
43809}
43810
43811// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43812func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
43813	return nil, false
43814}
43815
43816// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43817func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
43818	return nil, false
43819}
43820
43821// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43822func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
43823	return nil, false
43824}
43825
43826// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43827func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
43828	return nil, false
43829}
43830
43831// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43832func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
43833	return nil, false
43834}
43835
43836// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43837func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
43838	return nil, false
43839}
43840
43841// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43842func (sde ServiceDeletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
43843	return nil, false
43844}
43845
43846// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43847func (sde ServiceDeletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
43848	return nil, false
43849}
43850
43851// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43852func (sde ServiceDeletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
43853	return nil, false
43854}
43855
43856// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43857func (sde ServiceDeletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
43858	return nil, false
43859}
43860
43861// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43862func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
43863	return nil, false
43864}
43865
43866// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43867func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
43868	return nil, false
43869}
43870
43871// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43872func (sde ServiceDeletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
43873	return nil, false
43874}
43875
43876// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43877func (sde ServiceDeletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
43878	return nil, false
43879}
43880
43881// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43882func (sde ServiceDeletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
43883	return nil, false
43884}
43885
43886// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43887func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
43888	return nil, false
43889}
43890
43891// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43892func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
43893	return nil, false
43894}
43895
43896// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43897func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
43898	return nil, false
43899}
43900
43901// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43902func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
43903	return nil, false
43904}
43905
43906// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43907func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
43908	return nil, false
43909}
43910
43911// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43912func (sde ServiceDeletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
43913	return nil, false
43914}
43915
43916// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43917func (sde ServiceDeletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
43918	return nil, false
43919}
43920
43921// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43922func (sde ServiceDeletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
43923	return nil, false
43924}
43925
43926// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43927func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
43928	return nil, false
43929}
43930
43931// AsFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43932func (sde ServiceDeletedEvent) AsFabricEvent() (*FabricEvent, bool) {
43933	return nil, false
43934}
43935
43936// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
43937func (sde ServiceDeletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
43938	return &sde, true
43939}
43940
43941// BasicServiceDescription a ServiceDescription contains all of the information necessary to create a service.
43942type BasicServiceDescription interface {
43943	AsStatefulServiceDescription() (*StatefulServiceDescription, bool)
43944	AsStatelessServiceDescription() (*StatelessServiceDescription, bool)
43945	AsServiceDescription() (*ServiceDescription, bool)
43946}
43947
43948// ServiceDescription a ServiceDescription contains all of the information necessary to create a service.
43949type ServiceDescription struct {
43950	autorest.Response `json:"-"`
43951	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
43952	ApplicationName *string `json:"ApplicationName,omitempty"`
43953	// ServiceName - The full name of the service with 'fabric:' URI scheme.
43954	ServiceName *string `json:"ServiceName,omitempty"`
43955	// ServiceTypeName - Name of the service type as specified in the service manifest.
43956	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
43957	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
43958	InitializationData *[]int32 `json:"InitializationData,omitempty"`
43959	// PartitionDescription - The partition description as an object.
43960	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
43961	// 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)".
43962	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
43963	// CorrelationScheme - The correlation scheme.
43964	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
43965	// ServiceLoadMetrics - The service load metrics.
43966	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
43967	// ServicePlacementPolicies - The service placement policies.
43968	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
43969	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
43970	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
43971	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
43972	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
43973	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
43974	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
43975	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
43976	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
43977	// ScalingPolicies - Scaling policies for this service.
43978	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
43979	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
43980	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
43981}
43982
43983func unmarshalBasicServiceDescription(body []byte) (BasicServiceDescription, error) {
43984	var m map[string]interface{}
43985	err := json.Unmarshal(body, &m)
43986	if err != nil {
43987		return nil, err
43988	}
43989
43990	switch m["ServiceKind"] {
43991	case string(ServiceKindBasicServiceDescriptionServiceKindStateful):
43992		var ssd StatefulServiceDescription
43993		err := json.Unmarshal(body, &ssd)
43994		return ssd, err
43995	case string(ServiceKindBasicServiceDescriptionServiceKindStateless):
43996		var ssd StatelessServiceDescription
43997		err := json.Unmarshal(body, &ssd)
43998		return ssd, err
43999	default:
44000		var sd ServiceDescription
44001		err := json.Unmarshal(body, &sd)
44002		return sd, err
44003	}
44004}
44005func unmarshalBasicServiceDescriptionArray(body []byte) ([]BasicServiceDescription, error) {
44006	var rawMessages []*json.RawMessage
44007	err := json.Unmarshal(body, &rawMessages)
44008	if err != nil {
44009		return nil, err
44010	}
44011
44012	sdArray := make([]BasicServiceDescription, len(rawMessages))
44013
44014	for index, rawMessage := range rawMessages {
44015		sd, err := unmarshalBasicServiceDescription(*rawMessage)
44016		if err != nil {
44017			return nil, err
44018		}
44019		sdArray[index] = sd
44020	}
44021	return sdArray, nil
44022}
44023
44024// MarshalJSON is the custom marshaler for ServiceDescription.
44025func (sd ServiceDescription) MarshalJSON() ([]byte, error) {
44026	sd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindServiceDescription
44027	objectMap := make(map[string]interface{})
44028	if sd.ApplicationName != nil {
44029		objectMap["ApplicationName"] = sd.ApplicationName
44030	}
44031	if sd.ServiceName != nil {
44032		objectMap["ServiceName"] = sd.ServiceName
44033	}
44034	if sd.ServiceTypeName != nil {
44035		objectMap["ServiceTypeName"] = sd.ServiceTypeName
44036	}
44037	if sd.InitializationData != nil {
44038		objectMap["InitializationData"] = sd.InitializationData
44039	}
44040	objectMap["PartitionDescription"] = sd.PartitionDescription
44041	if sd.PlacementConstraints != nil {
44042		objectMap["PlacementConstraints"] = sd.PlacementConstraints
44043	}
44044	if sd.CorrelationScheme != nil {
44045		objectMap["CorrelationScheme"] = sd.CorrelationScheme
44046	}
44047	if sd.ServiceLoadMetrics != nil {
44048		objectMap["ServiceLoadMetrics"] = sd.ServiceLoadMetrics
44049	}
44050	if sd.ServicePlacementPolicies != nil {
44051		objectMap["ServicePlacementPolicies"] = sd.ServicePlacementPolicies
44052	}
44053	if sd.DefaultMoveCost != "" {
44054		objectMap["DefaultMoveCost"] = sd.DefaultMoveCost
44055	}
44056	if sd.IsDefaultMoveCostSpecified != nil {
44057		objectMap["IsDefaultMoveCostSpecified"] = sd.IsDefaultMoveCostSpecified
44058	}
44059	if sd.ServicePackageActivationMode != "" {
44060		objectMap["ServicePackageActivationMode"] = sd.ServicePackageActivationMode
44061	}
44062	if sd.ServiceDNSName != nil {
44063		objectMap["ServiceDnsName"] = sd.ServiceDNSName
44064	}
44065	if sd.ScalingPolicies != nil {
44066		objectMap["ScalingPolicies"] = sd.ScalingPolicies
44067	}
44068	if sd.ServiceKind != "" {
44069		objectMap["ServiceKind"] = sd.ServiceKind
44070	}
44071	return json.Marshal(objectMap)
44072}
44073
44074// AsStatefulServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44075func (sd ServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
44076	return nil, false
44077}
44078
44079// AsStatelessServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44080func (sd ServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
44081	return nil, false
44082}
44083
44084// AsServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44085func (sd ServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
44086	return &sd, true
44087}
44088
44089// AsBasicServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44090func (sd ServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
44091	return &sd, true
44092}
44093
44094// UnmarshalJSON is the custom unmarshaler for ServiceDescription struct.
44095func (sd *ServiceDescription) UnmarshalJSON(body []byte) error {
44096	var m map[string]*json.RawMessage
44097	err := json.Unmarshal(body, &m)
44098	if err != nil {
44099		return err
44100	}
44101	for k, v := range m {
44102		switch k {
44103		case "ApplicationName":
44104			if v != nil {
44105				var applicationName string
44106				err = json.Unmarshal(*v, &applicationName)
44107				if err != nil {
44108					return err
44109				}
44110				sd.ApplicationName = &applicationName
44111			}
44112		case "ServiceName":
44113			if v != nil {
44114				var serviceName string
44115				err = json.Unmarshal(*v, &serviceName)
44116				if err != nil {
44117					return err
44118				}
44119				sd.ServiceName = &serviceName
44120			}
44121		case "ServiceTypeName":
44122			if v != nil {
44123				var serviceTypeName string
44124				err = json.Unmarshal(*v, &serviceTypeName)
44125				if err != nil {
44126					return err
44127				}
44128				sd.ServiceTypeName = &serviceTypeName
44129			}
44130		case "InitializationData":
44131			if v != nil {
44132				var initializationData []int32
44133				err = json.Unmarshal(*v, &initializationData)
44134				if err != nil {
44135					return err
44136				}
44137				sd.InitializationData = &initializationData
44138			}
44139		case "PartitionDescription":
44140			if v != nil {
44141				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
44142				if err != nil {
44143					return err
44144				}
44145				sd.PartitionDescription = partitionDescription
44146			}
44147		case "PlacementConstraints":
44148			if v != nil {
44149				var placementConstraints string
44150				err = json.Unmarshal(*v, &placementConstraints)
44151				if err != nil {
44152					return err
44153				}
44154				sd.PlacementConstraints = &placementConstraints
44155			}
44156		case "CorrelationScheme":
44157			if v != nil {
44158				var correlationScheme []ServiceCorrelationDescription
44159				err = json.Unmarshal(*v, &correlationScheme)
44160				if err != nil {
44161					return err
44162				}
44163				sd.CorrelationScheme = &correlationScheme
44164			}
44165		case "ServiceLoadMetrics":
44166			if v != nil {
44167				var serviceLoadMetrics []ServiceLoadMetricDescription
44168				err = json.Unmarshal(*v, &serviceLoadMetrics)
44169				if err != nil {
44170					return err
44171				}
44172				sd.ServiceLoadMetrics = &serviceLoadMetrics
44173			}
44174		case "ServicePlacementPolicies":
44175			if v != nil {
44176				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
44177				if err != nil {
44178					return err
44179				}
44180				sd.ServicePlacementPolicies = &servicePlacementPolicies
44181			}
44182		case "DefaultMoveCost":
44183			if v != nil {
44184				var defaultMoveCost MoveCost
44185				err = json.Unmarshal(*v, &defaultMoveCost)
44186				if err != nil {
44187					return err
44188				}
44189				sd.DefaultMoveCost = defaultMoveCost
44190			}
44191		case "IsDefaultMoveCostSpecified":
44192			if v != nil {
44193				var isDefaultMoveCostSpecified bool
44194				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
44195				if err != nil {
44196					return err
44197				}
44198				sd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
44199			}
44200		case "ServicePackageActivationMode":
44201			if v != nil {
44202				var servicePackageActivationMode ServicePackageActivationMode
44203				err = json.Unmarshal(*v, &servicePackageActivationMode)
44204				if err != nil {
44205					return err
44206				}
44207				sd.ServicePackageActivationMode = servicePackageActivationMode
44208			}
44209		case "ServiceDnsName":
44210			if v != nil {
44211				var serviceDNSName string
44212				err = json.Unmarshal(*v, &serviceDNSName)
44213				if err != nil {
44214					return err
44215				}
44216				sd.ServiceDNSName = &serviceDNSName
44217			}
44218		case "ScalingPolicies":
44219			if v != nil {
44220				var scalingPolicies []ScalingPolicyDescription
44221				err = json.Unmarshal(*v, &scalingPolicies)
44222				if err != nil {
44223					return err
44224				}
44225				sd.ScalingPolicies = &scalingPolicies
44226			}
44227		case "ServiceKind":
44228			if v != nil {
44229				var serviceKind ServiceKindBasicServiceDescription
44230				err = json.Unmarshal(*v, &serviceKind)
44231				if err != nil {
44232					return err
44233				}
44234				sd.ServiceKind = serviceKind
44235			}
44236		}
44237	}
44238
44239	return nil
44240}
44241
44242// ServiceDescriptionModel ...
44243type ServiceDescriptionModel struct {
44244	autorest.Response `json:"-"`
44245	Value             BasicServiceDescription `json:"value,omitempty"`
44246}
44247
44248// UnmarshalJSON is the custom unmarshaler for ServiceDescriptionModel struct.
44249func (sdm *ServiceDescriptionModel) UnmarshalJSON(body []byte) error {
44250	sd, err := unmarshalBasicServiceDescription(body)
44251	if err != nil {
44252		return err
44253	}
44254	sdm.Value = sd
44255
44256	return nil
44257}
44258
44259// BasicServiceEvent represents the base for all Service Events.
44260type BasicServiceEvent interface {
44261	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
44262	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
44263	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
44264	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
44265	AsServiceEvent() (*ServiceEvent, bool)
44266}
44267
44268// ServiceEvent represents the base for all Service Events.
44269type ServiceEvent struct {
44270	// 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.
44271	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
44272	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
44273	ServiceID *string `json:"ServiceId,omitempty"`
44274	// EventInstanceID - The identifier for the FabricEvent instance.
44275	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
44276	// TimeStamp - The time event was logged.
44277	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
44278	// HasCorrelatedEvents - Shows there is existing related events available.
44279	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
44280	// 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'
44281	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
44282}
44283
44284func unmarshalBasicServiceEvent(body []byte) (BasicServiceEvent, error) {
44285	var m map[string]interface{}
44286	err := json.Unmarshal(body, &m)
44287	if err != nil {
44288		return nil, err
44289	}
44290
44291	switch m["Kind"] {
44292	case string(KindServiceCreated):
44293		var sce ServiceCreatedEvent
44294		err := json.Unmarshal(body, &sce)
44295		return sce, err
44296	case string(KindServiceDeleted):
44297		var sde ServiceDeletedEvent
44298		err := json.Unmarshal(body, &sde)
44299		return sde, err
44300	case string(KindServiceHealthReportCreated):
44301		var shrce ServiceHealthReportCreatedEvent
44302		err := json.Unmarshal(body, &shrce)
44303		return shrce, err
44304	case string(KindServiceHealthReportExpired):
44305		var shree ServiceHealthReportExpiredEvent
44306		err := json.Unmarshal(body, &shree)
44307		return shree, err
44308	default:
44309		var se ServiceEvent
44310		err := json.Unmarshal(body, &se)
44311		return se, err
44312	}
44313}
44314func unmarshalBasicServiceEventArray(body []byte) ([]BasicServiceEvent, error) {
44315	var rawMessages []*json.RawMessage
44316	err := json.Unmarshal(body, &rawMessages)
44317	if err != nil {
44318		return nil, err
44319	}
44320
44321	seArray := make([]BasicServiceEvent, len(rawMessages))
44322
44323	for index, rawMessage := range rawMessages {
44324		se, err := unmarshalBasicServiceEvent(*rawMessage)
44325		if err != nil {
44326			return nil, err
44327		}
44328		seArray[index] = se
44329	}
44330	return seArray, nil
44331}
44332
44333// MarshalJSON is the custom marshaler for ServiceEvent.
44334func (se ServiceEvent) MarshalJSON() ([]byte, error) {
44335	se.Kind = KindServiceEvent
44336	objectMap := make(map[string]interface{})
44337	if se.ServiceID != nil {
44338		objectMap["ServiceId"] = se.ServiceID
44339	}
44340	if se.EventInstanceID != nil {
44341		objectMap["EventInstanceId"] = se.EventInstanceID
44342	}
44343	if se.TimeStamp != nil {
44344		objectMap["TimeStamp"] = se.TimeStamp
44345	}
44346	if se.HasCorrelatedEvents != nil {
44347		objectMap["HasCorrelatedEvents"] = se.HasCorrelatedEvents
44348	}
44349	if se.Kind != "" {
44350		objectMap["Kind"] = se.Kind
44351	}
44352	return json.Marshal(objectMap)
44353}
44354
44355// AsApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
44356func (se ServiceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
44357	return nil, false
44358}
44359
44360// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
44361func (se ServiceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
44362	return nil, false
44363}
44364
44365// AsClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
44366func (se ServiceEvent) AsClusterEvent() (*ClusterEvent, bool) {
44367	return nil, false
44368}
44369
44370// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
44371func (se ServiceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
44372	return nil, false
44373}
44374
44375// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceEvent.
44376func (se ServiceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
44377	return nil, false
44378}
44379
44380// AsNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
44381func (se ServiceEvent) AsNodeEvent() (*NodeEvent, bool) {
44382	return nil, false
44383}
44384
44385// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
44386func (se ServiceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
44387	return nil, false
44388}
44389
44390// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
44391func (se ServiceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
44392	return nil, false
44393}
44394
44395// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
44396func (se ServiceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
44397	return nil, false
44398}
44399
44400// AsPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
44401func (se ServiceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
44402	return nil, false
44403}
44404
44405// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
44406func (se ServiceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
44407	return nil, false
44408}
44409
44410// AsReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
44411func (se ServiceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
44412	return nil, false
44413}
44414
44415// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
44416func (se ServiceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
44417	return nil, false
44418}
44419
44420// AsServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
44421func (se ServiceEvent) AsServiceEvent() (*ServiceEvent, bool) {
44422	return &se, true
44423}
44424
44425// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
44426func (se ServiceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
44427	return &se, true
44428}
44429
44430// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44431func (se ServiceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
44432	return nil, false
44433}
44434
44435// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
44436func (se ServiceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
44437	return nil, false
44438}
44439
44440// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44441func (se ServiceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
44442	return nil, false
44443}
44444
44445// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44446func (se ServiceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
44447	return nil, false
44448}
44449
44450// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44451func (se ServiceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
44452	return nil, false
44453}
44454
44455// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44456func (se ServiceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
44457	return nil, false
44458}
44459
44460// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44461func (se ServiceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
44462	return nil, false
44463}
44464
44465// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
44466func (se ServiceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
44467	return nil, false
44468}
44469
44470// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
44471func (se ServiceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
44472	return nil, false
44473}
44474
44475// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44476func (se ServiceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
44477	return nil, false
44478}
44479
44480// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44481func (se ServiceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
44482	return nil, false
44483}
44484
44485// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44486func (se ServiceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
44487	return nil, false
44488}
44489
44490// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44491func (se ServiceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
44492	return nil, false
44493}
44494
44495// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceEvent.
44496func (se ServiceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
44497	return nil, false
44498}
44499
44500// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceEvent.
44501func (se ServiceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
44502	return nil, false
44503}
44504
44505// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceEvent.
44506func (se ServiceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
44507	return nil, false
44508}
44509
44510// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceEvent.
44511func (se ServiceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
44512	return nil, false
44513}
44514
44515// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceEvent.
44516func (se ServiceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
44517	return nil, false
44518}
44519
44520// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44521func (se ServiceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
44522	return nil, false
44523}
44524
44525// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceEvent.
44526func (se ServiceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
44527	return nil, false
44528}
44529
44530// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceEvent.
44531func (se ServiceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
44532	return nil, false
44533}
44534
44535// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44536func (se ServiceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
44537	return nil, false
44538}
44539
44540// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44541func (se ServiceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
44542	return nil, false
44543}
44544
44545// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceEvent.
44546func (se ServiceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
44547	return nil, false
44548}
44549
44550// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceEvent.
44551func (se ServiceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
44552	return nil, false
44553}
44554
44555// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceEvent.
44556func (se ServiceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
44557	return nil, false
44558}
44559
44560// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceEvent.
44561func (se ServiceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
44562	return nil, false
44563}
44564
44565// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceEvent.
44566func (se ServiceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
44567	return nil, false
44568}
44569
44570// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44571func (se ServiceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
44572	return nil, false
44573}
44574
44575// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44576func (se ServiceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
44577	return nil, false
44578}
44579
44580// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
44581func (se ServiceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
44582	return nil, false
44583}
44584
44585// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
44586func (se ServiceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
44587	return nil, false
44588}
44589
44590// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44591func (se ServiceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
44592	return nil, false
44593}
44594
44595// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
44596func (se ServiceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
44597	return nil, false
44598}
44599
44600// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44601func (se ServiceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
44602	return nil, false
44603}
44604
44605// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44606func (se ServiceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
44607	return nil, false
44608}
44609
44610// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44611func (se ServiceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
44612	return nil, false
44613}
44614
44615// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44616func (se ServiceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
44617	return nil, false
44618}
44619
44620// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44621func (se ServiceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
44622	return nil, false
44623}
44624
44625// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44626func (se ServiceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
44627	return nil, false
44628}
44629
44630// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44631func (se ServiceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
44632	return nil, false
44633}
44634
44635// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44636func (se ServiceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
44637	return nil, false
44638}
44639
44640// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44641func (se ServiceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
44642	return nil, false
44643}
44644
44645// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44646func (se ServiceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
44647	return nil, false
44648}
44649
44650// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44651func (se ServiceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
44652	return nil, false
44653}
44654
44655// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44656func (se ServiceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
44657	return nil, false
44658}
44659
44660// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44661func (se ServiceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
44662	return nil, false
44663}
44664
44665// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
44666func (se ServiceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
44667	return nil, false
44668}
44669
44670// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
44671func (se ServiceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
44672	return nil, false
44673}
44674
44675// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceEvent.
44676func (se ServiceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
44677	return nil, false
44678}
44679
44680// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceEvent.
44681func (se ServiceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
44682	return nil, false
44683}
44684
44685// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
44686func (se ServiceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
44687	return nil, false
44688}
44689
44690// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
44691func (se ServiceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
44692	return nil, false
44693}
44694
44695// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
44696func (se ServiceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
44697	return nil, false
44698}
44699
44700// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
44701func (se ServiceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
44702	return nil, false
44703}
44704
44705// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
44706func (se ServiceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
44707	return nil, false
44708}
44709
44710// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
44711func (se ServiceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
44712	return nil, false
44713}
44714
44715// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
44716func (se ServiceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
44717	return nil, false
44718}
44719
44720// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
44721func (se ServiceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
44722	return nil, false
44723}
44724
44725// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
44726func (se ServiceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
44727	return nil, false
44728}
44729
44730// AsFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
44731func (se ServiceEvent) AsFabricEvent() (*FabricEvent, bool) {
44732	return nil, false
44733}
44734
44735// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
44736func (se ServiceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
44737	return &se, true
44738}
44739
44740// ServiceFromTemplateDescription defines description for creating a Service Fabric service from a template defined
44741// in the application manifest.
44742type ServiceFromTemplateDescription struct {
44743	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
44744	ApplicationName *string `json:"ApplicationName,omitempty"`
44745	// ServiceName - The full name of the service with 'fabric:' URI scheme.
44746	ServiceName *string `json:"ServiceName,omitempty"`
44747	// ServiceTypeName - Name of the service type as specified in the service manifest.
44748	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
44749	// InitializationData - The initialization data for the newly created service instance.
44750	InitializationData *[]int32 `json:"InitializationData,omitempty"`
44751	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
44752	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
44753	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
44754	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
44755}
44756
44757// ServiceHealth information about the health of a Service Fabric service.
44758type ServiceHealth struct {
44759	autorest.Response `json:"-"`
44760	// Name - The name of the service whose health information is described by this object.
44761	Name *string `json:"Name,omitempty"`
44762	// PartitionHealthStates - The list of partition health states associated with the service.
44763	PartitionHealthStates *[]PartitionHealthState `json:"PartitionHealthStates,omitempty"`
44764	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
44765	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
44766	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
44767	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
44768	// HealthEvents - The list of health events reported on the entity.
44769	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
44770	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
44771	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
44772	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
44773	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
44774}
44775
44776// ServiceHealthEvaluation represents health evaluation for a service, containing information about the data and
44777// the algorithm used by health store to evaluate health. The evaluation is returned only when the aggregated
44778// health state is either Error or Warning.
44779type ServiceHealthEvaluation struct {
44780	// ServiceName - Name of the service whose health evaluation is described by this object.
44781	ServiceName *string `json:"ServiceName,omitempty"`
44782	// 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.
44783	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
44784	// 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'
44785	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
44786	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
44787	Description *string `json:"Description,omitempty"`
44788	// 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'
44789	Kind Kind `json:"Kind,omitempty"`
44790}
44791
44792// MarshalJSON is the custom marshaler for ServiceHealthEvaluation.
44793func (she ServiceHealthEvaluation) MarshalJSON() ([]byte, error) {
44794	she.Kind = KindService
44795	objectMap := make(map[string]interface{})
44796	if she.ServiceName != nil {
44797		objectMap["ServiceName"] = she.ServiceName
44798	}
44799	if she.UnhealthyEvaluations != nil {
44800		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
44801	}
44802	if she.AggregatedHealthState != "" {
44803		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
44804	}
44805	if she.Description != nil {
44806		objectMap["Description"] = she.Description
44807	}
44808	if she.Kind != "" {
44809		objectMap["Kind"] = she.Kind
44810	}
44811	return json.Marshal(objectMap)
44812}
44813
44814// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44815func (she ServiceHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
44816	return nil, false
44817}
44818
44819// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44820func (she ServiceHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
44821	return nil, false
44822}
44823
44824// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44825func (she ServiceHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
44826	return nil, false
44827}
44828
44829// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44830func (she ServiceHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
44831	return nil, false
44832}
44833
44834// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44835func (she ServiceHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
44836	return nil, false
44837}
44838
44839// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44840func (she ServiceHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
44841	return nil, false
44842}
44843
44844// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44845func (she ServiceHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
44846	return nil, false
44847}
44848
44849// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44850func (she ServiceHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
44851	return nil, false
44852}
44853
44854// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44855func (she ServiceHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
44856	return nil, false
44857}
44858
44859// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44860func (she ServiceHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
44861	return nil, false
44862}
44863
44864// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44865func (she ServiceHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
44866	return nil, false
44867}
44868
44869// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44870func (she ServiceHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
44871	return nil, false
44872}
44873
44874// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44875func (she ServiceHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
44876	return nil, false
44877}
44878
44879// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44880func (she ServiceHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
44881	return nil, false
44882}
44883
44884// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44885func (she ServiceHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
44886	return nil, false
44887}
44888
44889// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44890func (she ServiceHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
44891	return &she, true
44892}
44893
44894// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44895func (she ServiceHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
44896	return nil, false
44897}
44898
44899// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44900func (she ServiceHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
44901	return nil, false
44902}
44903
44904// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44905func (she ServiceHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
44906	return nil, false
44907}
44908
44909// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44910func (she ServiceHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
44911	return nil, false
44912}
44913
44914// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44915func (she ServiceHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
44916	return nil, false
44917}
44918
44919// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
44920func (she ServiceHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
44921	return &she, true
44922}
44923
44924// ServiceHealthReportCreatedEvent service Health Report Created event.
44925type ServiceHealthReportCreatedEvent struct {
44926	// InstanceID - Id of Service instance.
44927	InstanceID *int64 `json:"InstanceId,omitempty"`
44928	// SourceID - Id of report source.
44929	SourceID *string `json:"SourceId,omitempty"`
44930	// Property - Describes the property.
44931	Property *string `json:"Property,omitempty"`
44932	// HealthState - Describes the property health state.
44933	HealthState *string `json:"HealthState,omitempty"`
44934	// TimeToLiveMs - Time to live in milli-seconds.
44935	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
44936	// SequenceNumber - Sequence number of report.
44937	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
44938	// Description - Description of report.
44939	Description *string `json:"Description,omitempty"`
44940	// RemoveWhenExpired - Indicates the removal when it expires.
44941	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
44942	// SourceUtcTimestamp - Source time.
44943	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
44944	// 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.
44945	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
44946	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
44947	ServiceID *string `json:"ServiceId,omitempty"`
44948	// EventInstanceID - The identifier for the FabricEvent instance.
44949	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
44950	// TimeStamp - The time event was logged.
44951	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
44952	// HasCorrelatedEvents - Shows there is existing related events available.
44953	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
44954	// 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'
44955	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
44956}
44957
44958// MarshalJSON is the custom marshaler for ServiceHealthReportCreatedEvent.
44959func (shrce ServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
44960	shrce.Kind = KindServiceHealthReportCreated
44961	objectMap := make(map[string]interface{})
44962	if shrce.InstanceID != nil {
44963		objectMap["InstanceId"] = shrce.InstanceID
44964	}
44965	if shrce.SourceID != nil {
44966		objectMap["SourceId"] = shrce.SourceID
44967	}
44968	if shrce.Property != nil {
44969		objectMap["Property"] = shrce.Property
44970	}
44971	if shrce.HealthState != nil {
44972		objectMap["HealthState"] = shrce.HealthState
44973	}
44974	if shrce.TimeToLiveMs != nil {
44975		objectMap["TimeToLiveMs"] = shrce.TimeToLiveMs
44976	}
44977	if shrce.SequenceNumber != nil {
44978		objectMap["SequenceNumber"] = shrce.SequenceNumber
44979	}
44980	if shrce.Description != nil {
44981		objectMap["Description"] = shrce.Description
44982	}
44983	if shrce.RemoveWhenExpired != nil {
44984		objectMap["RemoveWhenExpired"] = shrce.RemoveWhenExpired
44985	}
44986	if shrce.SourceUtcTimestamp != nil {
44987		objectMap["SourceUtcTimestamp"] = shrce.SourceUtcTimestamp
44988	}
44989	if shrce.ServiceID != nil {
44990		objectMap["ServiceId"] = shrce.ServiceID
44991	}
44992	if shrce.EventInstanceID != nil {
44993		objectMap["EventInstanceId"] = shrce.EventInstanceID
44994	}
44995	if shrce.TimeStamp != nil {
44996		objectMap["TimeStamp"] = shrce.TimeStamp
44997	}
44998	if shrce.HasCorrelatedEvents != nil {
44999		objectMap["HasCorrelatedEvents"] = shrce.HasCorrelatedEvents
45000	}
45001	if shrce.Kind != "" {
45002		objectMap["Kind"] = shrce.Kind
45003	}
45004	return json.Marshal(objectMap)
45005}
45006
45007// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45008func (shrce ServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
45009	return nil, false
45010}
45011
45012// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45013func (shrce ServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
45014	return nil, false
45015}
45016
45017// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45018func (shrce ServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
45019	return nil, false
45020}
45021
45022// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45023func (shrce ServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
45024	return nil, false
45025}
45026
45027// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45028func (shrce ServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
45029	return nil, false
45030}
45031
45032// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45033func (shrce ServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
45034	return nil, false
45035}
45036
45037// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45038func (shrce ServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
45039	return nil, false
45040}
45041
45042// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45043func (shrce ServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
45044	return nil, false
45045}
45046
45047// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45048func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
45049	return nil, false
45050}
45051
45052// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45053func (shrce ServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
45054	return nil, false
45055}
45056
45057// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45058func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
45059	return nil, false
45060}
45061
45062// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45063func (shrce ServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
45064	return nil, false
45065}
45066
45067// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45068func (shrce ServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
45069	return nil, false
45070}
45071
45072// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45073func (shrce ServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
45074	return nil, false
45075}
45076
45077// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45078func (shrce ServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
45079	return &shrce, true
45080}
45081
45082// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45083func (shrce ServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
45084	return nil, false
45085}
45086
45087// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45088func (shrce ServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
45089	return nil, false
45090}
45091
45092// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45093func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
45094	return nil, false
45095}
45096
45097// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45098func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
45099	return nil, false
45100}
45101
45102// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45103func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
45104	return nil, false
45105}
45106
45107// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45108func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
45109	return nil, false
45110}
45111
45112// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45113func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
45114	return nil, false
45115}
45116
45117// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45118func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
45119	return nil, false
45120}
45121
45122// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45123func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
45124	return nil, false
45125}
45126
45127// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45128func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
45129	return nil, false
45130}
45131
45132// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45133func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
45134	return nil, false
45135}
45136
45137// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45138func (shrce ServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
45139	return nil, false
45140}
45141
45142// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45143func (shrce ServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
45144	return nil, false
45145}
45146
45147// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45148func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
45149	return nil, false
45150}
45151
45152// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45153func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
45154	return nil, false
45155}
45156
45157// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45158func (shrce ServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
45159	return nil, false
45160}
45161
45162// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45163func (shrce ServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
45164	return nil, false
45165}
45166
45167// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45168func (shrce ServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
45169	return nil, false
45170}
45171
45172// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45173func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
45174	return nil, false
45175}
45176
45177// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45178func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
45179	return nil, false
45180}
45181
45182// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45183func (shrce ServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
45184	return nil, false
45185}
45186
45187// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45188func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
45189	return nil, false
45190}
45191
45192// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45193func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
45194	return nil, false
45195}
45196
45197// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45198func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
45199	return nil, false
45200}
45201
45202// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45203func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
45204	return nil, false
45205}
45206
45207// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45208func (shrce ServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
45209	return nil, false
45210}
45211
45212// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45213func (shrce ServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
45214	return nil, false
45215}
45216
45217// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45218func (shrce ServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
45219	return nil, false
45220}
45221
45222// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45223func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
45224	return nil, false
45225}
45226
45227// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45228func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
45229	return nil, false
45230}
45231
45232// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45233func (shrce ServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
45234	return nil, false
45235}
45236
45237// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45238func (shrce ServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
45239	return nil, false
45240}
45241
45242// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45243func (shrce ServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
45244	return nil, false
45245}
45246
45247// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45248func (shrce ServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
45249	return nil, false
45250}
45251
45252// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45253func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
45254	return &shrce, true
45255}
45256
45257// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45258func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
45259	return nil, false
45260}
45261
45262// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45263func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
45264	return nil, false
45265}
45266
45267// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45268func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
45269	return nil, false
45270}
45271
45272// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45273func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
45274	return nil, false
45275}
45276
45277// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45278func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
45279	return nil, false
45280}
45281
45282// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45283func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
45284	return nil, false
45285}
45286
45287// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45288func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
45289	return nil, false
45290}
45291
45292// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45293func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
45294	return nil, false
45295}
45296
45297// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45298func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
45299	return nil, false
45300}
45301
45302// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45303func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
45304	return nil, false
45305}
45306
45307// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45308func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
45309	return nil, false
45310}
45311
45312// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45313func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
45314	return nil, false
45315}
45316
45317// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45318func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
45319	return nil, false
45320}
45321
45322// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45323func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
45324	return nil, false
45325}
45326
45327// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45328func (shrce ServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
45329	return nil, false
45330}
45331
45332// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45333func (shrce ServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
45334	return nil, false
45335}
45336
45337// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45338func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
45339	return nil, false
45340}
45341
45342// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45343func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
45344	return nil, false
45345}
45346
45347// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45348func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
45349	return nil, false
45350}
45351
45352// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45353func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
45354	return nil, false
45355}
45356
45357// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45358func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
45359	return nil, false
45360}
45361
45362// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45363func (shrce ServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
45364	return nil, false
45365}
45366
45367// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45368func (shrce ServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
45369	return nil, false
45370}
45371
45372// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45373func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
45374	return nil, false
45375}
45376
45377// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45378func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
45379	return nil, false
45380}
45381
45382// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45383func (shrce ServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
45384	return nil, false
45385}
45386
45387// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45388func (shrce ServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
45389	return &shrce, true
45390}
45391
45392// ServiceHealthReportExpiredEvent service Health Report Expired event.
45393type ServiceHealthReportExpiredEvent struct {
45394	// InstanceID - Id of Service instance.
45395	InstanceID *int64 `json:"InstanceId,omitempty"`
45396	// SourceID - Id of report source.
45397	SourceID *string `json:"SourceId,omitempty"`
45398	// Property - Describes the property.
45399	Property *string `json:"Property,omitempty"`
45400	// HealthState - Describes the property health state.
45401	HealthState *string `json:"HealthState,omitempty"`
45402	// TimeToLiveMs - Time to live in milli-seconds.
45403	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
45404	// SequenceNumber - Sequence number of report.
45405	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
45406	// Description - Description of report.
45407	Description *string `json:"Description,omitempty"`
45408	// RemoveWhenExpired - Indicates the removal when it expires.
45409	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
45410	// SourceUtcTimestamp - Source time.
45411	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
45412	// 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.
45413	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
45414	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
45415	ServiceID *string `json:"ServiceId,omitempty"`
45416	// EventInstanceID - The identifier for the FabricEvent instance.
45417	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
45418	// TimeStamp - The time event was logged.
45419	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
45420	// HasCorrelatedEvents - Shows there is existing related events available.
45421	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
45422	// 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'
45423	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
45424}
45425
45426// MarshalJSON is the custom marshaler for ServiceHealthReportExpiredEvent.
45427func (shree ServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
45428	shree.Kind = KindServiceHealthReportExpired
45429	objectMap := make(map[string]interface{})
45430	if shree.InstanceID != nil {
45431		objectMap["InstanceId"] = shree.InstanceID
45432	}
45433	if shree.SourceID != nil {
45434		objectMap["SourceId"] = shree.SourceID
45435	}
45436	if shree.Property != nil {
45437		objectMap["Property"] = shree.Property
45438	}
45439	if shree.HealthState != nil {
45440		objectMap["HealthState"] = shree.HealthState
45441	}
45442	if shree.TimeToLiveMs != nil {
45443		objectMap["TimeToLiveMs"] = shree.TimeToLiveMs
45444	}
45445	if shree.SequenceNumber != nil {
45446		objectMap["SequenceNumber"] = shree.SequenceNumber
45447	}
45448	if shree.Description != nil {
45449		objectMap["Description"] = shree.Description
45450	}
45451	if shree.RemoveWhenExpired != nil {
45452		objectMap["RemoveWhenExpired"] = shree.RemoveWhenExpired
45453	}
45454	if shree.SourceUtcTimestamp != nil {
45455		objectMap["SourceUtcTimestamp"] = shree.SourceUtcTimestamp
45456	}
45457	if shree.ServiceID != nil {
45458		objectMap["ServiceId"] = shree.ServiceID
45459	}
45460	if shree.EventInstanceID != nil {
45461		objectMap["EventInstanceId"] = shree.EventInstanceID
45462	}
45463	if shree.TimeStamp != nil {
45464		objectMap["TimeStamp"] = shree.TimeStamp
45465	}
45466	if shree.HasCorrelatedEvents != nil {
45467		objectMap["HasCorrelatedEvents"] = shree.HasCorrelatedEvents
45468	}
45469	if shree.Kind != "" {
45470		objectMap["Kind"] = shree.Kind
45471	}
45472	return json.Marshal(objectMap)
45473}
45474
45475// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45476func (shree ServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
45477	return nil, false
45478}
45479
45480// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45481func (shree ServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
45482	return nil, false
45483}
45484
45485// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45486func (shree ServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
45487	return nil, false
45488}
45489
45490// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45491func (shree ServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
45492	return nil, false
45493}
45494
45495// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45496func (shree ServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
45497	return nil, false
45498}
45499
45500// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45501func (shree ServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
45502	return nil, false
45503}
45504
45505// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45506func (shree ServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
45507	return nil, false
45508}
45509
45510// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45511func (shree ServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
45512	return nil, false
45513}
45514
45515// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45516func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
45517	return nil, false
45518}
45519
45520// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45521func (shree ServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
45522	return nil, false
45523}
45524
45525// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45526func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
45527	return nil, false
45528}
45529
45530// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45531func (shree ServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
45532	return nil, false
45533}
45534
45535// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45536func (shree ServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
45537	return nil, false
45538}
45539
45540// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45541func (shree ServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
45542	return nil, false
45543}
45544
45545// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45546func (shree ServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
45547	return &shree, true
45548}
45549
45550// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45551func (shree ServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
45552	return nil, false
45553}
45554
45555// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45556func (shree ServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
45557	return nil, false
45558}
45559
45560// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45561func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
45562	return nil, false
45563}
45564
45565// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45566func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
45567	return nil, false
45568}
45569
45570// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45571func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
45572	return nil, false
45573}
45574
45575// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45576func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
45577	return nil, false
45578}
45579
45580// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45581func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
45582	return nil, false
45583}
45584
45585// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45586func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
45587	return nil, false
45588}
45589
45590// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45591func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
45592	return nil, false
45593}
45594
45595// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45596func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
45597	return nil, false
45598}
45599
45600// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45601func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
45602	return nil, false
45603}
45604
45605// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45606func (shree ServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
45607	return nil, false
45608}
45609
45610// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45611func (shree ServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
45612	return nil, false
45613}
45614
45615// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45616func (shree ServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
45617	return nil, false
45618}
45619
45620// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45621func (shree ServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
45622	return nil, false
45623}
45624
45625// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45626func (shree ServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
45627	return nil, false
45628}
45629
45630// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45631func (shree ServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
45632	return nil, false
45633}
45634
45635// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45636func (shree ServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
45637	return nil, false
45638}
45639
45640// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45641func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
45642	return nil, false
45643}
45644
45645// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45646func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
45647	return nil, false
45648}
45649
45650// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45651func (shree ServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
45652	return nil, false
45653}
45654
45655// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45656func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
45657	return nil, false
45658}
45659
45660// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45661func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
45662	return nil, false
45663}
45664
45665// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45666func (shree ServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
45667	return nil, false
45668}
45669
45670// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45671func (shree ServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
45672	return nil, false
45673}
45674
45675// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45676func (shree ServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
45677	return nil, false
45678}
45679
45680// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45681func (shree ServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
45682	return nil, false
45683}
45684
45685// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45686func (shree ServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
45687	return nil, false
45688}
45689
45690// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45691func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
45692	return nil, false
45693}
45694
45695// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45696func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
45697	return nil, false
45698}
45699
45700// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45701func (shree ServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
45702	return nil, false
45703}
45704
45705// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45706func (shree ServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
45707	return nil, false
45708}
45709
45710// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45711func (shree ServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
45712	return nil, false
45713}
45714
45715// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45716func (shree ServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
45717	return nil, false
45718}
45719
45720// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45721func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
45722	return nil, false
45723}
45724
45725// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45726func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
45727	return &shree, true
45728}
45729
45730// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45731func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
45732	return nil, false
45733}
45734
45735// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45736func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
45737	return nil, false
45738}
45739
45740// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45741func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
45742	return nil, false
45743}
45744
45745// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45746func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
45747	return nil, false
45748}
45749
45750// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45751func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
45752	return nil, false
45753}
45754
45755// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45756func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
45757	return nil, false
45758}
45759
45760// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45761func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
45762	return nil, false
45763}
45764
45765// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45766func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
45767	return nil, false
45768}
45769
45770// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45771func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
45772	return nil, false
45773}
45774
45775// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45776func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
45777	return nil, false
45778}
45779
45780// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45781func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
45782	return nil, false
45783}
45784
45785// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45786func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
45787	return nil, false
45788}
45789
45790// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45791func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
45792	return nil, false
45793}
45794
45795// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45796func (shree ServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
45797	return nil, false
45798}
45799
45800// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45801func (shree ServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
45802	return nil, false
45803}
45804
45805// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45806func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
45807	return nil, false
45808}
45809
45810// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45811func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
45812	return nil, false
45813}
45814
45815// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45816func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
45817	return nil, false
45818}
45819
45820// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45821func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
45822	return nil, false
45823}
45824
45825// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45826func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
45827	return nil, false
45828}
45829
45830// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45831func (shree ServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
45832	return nil, false
45833}
45834
45835// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45836func (shree ServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
45837	return nil, false
45838}
45839
45840// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45841func (shree ServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
45842	return nil, false
45843}
45844
45845// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45846func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
45847	return nil, false
45848}
45849
45850// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45851func (shree ServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
45852	return nil, false
45853}
45854
45855// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45856func (shree ServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
45857	return &shree, true
45858}
45859
45860// ServiceHealthState represents the health state of a service, which contains the service identifier and its
45861// aggregated health state.
45862type ServiceHealthState struct {
45863	// ServiceName - Name of the service whose health state is represented by this object.
45864	ServiceName *string `json:"ServiceName,omitempty"`
45865	// 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'
45866	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
45867}
45868
45869// ServiceHealthStateChunk represents the health state chunk of a service, which contains the service name, its
45870// aggregated health state and any partitions that respect the filters in the cluster health chunk query
45871// description.
45872type ServiceHealthStateChunk struct {
45873	// ServiceName - The name of the service whose health state chunk is provided in this object.
45874	ServiceName *string `json:"ServiceName,omitempty"`
45875	// PartitionHealthStateChunks - The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description.
45876	PartitionHealthStateChunks *PartitionHealthStateChunkList `json:"PartitionHealthStateChunks,omitempty"`
45877	// 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'
45878	HealthState HealthState `json:"HealthState,omitempty"`
45879}
45880
45881// ServiceHealthStateChunkList the list of service health state chunks that respect the input filters in the chunk
45882// query. Returned by get cluster health state chunks query.
45883type ServiceHealthStateChunkList struct {
45884	// Items - The list of service health state chunks that respect the input filters in the chunk query.
45885	Items *[]ServiceHealthStateChunk `json:"Items,omitempty"`
45886}
45887
45888// ServiceHealthStateFilter defines matching criteria to determine whether a service should be included as a child
45889// of an application in the cluster health chunk.
45890// The services are only returned if the parent application matches a filter specified in the cluster health chunk
45891// query description.
45892// One filter can match zero, one or multiple services, depending on its properties.
45893type ServiceHealthStateFilter struct {
45894	// ServiceNameFilter - The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.
45895	// If the service doesn't exist, no service is returned in the cluster health chunk based on this filter.
45896	// If the service exists, it is included as the application's child if the health state matches the other filter properties.
45897	// 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.
45898	ServiceNameFilter *string `json:"ServiceNameFilter,omitempty"`
45899	// HealthStateFilter - The filter for the health state of the services. It allows selecting services if they match the desired health states.
45900	// 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.
45901	// 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.
45902	// The state values are flag based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
45903	// For example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).
45904	// - Default - Default value. Matches any HealthState. The value is zero.
45905	// - 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.
45906	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
45907	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
45908	// - Error - Filter that matches input with HealthState value Error. The value is 8.
45909	// - All - Filter that matches input with any HealthState value. The value is 65535.
45910	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
45911	// 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.
45912	// 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.
45913	// The service filter may specify multiple partition filters.
45914	// 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.
45915	PartitionFilters *[]PartitionHealthStateFilter `json:"PartitionFilters,omitempty"`
45916}
45917
45918// BasicServiceInfo information about a Service Fabric service.
45919type BasicServiceInfo interface {
45920	AsStatefulServiceInfo() (*StatefulServiceInfo, bool)
45921	AsStatelessServiceInfo() (*StatelessServiceInfo, bool)
45922	AsServiceInfo() (*ServiceInfo, bool)
45923}
45924
45925// ServiceInfo information about a Service Fabric service.
45926type ServiceInfo struct {
45927	autorest.Response `json:"-"`
45928	// 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.
45929	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
45930	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
45931	ID *string `json:"Id,omitempty"`
45932	// Name - The full name of the service with 'fabric:' URI scheme.
45933	Name *string `json:"Name,omitempty"`
45934	// TypeName - Name of the service type as specified in the service manifest.
45935	TypeName *string `json:"TypeName,omitempty"`
45936	// ManifestVersion - The version of the service manifest.
45937	ManifestVersion *string `json:"ManifestVersion,omitempty"`
45938	// 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'
45939	HealthState HealthState `json:"HealthState,omitempty"`
45940	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
45941	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
45942	// IsServiceGroup - Whether the service is in a service group.
45943	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
45944	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
45945	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
45946}
45947
45948func unmarshalBasicServiceInfo(body []byte) (BasicServiceInfo, error) {
45949	var m map[string]interface{}
45950	err := json.Unmarshal(body, &m)
45951	if err != nil {
45952		return nil, err
45953	}
45954
45955	switch m["ServiceKind"] {
45956	case string(ServiceKindBasicServiceInfoServiceKindStateful):
45957		var ssi StatefulServiceInfo
45958		err := json.Unmarshal(body, &ssi)
45959		return ssi, err
45960	case string(ServiceKindBasicServiceInfoServiceKindStateless):
45961		var ssi StatelessServiceInfo
45962		err := json.Unmarshal(body, &ssi)
45963		return ssi, err
45964	default:
45965		var si ServiceInfo
45966		err := json.Unmarshal(body, &si)
45967		return si, err
45968	}
45969}
45970func unmarshalBasicServiceInfoArray(body []byte) ([]BasicServiceInfo, error) {
45971	var rawMessages []*json.RawMessage
45972	err := json.Unmarshal(body, &rawMessages)
45973	if err != nil {
45974		return nil, err
45975	}
45976
45977	siArray := make([]BasicServiceInfo, len(rawMessages))
45978
45979	for index, rawMessage := range rawMessages {
45980		si, err := unmarshalBasicServiceInfo(*rawMessage)
45981		if err != nil {
45982			return nil, err
45983		}
45984		siArray[index] = si
45985	}
45986	return siArray, nil
45987}
45988
45989// MarshalJSON is the custom marshaler for ServiceInfo.
45990func (si ServiceInfo) MarshalJSON() ([]byte, error) {
45991	si.ServiceKind = ServiceKindBasicServiceInfoServiceKindServiceInfo
45992	objectMap := make(map[string]interface{})
45993	if si.ID != nil {
45994		objectMap["Id"] = si.ID
45995	}
45996	if si.Name != nil {
45997		objectMap["Name"] = si.Name
45998	}
45999	if si.TypeName != nil {
46000		objectMap["TypeName"] = si.TypeName
46001	}
46002	if si.ManifestVersion != nil {
46003		objectMap["ManifestVersion"] = si.ManifestVersion
46004	}
46005	if si.HealthState != "" {
46006		objectMap["HealthState"] = si.HealthState
46007	}
46008	if si.ServiceStatus != "" {
46009		objectMap["ServiceStatus"] = si.ServiceStatus
46010	}
46011	if si.IsServiceGroup != nil {
46012		objectMap["IsServiceGroup"] = si.IsServiceGroup
46013	}
46014	if si.ServiceKind != "" {
46015		objectMap["ServiceKind"] = si.ServiceKind
46016	}
46017	return json.Marshal(objectMap)
46018}
46019
46020// AsStatefulServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46021func (si ServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
46022	return nil, false
46023}
46024
46025// AsStatelessServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46026func (si ServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
46027	return nil, false
46028}
46029
46030// AsServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46031func (si ServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
46032	return &si, true
46033}
46034
46035// AsBasicServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46036func (si ServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
46037	return &si, true
46038}
46039
46040// ServiceInfoModel ...
46041type ServiceInfoModel struct {
46042	autorest.Response `json:"-"`
46043	Value             BasicServiceInfo `json:"value,omitempty"`
46044}
46045
46046// UnmarshalJSON is the custom unmarshaler for ServiceInfoModel struct.
46047func (sim *ServiceInfoModel) UnmarshalJSON(body []byte) error {
46048	si, err := unmarshalBasicServiceInfo(body)
46049	if err != nil {
46050		return err
46051	}
46052	sim.Value = si
46053
46054	return nil
46055}
46056
46057// ServiceLoadMetricDescription specifies a metric to load balance a service during runtime.
46058type ServiceLoadMetricDescription struct {
46059	// 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.
46060	Name *string `json:"Name,omitempty"`
46061	// 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'
46062	Weight ServiceLoadMetricWeight `json:"Weight,omitempty"`
46063	// 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.
46064	PrimaryDefaultLoad *int32 `json:"PrimaryDefaultLoad,omitempty"`
46065	// 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.
46066	SecondaryDefaultLoad *int32 `json:"SecondaryDefaultLoad,omitempty"`
46067	// DefaultLoad - Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
46068	DefaultLoad *int32 `json:"DefaultLoad,omitempty"`
46069}
46070
46071// ServiceNameInfo information about the service name.
46072type ServiceNameInfo struct {
46073	autorest.Response `json:"-"`
46074	// 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.
46075	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
46076	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
46077	ID *string `json:"Id,omitempty"`
46078	// Name - The full name of the service with 'fabric:' URI scheme.
46079	Name *string `json:"Name,omitempty"`
46080}
46081
46082// BasicServicePartitionInfo information about a partition of a Service Fabric service.
46083type BasicServicePartitionInfo interface {
46084	AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool)
46085	AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool)
46086	AsServicePartitionInfo() (*ServicePartitionInfo, bool)
46087}
46088
46089// ServicePartitionInfo information about a partition of a Service Fabric service.
46090type ServicePartitionInfo struct {
46091	autorest.Response `json:"-"`
46092	// 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'
46093	HealthState HealthState `json:"HealthState,omitempty"`
46094	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
46095	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
46096	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
46097	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
46098	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
46099	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
46100}
46101
46102func unmarshalBasicServicePartitionInfo(body []byte) (BasicServicePartitionInfo, error) {
46103	var m map[string]interface{}
46104	err := json.Unmarshal(body, &m)
46105	if err != nil {
46106		return nil, err
46107	}
46108
46109	switch m["ServiceKind"] {
46110	case string(ServiceKindBasicServicePartitionInfoServiceKindStateful):
46111		var sspi StatefulServicePartitionInfo
46112		err := json.Unmarshal(body, &sspi)
46113		return sspi, err
46114	case string(ServiceKindBasicServicePartitionInfoServiceKindStateless):
46115		var sspi StatelessServicePartitionInfo
46116		err := json.Unmarshal(body, &sspi)
46117		return sspi, err
46118	default:
46119		var spi ServicePartitionInfo
46120		err := json.Unmarshal(body, &spi)
46121		return spi, err
46122	}
46123}
46124func unmarshalBasicServicePartitionInfoArray(body []byte) ([]BasicServicePartitionInfo, error) {
46125	var rawMessages []*json.RawMessage
46126	err := json.Unmarshal(body, &rawMessages)
46127	if err != nil {
46128		return nil, err
46129	}
46130
46131	spiArray := make([]BasicServicePartitionInfo, len(rawMessages))
46132
46133	for index, rawMessage := range rawMessages {
46134		spi, err := unmarshalBasicServicePartitionInfo(*rawMessage)
46135		if err != nil {
46136			return nil, err
46137		}
46138		spiArray[index] = spi
46139	}
46140	return spiArray, nil
46141}
46142
46143// MarshalJSON is the custom marshaler for ServicePartitionInfo.
46144func (spi ServicePartitionInfo) MarshalJSON() ([]byte, error) {
46145	spi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo
46146	objectMap := make(map[string]interface{})
46147	if spi.HealthState != "" {
46148		objectMap["HealthState"] = spi.HealthState
46149	}
46150	if spi.PartitionStatus != "" {
46151		objectMap["PartitionStatus"] = spi.PartitionStatus
46152	}
46153	objectMap["PartitionInformation"] = spi.PartitionInformation
46154	if spi.ServiceKind != "" {
46155		objectMap["ServiceKind"] = spi.ServiceKind
46156	}
46157	return json.Marshal(objectMap)
46158}
46159
46160// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46161func (spi ServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
46162	return nil, false
46163}
46164
46165// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46166func (spi ServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
46167	return nil, false
46168}
46169
46170// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46171func (spi ServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
46172	return &spi, true
46173}
46174
46175// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46176func (spi ServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
46177	return &spi, true
46178}
46179
46180// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfo struct.
46181func (spi *ServicePartitionInfo) UnmarshalJSON(body []byte) error {
46182	var m map[string]*json.RawMessage
46183	err := json.Unmarshal(body, &m)
46184	if err != nil {
46185		return err
46186	}
46187	for k, v := range m {
46188		switch k {
46189		case "HealthState":
46190			if v != nil {
46191				var healthState HealthState
46192				err = json.Unmarshal(*v, &healthState)
46193				if err != nil {
46194					return err
46195				}
46196				spi.HealthState = healthState
46197			}
46198		case "PartitionStatus":
46199			if v != nil {
46200				var partitionStatus ServicePartitionStatus
46201				err = json.Unmarshal(*v, &partitionStatus)
46202				if err != nil {
46203					return err
46204				}
46205				spi.PartitionStatus = partitionStatus
46206			}
46207		case "PartitionInformation":
46208			if v != nil {
46209				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
46210				if err != nil {
46211					return err
46212				}
46213				spi.PartitionInformation = partitionInformation
46214			}
46215		case "ServiceKind":
46216			if v != nil {
46217				var serviceKind ServiceKindBasicServicePartitionInfo
46218				err = json.Unmarshal(*v, &serviceKind)
46219				if err != nil {
46220					return err
46221				}
46222				spi.ServiceKind = serviceKind
46223			}
46224		}
46225	}
46226
46227	return nil
46228}
46229
46230// ServicePartitionInfoModel ...
46231type ServicePartitionInfoModel struct {
46232	autorest.Response `json:"-"`
46233	Value             BasicServicePartitionInfo `json:"value,omitempty"`
46234}
46235
46236// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfoModel struct.
46237func (spim *ServicePartitionInfoModel) UnmarshalJSON(body []byte) error {
46238	spi, err := unmarshalBasicServicePartitionInfo(body)
46239	if err != nil {
46240		return err
46241	}
46242	spim.Value = spi
46243
46244	return nil
46245}
46246
46247// ServicePlacementInvalidDomainPolicyDescription describes the policy to be used for placement of a Service Fabric
46248// service where a particular fault or upgrade domain should not be used for placement of the instances or replicas
46249// of that service.
46250type ServicePlacementInvalidDomainPolicyDescription struct {
46251	// DomainName - The name of the domain that should not be used for placement.
46252	DomainName *string `json:"DomainName,omitempty"`
46253	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46254	Type Type `json:"Type,omitempty"`
46255}
46256
46257// MarshalJSON is the custom marshaler for ServicePlacementInvalidDomainPolicyDescription.
46258func (spidpd ServicePlacementInvalidDomainPolicyDescription) MarshalJSON() ([]byte, error) {
46259	spidpd.Type = TypeInvalidDomain
46260	objectMap := make(map[string]interface{})
46261	if spidpd.DomainName != nil {
46262		objectMap["DomainName"] = spidpd.DomainName
46263	}
46264	if spidpd.Type != "" {
46265		objectMap["Type"] = spidpd.Type
46266	}
46267	return json.Marshal(objectMap)
46268}
46269
46270// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46271func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46272	return &spidpd, true
46273}
46274
46275// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46276func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46277	return nil, false
46278}
46279
46280// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46281func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46282	return nil, false
46283}
46284
46285// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46286func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46287	return nil, false
46288}
46289
46290// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46291func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46292	return nil, false
46293}
46294
46295// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46296func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46297	return nil, false
46298}
46299
46300// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46301func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46302	return &spidpd, true
46303}
46304
46305// ServicePlacementNonPartiallyPlaceServicePolicyDescription describes the policy to be used for placement of a
46306// Service Fabric service where all replicas must be able to be placed in order for any replicas to be created.
46307type ServicePlacementNonPartiallyPlaceServicePolicyDescription struct {
46308	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46309	Type Type `json:"Type,omitempty"`
46310}
46311
46312// MarshalJSON is the custom marshaler for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46313func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) MarshalJSON() ([]byte, error) {
46314	spnppspd.Type = TypeNonPartiallyPlaceService
46315	objectMap := make(map[string]interface{})
46316	if spnppspd.Type != "" {
46317		objectMap["Type"] = spnppspd.Type
46318	}
46319	return json.Marshal(objectMap)
46320}
46321
46322// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46323func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46324	return nil, false
46325}
46326
46327// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46328func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46329	return &spnppspd, true
46330}
46331
46332// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46333func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46334	return nil, false
46335}
46336
46337// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46338func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46339	return nil, false
46340}
46341
46342// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46343func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46344	return nil, false
46345}
46346
46347// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46348func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46349	return nil, false
46350}
46351
46352// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46353func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46354	return &spnppspd, true
46355}
46356
46357// BasicServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
46358type BasicServicePlacementPolicyDescription interface {
46359	AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool)
46360	AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool)
46361	AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool)
46362	AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool)
46363	AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool)
46364	AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool)
46365}
46366
46367// ServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
46368type ServicePlacementPolicyDescription struct {
46369	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46370	Type Type `json:"Type,omitempty"`
46371}
46372
46373func unmarshalBasicServicePlacementPolicyDescription(body []byte) (BasicServicePlacementPolicyDescription, error) {
46374	var m map[string]interface{}
46375	err := json.Unmarshal(body, &m)
46376	if err != nil {
46377		return nil, err
46378	}
46379
46380	switch m["Type"] {
46381	case string(TypeInvalidDomain):
46382		var spidpd ServicePlacementInvalidDomainPolicyDescription
46383		err := json.Unmarshal(body, &spidpd)
46384		return spidpd, err
46385	case string(TypeNonPartiallyPlaceService):
46386		var spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription
46387		err := json.Unmarshal(body, &spnppspd)
46388		return spnppspd, err
46389	case string(TypePreferredPrimaryDomain):
46390		var spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription
46391		err := json.Unmarshal(body, &spppdpd)
46392		return spppdpd, err
46393	case string(TypeRequiredDomain):
46394		var sprdpd ServicePlacementRequiredDomainPolicyDescription
46395		err := json.Unmarshal(body, &sprdpd)
46396		return sprdpd, err
46397	case string(TypeRequiredDomainDistribution):
46398		var sprddpd ServicePlacementRequireDomainDistributionPolicyDescription
46399		err := json.Unmarshal(body, &sprddpd)
46400		return sprddpd, err
46401	default:
46402		var sppd ServicePlacementPolicyDescription
46403		err := json.Unmarshal(body, &sppd)
46404		return sppd, err
46405	}
46406}
46407func unmarshalBasicServicePlacementPolicyDescriptionArray(body []byte) ([]BasicServicePlacementPolicyDescription, error) {
46408	var rawMessages []*json.RawMessage
46409	err := json.Unmarshal(body, &rawMessages)
46410	if err != nil {
46411		return nil, err
46412	}
46413
46414	sppdArray := make([]BasicServicePlacementPolicyDescription, len(rawMessages))
46415
46416	for index, rawMessage := range rawMessages {
46417		sppd, err := unmarshalBasicServicePlacementPolicyDescription(*rawMessage)
46418		if err != nil {
46419			return nil, err
46420		}
46421		sppdArray[index] = sppd
46422	}
46423	return sppdArray, nil
46424}
46425
46426// MarshalJSON is the custom marshaler for ServicePlacementPolicyDescription.
46427func (sppd ServicePlacementPolicyDescription) MarshalJSON() ([]byte, error) {
46428	sppd.Type = TypeServicePlacementPolicyDescription
46429	objectMap := make(map[string]interface{})
46430	if sppd.Type != "" {
46431		objectMap["Type"] = sppd.Type
46432	}
46433	return json.Marshal(objectMap)
46434}
46435
46436// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46437func (sppd ServicePlacementPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46438	return nil, false
46439}
46440
46441// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46442func (sppd ServicePlacementPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46443	return nil, false
46444}
46445
46446// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46447func (sppd ServicePlacementPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46448	return nil, false
46449}
46450
46451// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46452func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46453	return nil, false
46454}
46455
46456// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46457func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46458	return nil, false
46459}
46460
46461// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46462func (sppd ServicePlacementPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46463	return &sppd, true
46464}
46465
46466// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46467func (sppd ServicePlacementPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46468	return &sppd, true
46469}
46470
46471// ServicePlacementPreferPrimaryDomainPolicyDescription describes the policy to be used for placement of a Service
46472// Fabric service where the service's Primary replicas should optimally be placed in a particular domain.
46473//
46474// This placement policy is usually used with fault domains in scenarios where the Service Fabric cluster is
46475// geographically distributed in order to indicate that a service�s primary replica should be located in a
46476// particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter
46477// boundaries. Note that since this is an optimization it is possible that the Primary replica may not end up
46478// located in this domain due to failures, capacity limits, or other constraints.
46479type ServicePlacementPreferPrimaryDomainPolicyDescription struct {
46480	// DomainName - The name of the domain that should used for placement as per this policy.
46481	DomainName *string `json:"DomainName,omitempty"`
46482	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46483	Type Type `json:"Type,omitempty"`
46484}
46485
46486// MarshalJSON is the custom marshaler for ServicePlacementPreferPrimaryDomainPolicyDescription.
46487func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) MarshalJSON() ([]byte, error) {
46488	spppdpd.Type = TypePreferredPrimaryDomain
46489	objectMap := make(map[string]interface{})
46490	if spppdpd.DomainName != nil {
46491		objectMap["DomainName"] = spppdpd.DomainName
46492	}
46493	if spppdpd.Type != "" {
46494		objectMap["Type"] = spppdpd.Type
46495	}
46496	return json.Marshal(objectMap)
46497}
46498
46499// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
46500func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46501	return nil, false
46502}
46503
46504// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
46505func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46506	return nil, false
46507}
46508
46509// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
46510func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46511	return &spppdpd, true
46512}
46513
46514// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
46515func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46516	return nil, false
46517}
46518
46519// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
46520func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46521	return nil, false
46522}
46523
46524// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
46525func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46526	return nil, false
46527}
46528
46529// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
46530func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46531	return &spppdpd, true
46532}
46533
46534// ServicePlacementRequiredDomainPolicyDescription describes the policy to be used for placement of a Service
46535// Fabric service where the instances or replicas of that service must be placed in a particular domain
46536type ServicePlacementRequiredDomainPolicyDescription struct {
46537	// DomainName - The name of the domain that should used for placement as per this policy.
46538	DomainName *string `json:"DomainName,omitempty"`
46539	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46540	Type Type `json:"Type,omitempty"`
46541}
46542
46543// MarshalJSON is the custom marshaler for ServicePlacementRequiredDomainPolicyDescription.
46544func (sprdpd ServicePlacementRequiredDomainPolicyDescription) MarshalJSON() ([]byte, error) {
46545	sprdpd.Type = TypeRequiredDomain
46546	objectMap := make(map[string]interface{})
46547	if sprdpd.DomainName != nil {
46548		objectMap["DomainName"] = sprdpd.DomainName
46549	}
46550	if sprdpd.Type != "" {
46551		objectMap["Type"] = sprdpd.Type
46552	}
46553	return json.Marshal(objectMap)
46554}
46555
46556// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
46557func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46558	return nil, false
46559}
46560
46561// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
46562func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46563	return nil, false
46564}
46565
46566// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
46567func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46568	return nil, false
46569}
46570
46571// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
46572func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46573	return &sprdpd, true
46574}
46575
46576// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
46577func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46578	return nil, false
46579}
46580
46581// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
46582func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46583	return nil, false
46584}
46585
46586// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
46587func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46588	return &sprdpd, true
46589}
46590
46591// ServicePlacementRequireDomainDistributionPolicyDescription describes the policy to be used for placement of a
46592// Service Fabric service where two replicas from the same partition should never be placed in the same fault or
46593// upgrade domain.
46594//
46595// While this is not common it can expose the service to an increased risk of concurrent failures due to unplanned
46596// outages or other cases of subsequent/concurrent failures. As an example, consider a case where replicas are
46597// deployed across different data center, with one replica per location. In the event that one of the datacenters
46598// goes offline, normally the replica that was placed in that datacenter will be packed into one of the remaining
46599// datacenters. If this is not desirable then this policy should be set.
46600type ServicePlacementRequireDomainDistributionPolicyDescription struct {
46601	// DomainName - The name of the domain that should used for placement as per this policy.
46602	DomainName *string `json:"DomainName,omitempty"`
46603	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46604	Type Type `json:"Type,omitempty"`
46605}
46606
46607// MarshalJSON is the custom marshaler for ServicePlacementRequireDomainDistributionPolicyDescription.
46608func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) MarshalJSON() ([]byte, error) {
46609	sprddpd.Type = TypeRequiredDomainDistribution
46610	objectMap := make(map[string]interface{})
46611	if sprddpd.DomainName != nil {
46612		objectMap["DomainName"] = sprddpd.DomainName
46613	}
46614	if sprddpd.Type != "" {
46615		objectMap["Type"] = sprddpd.Type
46616	}
46617	return json.Marshal(objectMap)
46618}
46619
46620// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
46621func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46622	return nil, false
46623}
46624
46625// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
46626func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46627	return nil, false
46628}
46629
46630// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
46631func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46632	return nil, false
46633}
46634
46635// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
46636func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46637	return nil, false
46638}
46639
46640// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
46641func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46642	return &sprddpd, true
46643}
46644
46645// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
46646func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46647	return nil, false
46648}
46649
46650// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
46651func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46652	return &sprddpd, true
46653}
46654
46655// ServicesHealthEvaluation represents health evaluation for services of a certain service type belonging to an
46656// application, containing health evaluations for each unhealthy service that impacted current aggregated health
46657// state. Can be returned when evaluating application health and the aggregated health state is either Error or
46658// Warning.
46659type ServicesHealthEvaluation struct {
46660	// ServiceTypeName - Name of the service type of the services.
46661	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
46662	// MaxPercentUnhealthyServices - Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy.
46663	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
46664	// TotalCount - Total number of services of the current service type in the application from the health store.
46665	TotalCount *int64 `json:"TotalCount,omitempty"`
46666	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health.
46667	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
46668	// 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'
46669	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
46670	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
46671	Description *string `json:"Description,omitempty"`
46672	// 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'
46673	Kind Kind `json:"Kind,omitempty"`
46674}
46675
46676// MarshalJSON is the custom marshaler for ServicesHealthEvaluation.
46677func (she ServicesHealthEvaluation) MarshalJSON() ([]byte, error) {
46678	she.Kind = KindServices
46679	objectMap := make(map[string]interface{})
46680	if she.ServiceTypeName != nil {
46681		objectMap["ServiceTypeName"] = she.ServiceTypeName
46682	}
46683	if she.MaxPercentUnhealthyServices != nil {
46684		objectMap["MaxPercentUnhealthyServices"] = she.MaxPercentUnhealthyServices
46685	}
46686	if she.TotalCount != nil {
46687		objectMap["TotalCount"] = she.TotalCount
46688	}
46689	if she.UnhealthyEvaluations != nil {
46690		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
46691	}
46692	if she.AggregatedHealthState != "" {
46693		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
46694	}
46695	if she.Description != nil {
46696		objectMap["Description"] = she.Description
46697	}
46698	if she.Kind != "" {
46699		objectMap["Kind"] = she.Kind
46700	}
46701	return json.Marshal(objectMap)
46702}
46703
46704// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46705func (she ServicesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
46706	return nil, false
46707}
46708
46709// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46710func (she ServicesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
46711	return nil, false
46712}
46713
46714// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46715func (she ServicesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
46716	return nil, false
46717}
46718
46719// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46720func (she ServicesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
46721	return nil, false
46722}
46723
46724// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46725func (she ServicesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
46726	return nil, false
46727}
46728
46729// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46730func (she ServicesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
46731	return nil, false
46732}
46733
46734// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46735func (she ServicesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
46736	return nil, false
46737}
46738
46739// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46740func (she ServicesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
46741	return nil, false
46742}
46743
46744// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46745func (she ServicesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
46746	return nil, false
46747}
46748
46749// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46750func (she ServicesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
46751	return nil, false
46752}
46753
46754// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46755func (she ServicesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
46756	return nil, false
46757}
46758
46759// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46760func (she ServicesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
46761	return nil, false
46762}
46763
46764// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46765func (she ServicesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
46766	return nil, false
46767}
46768
46769// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46770func (she ServicesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
46771	return nil, false
46772}
46773
46774// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46775func (she ServicesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
46776	return nil, false
46777}
46778
46779// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46780func (she ServicesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
46781	return nil, false
46782}
46783
46784// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46785func (she ServicesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
46786	return &she, true
46787}
46788
46789// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46790func (she ServicesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
46791	return nil, false
46792}
46793
46794// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46795func (she ServicesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
46796	return nil, false
46797}
46798
46799// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46800func (she ServicesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
46801	return nil, false
46802}
46803
46804// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46805func (she ServicesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
46806	return nil, false
46807}
46808
46809// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
46810func (she ServicesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
46811	return &she, true
46812}
46813
46814// BasicServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
46815// type. The properties the ones defined in the service manifest.
46816type BasicServiceTypeDescription interface {
46817	AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool)
46818	AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool)
46819	AsServiceTypeDescription() (*ServiceTypeDescription, bool)
46820}
46821
46822// ServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
46823// type. The properties the ones defined in the service manifest.
46824type ServiceTypeDescription struct {
46825	// 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.
46826	IsStateful *bool `json:"IsStateful,omitempty"`
46827	// ServiceTypeName - Name of the service type as specified in the service manifest.
46828	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
46829	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
46830	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
46831	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
46832	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
46833	// ServicePlacementPolicies - List of service placement policy descriptions.
46834	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
46835	// Extensions - List of service type extensions.
46836	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
46837	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
46838	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
46839}
46840
46841func unmarshalBasicServiceTypeDescription(body []byte) (BasicServiceTypeDescription, error) {
46842	var m map[string]interface{}
46843	err := json.Unmarshal(body, &m)
46844	if err != nil {
46845		return nil, err
46846	}
46847
46848	switch m["Kind"] {
46849	case string(KindStateful):
46850		var sstd StatefulServiceTypeDescription
46851		err := json.Unmarshal(body, &sstd)
46852		return sstd, err
46853	case string(KindStateless):
46854		var sstd StatelessServiceTypeDescription
46855		err := json.Unmarshal(body, &sstd)
46856		return sstd, err
46857	default:
46858		var std ServiceTypeDescription
46859		err := json.Unmarshal(body, &std)
46860		return std, err
46861	}
46862}
46863func unmarshalBasicServiceTypeDescriptionArray(body []byte) ([]BasicServiceTypeDescription, error) {
46864	var rawMessages []*json.RawMessage
46865	err := json.Unmarshal(body, &rawMessages)
46866	if err != nil {
46867		return nil, err
46868	}
46869
46870	stdArray := make([]BasicServiceTypeDescription, len(rawMessages))
46871
46872	for index, rawMessage := range rawMessages {
46873		std, err := unmarshalBasicServiceTypeDescription(*rawMessage)
46874		if err != nil {
46875			return nil, err
46876		}
46877		stdArray[index] = std
46878	}
46879	return stdArray, nil
46880}
46881
46882// MarshalJSON is the custom marshaler for ServiceTypeDescription.
46883func (std ServiceTypeDescription) MarshalJSON() ([]byte, error) {
46884	std.Kind = KindServiceTypeDescription
46885	objectMap := make(map[string]interface{})
46886	if std.IsStateful != nil {
46887		objectMap["IsStateful"] = std.IsStateful
46888	}
46889	if std.ServiceTypeName != nil {
46890		objectMap["ServiceTypeName"] = std.ServiceTypeName
46891	}
46892	if std.PlacementConstraints != nil {
46893		objectMap["PlacementConstraints"] = std.PlacementConstraints
46894	}
46895	if std.LoadMetrics != nil {
46896		objectMap["LoadMetrics"] = std.LoadMetrics
46897	}
46898	if std.ServicePlacementPolicies != nil {
46899		objectMap["ServicePlacementPolicies"] = std.ServicePlacementPolicies
46900	}
46901	if std.Extensions != nil {
46902		objectMap["Extensions"] = std.Extensions
46903	}
46904	if std.Kind != "" {
46905		objectMap["Kind"] = std.Kind
46906	}
46907	return json.Marshal(objectMap)
46908}
46909
46910// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
46911func (std ServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
46912	return nil, false
46913}
46914
46915// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
46916func (std ServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
46917	return nil, false
46918}
46919
46920// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
46921func (std ServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
46922	return &std, true
46923}
46924
46925// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
46926func (std ServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
46927	return &std, true
46928}
46929
46930// UnmarshalJSON is the custom unmarshaler for ServiceTypeDescription struct.
46931func (std *ServiceTypeDescription) UnmarshalJSON(body []byte) error {
46932	var m map[string]*json.RawMessage
46933	err := json.Unmarshal(body, &m)
46934	if err != nil {
46935		return err
46936	}
46937	for k, v := range m {
46938		switch k {
46939		case "IsStateful":
46940			if v != nil {
46941				var isStateful bool
46942				err = json.Unmarshal(*v, &isStateful)
46943				if err != nil {
46944					return err
46945				}
46946				std.IsStateful = &isStateful
46947			}
46948		case "ServiceTypeName":
46949			if v != nil {
46950				var serviceTypeName string
46951				err = json.Unmarshal(*v, &serviceTypeName)
46952				if err != nil {
46953					return err
46954				}
46955				std.ServiceTypeName = &serviceTypeName
46956			}
46957		case "PlacementConstraints":
46958			if v != nil {
46959				var placementConstraints string
46960				err = json.Unmarshal(*v, &placementConstraints)
46961				if err != nil {
46962					return err
46963				}
46964				std.PlacementConstraints = &placementConstraints
46965			}
46966		case "LoadMetrics":
46967			if v != nil {
46968				var loadMetrics []ServiceLoadMetricDescription
46969				err = json.Unmarshal(*v, &loadMetrics)
46970				if err != nil {
46971					return err
46972				}
46973				std.LoadMetrics = &loadMetrics
46974			}
46975		case "ServicePlacementPolicies":
46976			if v != nil {
46977				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
46978				if err != nil {
46979					return err
46980				}
46981				std.ServicePlacementPolicies = &servicePlacementPolicies
46982			}
46983		case "Extensions":
46984			if v != nil {
46985				var extensions []ServiceTypeExtensionDescription
46986				err = json.Unmarshal(*v, &extensions)
46987				if err != nil {
46988					return err
46989				}
46990				std.Extensions = &extensions
46991			}
46992		case "Kind":
46993			if v != nil {
46994				var kind KindBasicServiceTypeDescription
46995				err = json.Unmarshal(*v, &kind)
46996				if err != nil {
46997					return err
46998				}
46999				std.Kind = kind
47000			}
47001		}
47002	}
47003
47004	return nil
47005}
47006
47007// ServiceTypeExtensionDescription describes extension of a service type defined in the service manifest.
47008type ServiceTypeExtensionDescription struct {
47009	// Key - The name of the extension.
47010	Key *string `json:"Key,omitempty"`
47011	// Value - The extension value.
47012	Value *string `json:"Value,omitempty"`
47013}
47014
47015// ServiceTypeHealthPolicy represents the health policy used to evaluate the health of services belonging to a
47016// service type.
47017type ServiceTypeHealthPolicy struct {
47018	// MaxPercentUnhealthyPartitionsPerService - The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100
47019	// The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
47020	// If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
47021	// The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
47022	// The computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.
47023	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
47024	// MaxPercentUnhealthyReplicasPerPartition - The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.
47025	// The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
47026	// If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
47027	// The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
47028	// The computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.
47029	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
47030	// MaxPercentUnhealthyServices - The maximum maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.
47031	// The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
47032	// If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
47033	// 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.
47034	// The computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.
47035	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
47036}
47037
47038// ServiceTypeHealthPolicyMapItem defines an item in ServiceTypeHealthPolicyMap.
47039type ServiceTypeHealthPolicyMapItem struct {
47040	// Key - The key of the service type health policy map item. This is the name of the service type.
47041	Key *string `json:"Key,omitempty"`
47042	// Value - The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type.
47043	Value *ServiceTypeHealthPolicy `json:"Value,omitempty"`
47044}
47045
47046// ServiceTypeInfo information about a service type that is defined in a service manifest of a provisioned
47047// application type.
47048type ServiceTypeInfo struct {
47049	autorest.Response `json:"-"`
47050	// ServiceTypeDescription - Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.
47051	ServiceTypeDescription BasicServiceTypeDescription `json:"ServiceTypeDescription,omitempty"`
47052	// ServiceManifestName - The name of the service manifest in which this service type is defined.
47053	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
47054	// ServiceManifestVersion - The version of the service manifest in which this service type is defined.
47055	ServiceManifestVersion *string `json:"ServiceManifestVersion,omitempty"`
47056	// IsServiceGroup - Indicates whether the service is a service group. If it is, the property value is true otherwise false.
47057	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
47058}
47059
47060// UnmarshalJSON is the custom unmarshaler for ServiceTypeInfo struct.
47061func (sti *ServiceTypeInfo) UnmarshalJSON(body []byte) error {
47062	var m map[string]*json.RawMessage
47063	err := json.Unmarshal(body, &m)
47064	if err != nil {
47065		return err
47066	}
47067	for k, v := range m {
47068		switch k {
47069		case "ServiceTypeDescription":
47070			if v != nil {
47071				serviceTypeDescription, err := unmarshalBasicServiceTypeDescription(*v)
47072				if err != nil {
47073					return err
47074				}
47075				sti.ServiceTypeDescription = serviceTypeDescription
47076			}
47077		case "ServiceManifestName":
47078			if v != nil {
47079				var serviceManifestName string
47080				err = json.Unmarshal(*v, &serviceManifestName)
47081				if err != nil {
47082					return err
47083				}
47084				sti.ServiceManifestName = &serviceManifestName
47085			}
47086		case "ServiceManifestVersion":
47087			if v != nil {
47088				var serviceManifestVersion string
47089				err = json.Unmarshal(*v, &serviceManifestVersion)
47090				if err != nil {
47091					return err
47092				}
47093				sti.ServiceManifestVersion = &serviceManifestVersion
47094			}
47095		case "IsServiceGroup":
47096			if v != nil {
47097				var isServiceGroup bool
47098				err = json.Unmarshal(*v, &isServiceGroup)
47099				if err != nil {
47100					return err
47101				}
47102				sti.IsServiceGroup = &isServiceGroup
47103			}
47104		}
47105	}
47106
47107	return nil
47108}
47109
47110// ServiceTypeManifest contains the manifest describing a service type registered as part of an application in a
47111// Service Fabric cluster.
47112type ServiceTypeManifest struct {
47113	autorest.Response `json:"-"`
47114	// Manifest - The XML manifest as a string.
47115	Manifest *string `json:"Manifest,omitempty"`
47116}
47117
47118// BasicServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
47119// service.
47120type BasicServiceUpdateDescription interface {
47121	AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool)
47122	AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool)
47123	AsServiceUpdateDescription() (*ServiceUpdateDescription, bool)
47124}
47125
47126// ServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
47127// service.
47128type ServiceUpdateDescription struct {
47129	// 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.
47130	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
47131	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
47132	// - None - Does not indicate any other properties are set. The value is zero.
47133	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
47134	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
47135	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
47136	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
47137	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
47138	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
47139	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
47140	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
47141	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
47142	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
47143	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
47144	Flags *string `json:"Flags,omitempty"`
47145	// 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)".
47146	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
47147	// CorrelationScheme - The correlation scheme.
47148	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
47149	// LoadMetrics - The service load metrics.
47150	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
47151	// ServicePlacementPolicies - The service placement policies.
47152	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
47153	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
47154	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
47155	// ScalingPolicies - Scaling policies for this service.
47156	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
47157	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
47158	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
47159}
47160
47161func unmarshalBasicServiceUpdateDescription(body []byte) (BasicServiceUpdateDescription, error) {
47162	var m map[string]interface{}
47163	err := json.Unmarshal(body, &m)
47164	if err != nil {
47165		return nil, err
47166	}
47167
47168	switch m["ServiceKind"] {
47169	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateful):
47170		var ssud StatefulServiceUpdateDescription
47171		err := json.Unmarshal(body, &ssud)
47172		return ssud, err
47173	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateless):
47174		var ssud StatelessServiceUpdateDescription
47175		err := json.Unmarshal(body, &ssud)
47176		return ssud, err
47177	default:
47178		var sud ServiceUpdateDescription
47179		err := json.Unmarshal(body, &sud)
47180		return sud, err
47181	}
47182}
47183func unmarshalBasicServiceUpdateDescriptionArray(body []byte) ([]BasicServiceUpdateDescription, error) {
47184	var rawMessages []*json.RawMessage
47185	err := json.Unmarshal(body, &rawMessages)
47186	if err != nil {
47187		return nil, err
47188	}
47189
47190	sudArray := make([]BasicServiceUpdateDescription, len(rawMessages))
47191
47192	for index, rawMessage := range rawMessages {
47193		sud, err := unmarshalBasicServiceUpdateDescription(*rawMessage)
47194		if err != nil {
47195			return nil, err
47196		}
47197		sudArray[index] = sud
47198	}
47199	return sudArray, nil
47200}
47201
47202// MarshalJSON is the custom marshaler for ServiceUpdateDescription.
47203func (sud ServiceUpdateDescription) MarshalJSON() ([]byte, error) {
47204	sud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription
47205	objectMap := make(map[string]interface{})
47206	if sud.Flags != nil {
47207		objectMap["Flags"] = sud.Flags
47208	}
47209	if sud.PlacementConstraints != nil {
47210		objectMap["PlacementConstraints"] = sud.PlacementConstraints
47211	}
47212	if sud.CorrelationScheme != nil {
47213		objectMap["CorrelationScheme"] = sud.CorrelationScheme
47214	}
47215	if sud.LoadMetrics != nil {
47216		objectMap["LoadMetrics"] = sud.LoadMetrics
47217	}
47218	if sud.ServicePlacementPolicies != nil {
47219		objectMap["ServicePlacementPolicies"] = sud.ServicePlacementPolicies
47220	}
47221	if sud.DefaultMoveCost != "" {
47222		objectMap["DefaultMoveCost"] = sud.DefaultMoveCost
47223	}
47224	if sud.ScalingPolicies != nil {
47225		objectMap["ScalingPolicies"] = sud.ScalingPolicies
47226	}
47227	if sud.ServiceKind != "" {
47228		objectMap["ServiceKind"] = sud.ServiceKind
47229	}
47230	return json.Marshal(objectMap)
47231}
47232
47233// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47234func (sud ServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
47235	return nil, false
47236}
47237
47238// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47239func (sud ServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
47240	return nil, false
47241}
47242
47243// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47244func (sud ServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
47245	return &sud, true
47246}
47247
47248// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47249func (sud ServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
47250	return &sud, true
47251}
47252
47253// UnmarshalJSON is the custom unmarshaler for ServiceUpdateDescription struct.
47254func (sud *ServiceUpdateDescription) UnmarshalJSON(body []byte) error {
47255	var m map[string]*json.RawMessage
47256	err := json.Unmarshal(body, &m)
47257	if err != nil {
47258		return err
47259	}
47260	for k, v := range m {
47261		switch k {
47262		case "Flags":
47263			if v != nil {
47264				var flags string
47265				err = json.Unmarshal(*v, &flags)
47266				if err != nil {
47267					return err
47268				}
47269				sud.Flags = &flags
47270			}
47271		case "PlacementConstraints":
47272			if v != nil {
47273				var placementConstraints string
47274				err = json.Unmarshal(*v, &placementConstraints)
47275				if err != nil {
47276					return err
47277				}
47278				sud.PlacementConstraints = &placementConstraints
47279			}
47280		case "CorrelationScheme":
47281			if v != nil {
47282				var correlationScheme []ServiceCorrelationDescription
47283				err = json.Unmarshal(*v, &correlationScheme)
47284				if err != nil {
47285					return err
47286				}
47287				sud.CorrelationScheme = &correlationScheme
47288			}
47289		case "LoadMetrics":
47290			if v != nil {
47291				var loadMetrics []ServiceLoadMetricDescription
47292				err = json.Unmarshal(*v, &loadMetrics)
47293				if err != nil {
47294					return err
47295				}
47296				sud.LoadMetrics = &loadMetrics
47297			}
47298		case "ServicePlacementPolicies":
47299			if v != nil {
47300				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
47301				if err != nil {
47302					return err
47303				}
47304				sud.ServicePlacementPolicies = &servicePlacementPolicies
47305			}
47306		case "DefaultMoveCost":
47307			if v != nil {
47308				var defaultMoveCost MoveCost
47309				err = json.Unmarshal(*v, &defaultMoveCost)
47310				if err != nil {
47311					return err
47312				}
47313				sud.DefaultMoveCost = defaultMoveCost
47314			}
47315		case "ScalingPolicies":
47316			if v != nil {
47317				var scalingPolicies []ScalingPolicyDescription
47318				err = json.Unmarshal(*v, &scalingPolicies)
47319				if err != nil {
47320					return err
47321				}
47322				sud.ScalingPolicies = &scalingPolicies
47323			}
47324		case "ServiceKind":
47325			if v != nil {
47326				var serviceKind ServiceKindBasicServiceUpdateDescription
47327				err = json.Unmarshal(*v, &serviceKind)
47328				if err != nil {
47329					return err
47330				}
47331				sud.ServiceKind = serviceKind
47332			}
47333		}
47334	}
47335
47336	return nil
47337}
47338
47339// SingletonPartitionInformation information about a partition that is singleton. The services with singleton
47340// partitioning scheme are effectively non-partitioned. They only have one partition.
47341type SingletonPartitionInformation struct {
47342	// 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.
47343	ID *uuid.UUID `json:"Id,omitempty"`
47344	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
47345	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
47346}
47347
47348// MarshalJSON is the custom marshaler for SingletonPartitionInformation.
47349func (spi SingletonPartitionInformation) MarshalJSON() ([]byte, error) {
47350	spi.ServicePartitionKind = ServicePartitionKindSingleton1
47351	objectMap := make(map[string]interface{})
47352	if spi.ID != nil {
47353		objectMap["Id"] = spi.ID
47354	}
47355	if spi.ServicePartitionKind != "" {
47356		objectMap["ServicePartitionKind"] = spi.ServicePartitionKind
47357	}
47358	return json.Marshal(objectMap)
47359}
47360
47361// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
47362func (spi SingletonPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
47363	return nil, false
47364}
47365
47366// AsNamedPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
47367func (spi SingletonPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
47368	return nil, false
47369}
47370
47371// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
47372func (spi SingletonPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
47373	return &spi, true
47374}
47375
47376// AsPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
47377func (spi SingletonPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
47378	return nil, false
47379}
47380
47381// AsBasicPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
47382func (spi SingletonPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
47383	return &spi, true
47384}
47385
47386// SingletonPartitionSchemeDescription describes the partition scheme of a singleton-partitioned, or
47387// non-partitioned service.
47388type SingletonPartitionSchemeDescription struct {
47389	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
47390	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
47391}
47392
47393// MarshalJSON is the custom marshaler for SingletonPartitionSchemeDescription.
47394func (spsd SingletonPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
47395	spsd.PartitionScheme = PartitionSchemeSingleton1
47396	objectMap := make(map[string]interface{})
47397	if spsd.PartitionScheme != "" {
47398		objectMap["PartitionScheme"] = spsd.PartitionScheme
47399	}
47400	return json.Marshal(objectMap)
47401}
47402
47403// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
47404func (spsd SingletonPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
47405	return nil, false
47406}
47407
47408// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
47409func (spsd SingletonPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
47410	return &spsd, true
47411}
47412
47413// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
47414func (spsd SingletonPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
47415	return nil, false
47416}
47417
47418// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
47419func (spsd SingletonPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
47420	return nil, false
47421}
47422
47423// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
47424func (spsd SingletonPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
47425	return &spsd, true
47426}
47427
47428// StartClusterUpgradeDescription describes the parameters for starting a cluster upgrade.
47429type StartClusterUpgradeDescription struct {
47430	// CodeVersion - The cluster code version.
47431	CodeVersion *string `json:"CodeVersion,omitempty"`
47432	// ConfigVersion - The cluster configuration version.
47433	ConfigVersion *string `json:"ConfigVersion,omitempty"`
47434	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
47435	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
47436	// 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'
47437	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
47438	// 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).
47439	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
47440	// 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).
47441	ForceRestart *bool `json:"ForceRestart,omitempty"`
47442	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
47443	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
47444	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
47445	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
47446	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
47447	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
47448	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
47449	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
47450	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
47451	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
47452}
47453
47454// StartedChaosEvent describes a Chaos event that gets generated when Chaos is started.
47455type StartedChaosEvent struct {
47456	// ChaosParameters - Defines all the parameters to configure a Chaos run.
47457	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
47458	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
47459	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
47460	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
47461	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
47462}
47463
47464// MarshalJSON is the custom marshaler for StartedChaosEvent.
47465func (sce StartedChaosEvent) MarshalJSON() ([]byte, error) {
47466	sce.Kind = KindStarted
47467	objectMap := make(map[string]interface{})
47468	if sce.ChaosParameters != nil {
47469		objectMap["ChaosParameters"] = sce.ChaosParameters
47470	}
47471	if sce.TimeStampUtc != nil {
47472		objectMap["TimeStampUtc"] = sce.TimeStampUtc
47473	}
47474	if sce.Kind != "" {
47475		objectMap["Kind"] = sce.Kind
47476	}
47477	return json.Marshal(objectMap)
47478}
47479
47480// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47481func (sce StartedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
47482	return nil, false
47483}
47484
47485// AsStartedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47486func (sce StartedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
47487	return &sce, true
47488}
47489
47490// AsStoppedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47491func (sce StartedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
47492	return nil, false
47493}
47494
47495// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47496func (sce StartedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
47497	return nil, false
47498}
47499
47500// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47501func (sce StartedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
47502	return nil, false
47503}
47504
47505// AsWaitingChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47506func (sce StartedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
47507	return nil, false
47508}
47509
47510// AsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47511func (sce StartedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
47512	return nil, false
47513}
47514
47515// AsBasicChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
47516func (sce StartedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
47517	return &sce, true
47518}
47519
47520// StatefulReplicaHealthReportCreatedEvent stateful Replica Health Report Created event.
47521type StatefulReplicaHealthReportCreatedEvent struct {
47522	// ReplicaInstanceID - Id of Replica instance.
47523	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
47524	// SourceID - Id of report source.
47525	SourceID *string `json:"SourceId,omitempty"`
47526	// Property - Describes the property.
47527	Property *string `json:"Property,omitempty"`
47528	// HealthState - Describes the property health state.
47529	HealthState *string `json:"HealthState,omitempty"`
47530	// TimeToLiveMs - Time to live in milli-seconds.
47531	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
47532	// SequenceNumber - Sequence number of report.
47533	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
47534	// Description - Description of report.
47535	Description *string `json:"Description,omitempty"`
47536	// RemoveWhenExpired - Indicates the removal when it expires.
47537	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
47538	// SourceUtcTimestamp - Source time.
47539	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
47540	// 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.
47541	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
47542	// 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.
47543	ReplicaID *int64 `json:"ReplicaId,omitempty"`
47544	// EventInstanceID - The identifier for the FabricEvent instance.
47545	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
47546	// TimeStamp - The time event was logged.
47547	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
47548	// HasCorrelatedEvents - Shows there is existing related events available.
47549	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
47550	// 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'
47551	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
47552}
47553
47554// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportCreatedEvent.
47555func (srhrce StatefulReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
47556	srhrce.Kind = KindStatefulReplicaHealthReportCreated
47557	objectMap := make(map[string]interface{})
47558	if srhrce.ReplicaInstanceID != nil {
47559		objectMap["ReplicaInstanceId"] = srhrce.ReplicaInstanceID
47560	}
47561	if srhrce.SourceID != nil {
47562		objectMap["SourceId"] = srhrce.SourceID
47563	}
47564	if srhrce.Property != nil {
47565		objectMap["Property"] = srhrce.Property
47566	}
47567	if srhrce.HealthState != nil {
47568		objectMap["HealthState"] = srhrce.HealthState
47569	}
47570	if srhrce.TimeToLiveMs != nil {
47571		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
47572	}
47573	if srhrce.SequenceNumber != nil {
47574		objectMap["SequenceNumber"] = srhrce.SequenceNumber
47575	}
47576	if srhrce.Description != nil {
47577		objectMap["Description"] = srhrce.Description
47578	}
47579	if srhrce.RemoveWhenExpired != nil {
47580		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
47581	}
47582	if srhrce.SourceUtcTimestamp != nil {
47583		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
47584	}
47585	if srhrce.PartitionID != nil {
47586		objectMap["PartitionId"] = srhrce.PartitionID
47587	}
47588	if srhrce.ReplicaID != nil {
47589		objectMap["ReplicaId"] = srhrce.ReplicaID
47590	}
47591	if srhrce.EventInstanceID != nil {
47592		objectMap["EventInstanceId"] = srhrce.EventInstanceID
47593	}
47594	if srhrce.TimeStamp != nil {
47595		objectMap["TimeStamp"] = srhrce.TimeStamp
47596	}
47597	if srhrce.HasCorrelatedEvents != nil {
47598		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
47599	}
47600	if srhrce.Kind != "" {
47601		objectMap["Kind"] = srhrce.Kind
47602	}
47603	return json.Marshal(objectMap)
47604}
47605
47606// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47607func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
47608	return nil, false
47609}
47610
47611// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47612func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
47613	return nil, false
47614}
47615
47616// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47617func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
47618	return nil, false
47619}
47620
47621// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47622func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
47623	return nil, false
47624}
47625
47626// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47627func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
47628	return nil, false
47629}
47630
47631// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47632func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
47633	return nil, false
47634}
47635
47636// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47637func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
47638	return nil, false
47639}
47640
47641// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47642func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
47643	return nil, false
47644}
47645
47646// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47647func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
47648	return nil, false
47649}
47650
47651// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47652func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
47653	return nil, false
47654}
47655
47656// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47657func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
47658	return nil, false
47659}
47660
47661// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47662func (srhrce StatefulReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
47663	return nil, false
47664}
47665
47666// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47667func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
47668	return &srhrce, true
47669}
47670
47671// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47672func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
47673	return nil, false
47674}
47675
47676// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47677func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
47678	return nil, false
47679}
47680
47681// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47682func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
47683	return nil, false
47684}
47685
47686// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47687func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
47688	return nil, false
47689}
47690
47691// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47692func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
47693	return nil, false
47694}
47695
47696// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47697func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
47698	return nil, false
47699}
47700
47701// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47702func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
47703	return nil, false
47704}
47705
47706// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47707func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
47708	return nil, false
47709}
47710
47711// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47712func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
47713	return nil, false
47714}
47715
47716// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47717func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
47718	return nil, false
47719}
47720
47721// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47722func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
47723	return nil, false
47724}
47725
47726// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47727func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
47728	return nil, false
47729}
47730
47731// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47732func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
47733	return nil, false
47734}
47735
47736// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47737func (srhrce StatefulReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
47738	return nil, false
47739}
47740
47741// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47742func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
47743	return nil, false
47744}
47745
47746// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47747func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
47748	return nil, false
47749}
47750
47751// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47752func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
47753	return nil, false
47754}
47755
47756// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47757func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
47758	return nil, false
47759}
47760
47761// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47762func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
47763	return nil, false
47764}
47765
47766// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47767func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
47768	return nil, false
47769}
47770
47771// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47772func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
47773	return nil, false
47774}
47775
47776// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47777func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
47778	return nil, false
47779}
47780
47781// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47782func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
47783	return nil, false
47784}
47785
47786// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47787func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
47788	return nil, false
47789}
47790
47791// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47792func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
47793	return nil, false
47794}
47795
47796// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47797func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
47798	return nil, false
47799}
47800
47801// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47802func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
47803	return nil, false
47804}
47805
47806// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47807func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
47808	return nil, false
47809}
47810
47811// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47812func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
47813	return nil, false
47814}
47815
47816// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47817func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
47818	return nil, false
47819}
47820
47821// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47822func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
47823	return nil, false
47824}
47825
47826// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47827func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
47828	return nil, false
47829}
47830
47831// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47832func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
47833	return nil, false
47834}
47835
47836// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47837func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
47838	return nil, false
47839}
47840
47841// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47842func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
47843	return nil, false
47844}
47845
47846// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47847func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
47848	return nil, false
47849}
47850
47851// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47852func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
47853	return nil, false
47854}
47855
47856// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47857func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
47858	return nil, false
47859}
47860
47861// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47862func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
47863	return nil, false
47864}
47865
47866// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47867func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
47868	return nil, false
47869}
47870
47871// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47872func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
47873	return &srhrce, true
47874}
47875
47876// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47877func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
47878	return nil, false
47879}
47880
47881// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47882func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
47883	return nil, false
47884}
47885
47886// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47887func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
47888	return nil, false
47889}
47890
47891// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47892func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
47893	return nil, false
47894}
47895
47896// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47897func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
47898	return nil, false
47899}
47900
47901// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47902func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
47903	return nil, false
47904}
47905
47906// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47907func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
47908	return nil, false
47909}
47910
47911// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47912func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
47913	return nil, false
47914}
47915
47916// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47917func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
47918	return nil, false
47919}
47920
47921// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47922func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
47923	return nil, false
47924}
47925
47926// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47927func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
47928	return nil, false
47929}
47930
47931// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47932func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
47933	return nil, false
47934}
47935
47936// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47937func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
47938	return nil, false
47939}
47940
47941// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47942func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
47943	return nil, false
47944}
47945
47946// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47947func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
47948	return nil, false
47949}
47950
47951// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47952func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
47953	return nil, false
47954}
47955
47956// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47957func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
47958	return nil, false
47959}
47960
47961// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47962func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
47963	return nil, false
47964}
47965
47966// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47967func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
47968	return nil, false
47969}
47970
47971// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47972func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
47973	return nil, false
47974}
47975
47976// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47977func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
47978	return nil, false
47979}
47980
47981// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47982func (srhrce StatefulReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
47983	return nil, false
47984}
47985
47986// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
47987func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
47988	return &srhrce, true
47989}
47990
47991// StatefulReplicaHealthReportExpiredEvent stateful Replica Health Report Expired event.
47992type StatefulReplicaHealthReportExpiredEvent struct {
47993	// ReplicaInstanceID - Id of Replica instance.
47994	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
47995	// SourceID - Id of report source.
47996	SourceID *string `json:"SourceId,omitempty"`
47997	// Property - Describes the property.
47998	Property *string `json:"Property,omitempty"`
47999	// HealthState - Describes the property health state.
48000	HealthState *string `json:"HealthState,omitempty"`
48001	// TimeToLiveMs - Time to live in milli-seconds.
48002	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
48003	// SequenceNumber - Sequence number of report.
48004	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
48005	// Description - Description of report.
48006	Description *string `json:"Description,omitempty"`
48007	// RemoveWhenExpired - Indicates the removal when it expires.
48008	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
48009	// SourceUtcTimestamp - Source time.
48010	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
48011	// 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.
48012	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
48013	// 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.
48014	ReplicaID *int64 `json:"ReplicaId,omitempty"`
48015	// EventInstanceID - The identifier for the FabricEvent instance.
48016	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
48017	// TimeStamp - The time event was logged.
48018	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
48019	// HasCorrelatedEvents - Shows there is existing related events available.
48020	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
48021	// 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'
48022	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
48023}
48024
48025// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportExpiredEvent.
48026func (srhree StatefulReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
48027	srhree.Kind = KindStatefulReplicaHealthReportExpired
48028	objectMap := make(map[string]interface{})
48029	if srhree.ReplicaInstanceID != nil {
48030		objectMap["ReplicaInstanceId"] = srhree.ReplicaInstanceID
48031	}
48032	if srhree.SourceID != nil {
48033		objectMap["SourceId"] = srhree.SourceID
48034	}
48035	if srhree.Property != nil {
48036		objectMap["Property"] = srhree.Property
48037	}
48038	if srhree.HealthState != nil {
48039		objectMap["HealthState"] = srhree.HealthState
48040	}
48041	if srhree.TimeToLiveMs != nil {
48042		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
48043	}
48044	if srhree.SequenceNumber != nil {
48045		objectMap["SequenceNumber"] = srhree.SequenceNumber
48046	}
48047	if srhree.Description != nil {
48048		objectMap["Description"] = srhree.Description
48049	}
48050	if srhree.RemoveWhenExpired != nil {
48051		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
48052	}
48053	if srhree.SourceUtcTimestamp != nil {
48054		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
48055	}
48056	if srhree.PartitionID != nil {
48057		objectMap["PartitionId"] = srhree.PartitionID
48058	}
48059	if srhree.ReplicaID != nil {
48060		objectMap["ReplicaId"] = srhree.ReplicaID
48061	}
48062	if srhree.EventInstanceID != nil {
48063		objectMap["EventInstanceId"] = srhree.EventInstanceID
48064	}
48065	if srhree.TimeStamp != nil {
48066		objectMap["TimeStamp"] = srhree.TimeStamp
48067	}
48068	if srhree.HasCorrelatedEvents != nil {
48069		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
48070	}
48071	if srhree.Kind != "" {
48072		objectMap["Kind"] = srhree.Kind
48073	}
48074	return json.Marshal(objectMap)
48075}
48076
48077// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48078func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
48079	return nil, false
48080}
48081
48082// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48083func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
48084	return nil, false
48085}
48086
48087// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48088func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
48089	return nil, false
48090}
48091
48092// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48093func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
48094	return nil, false
48095}
48096
48097// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48098func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
48099	return nil, false
48100}
48101
48102// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48103func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
48104	return nil, false
48105}
48106
48107// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48108func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
48109	return nil, false
48110}
48111
48112// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48113func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
48114	return nil, false
48115}
48116
48117// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48118func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
48119	return nil, false
48120}
48121
48122// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48123func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
48124	return nil, false
48125}
48126
48127// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48128func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
48129	return nil, false
48130}
48131
48132// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48133func (srhree StatefulReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
48134	return nil, false
48135}
48136
48137// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48138func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
48139	return &srhree, true
48140}
48141
48142// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48143func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
48144	return nil, false
48145}
48146
48147// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48148func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
48149	return nil, false
48150}
48151
48152// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48153func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
48154	return nil, false
48155}
48156
48157// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48158func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
48159	return nil, false
48160}
48161
48162// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48163func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
48164	return nil, false
48165}
48166
48167// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48168func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
48169	return nil, false
48170}
48171
48172// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48173func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
48174	return nil, false
48175}
48176
48177// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48178func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
48179	return nil, false
48180}
48181
48182// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48183func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
48184	return nil, false
48185}
48186
48187// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48188func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
48189	return nil, false
48190}
48191
48192// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48193func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
48194	return nil, false
48195}
48196
48197// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48198func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
48199	return nil, false
48200}
48201
48202// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48203func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
48204	return nil, false
48205}
48206
48207// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48208func (srhree StatefulReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
48209	return nil, false
48210}
48211
48212// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48213func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
48214	return nil, false
48215}
48216
48217// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48218func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
48219	return nil, false
48220}
48221
48222// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48223func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
48224	return nil, false
48225}
48226
48227// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48228func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
48229	return nil, false
48230}
48231
48232// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48233func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
48234	return nil, false
48235}
48236
48237// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48238func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
48239	return nil, false
48240}
48241
48242// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48243func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
48244	return nil, false
48245}
48246
48247// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48248func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
48249	return nil, false
48250}
48251
48252// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48253func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
48254	return nil, false
48255}
48256
48257// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48258func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
48259	return nil, false
48260}
48261
48262// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48263func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
48264	return nil, false
48265}
48266
48267// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48268func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
48269	return nil, false
48270}
48271
48272// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48273func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
48274	return nil, false
48275}
48276
48277// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48278func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
48279	return nil, false
48280}
48281
48282// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48283func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
48284	return nil, false
48285}
48286
48287// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48288func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
48289	return nil, false
48290}
48291
48292// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48293func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
48294	return nil, false
48295}
48296
48297// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48298func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
48299	return nil, false
48300}
48301
48302// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48303func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
48304	return nil, false
48305}
48306
48307// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48308func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
48309	return nil, false
48310}
48311
48312// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48313func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
48314	return nil, false
48315}
48316
48317// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48318func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
48319	return nil, false
48320}
48321
48322// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48323func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
48324	return nil, false
48325}
48326
48327// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48328func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
48329	return nil, false
48330}
48331
48332// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48333func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
48334	return nil, false
48335}
48336
48337// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48338func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
48339	return nil, false
48340}
48341
48342// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48343func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
48344	return nil, false
48345}
48346
48347// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48348func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
48349	return &srhree, true
48350}
48351
48352// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48353func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
48354	return nil, false
48355}
48356
48357// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48358func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
48359	return nil, false
48360}
48361
48362// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48363func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
48364	return nil, false
48365}
48366
48367// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48368func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
48369	return nil, false
48370}
48371
48372// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48373func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
48374	return nil, false
48375}
48376
48377// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48378func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
48379	return nil, false
48380}
48381
48382// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48383func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
48384	return nil, false
48385}
48386
48387// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48388func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
48389	return nil, false
48390}
48391
48392// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48393func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
48394	return nil, false
48395}
48396
48397// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48398func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
48399	return nil, false
48400}
48401
48402// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48403func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
48404	return nil, false
48405}
48406
48407// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48408func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
48409	return nil, false
48410}
48411
48412// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48413func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
48414	return nil, false
48415}
48416
48417// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48418func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
48419	return nil, false
48420}
48421
48422// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48423func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
48424	return nil, false
48425}
48426
48427// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48428func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
48429	return nil, false
48430}
48431
48432// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48433func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
48434	return nil, false
48435}
48436
48437// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48438func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
48439	return nil, false
48440}
48441
48442// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48443func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
48444	return nil, false
48445}
48446
48447// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48448func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
48449	return nil, false
48450}
48451
48452// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48453func (srhree StatefulReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
48454	return nil, false
48455}
48456
48457// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48458func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
48459	return &srhree, true
48460}
48461
48462// StatefulServiceDescription describes a stateful service.
48463type StatefulServiceDescription struct {
48464	// TargetReplicaSetSize - The target replica set size as a number.
48465	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
48466	// MinReplicaSetSize - The minimum replica set size as a number.
48467	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
48468	// 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.
48469	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
48470	// 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.
48471	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
48472	// For example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.
48473	// - None - Does not indicate any other properties are set. The value is zero.
48474	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.
48475	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.
48476	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.
48477	Flags *int32 `json:"Flags,omitempty"`
48478	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
48479	ReplicaRestartWaitDurationSeconds *int64 `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
48480	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
48481	QuorumLossWaitDurationSeconds *int64 `json:"QuorumLossWaitDurationSeconds,omitempty"`
48482	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
48483	StandByReplicaKeepDurationSeconds *int64 `json:"StandByReplicaKeepDurationSeconds,omitempty"`
48484	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
48485	ApplicationName *string `json:"ApplicationName,omitempty"`
48486	// ServiceName - The full name of the service with 'fabric:' URI scheme.
48487	ServiceName *string `json:"ServiceName,omitempty"`
48488	// ServiceTypeName - Name of the service type as specified in the service manifest.
48489	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
48490	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
48491	InitializationData *[]int32 `json:"InitializationData,omitempty"`
48492	// PartitionDescription - The partition description as an object.
48493	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
48494	// 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)".
48495	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
48496	// CorrelationScheme - The correlation scheme.
48497	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
48498	// ServiceLoadMetrics - The service load metrics.
48499	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
48500	// ServicePlacementPolicies - The service placement policies.
48501	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
48502	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
48503	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
48504	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
48505	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
48506	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
48507	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
48508	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
48509	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
48510	// ScalingPolicies - Scaling policies for this service.
48511	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
48512	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
48513	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
48514}
48515
48516// MarshalJSON is the custom marshaler for StatefulServiceDescription.
48517func (ssd StatefulServiceDescription) MarshalJSON() ([]byte, error) {
48518	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateful
48519	objectMap := make(map[string]interface{})
48520	if ssd.TargetReplicaSetSize != nil {
48521		objectMap["TargetReplicaSetSize"] = ssd.TargetReplicaSetSize
48522	}
48523	if ssd.MinReplicaSetSize != nil {
48524		objectMap["MinReplicaSetSize"] = ssd.MinReplicaSetSize
48525	}
48526	if ssd.HasPersistedState != nil {
48527		objectMap["HasPersistedState"] = ssd.HasPersistedState
48528	}
48529	if ssd.Flags != nil {
48530		objectMap["Flags"] = ssd.Flags
48531	}
48532	if ssd.ReplicaRestartWaitDurationSeconds != nil {
48533		objectMap["ReplicaRestartWaitDurationSeconds"] = ssd.ReplicaRestartWaitDurationSeconds
48534	}
48535	if ssd.QuorumLossWaitDurationSeconds != nil {
48536		objectMap["QuorumLossWaitDurationSeconds"] = ssd.QuorumLossWaitDurationSeconds
48537	}
48538	if ssd.StandByReplicaKeepDurationSeconds != nil {
48539		objectMap["StandByReplicaKeepDurationSeconds"] = ssd.StandByReplicaKeepDurationSeconds
48540	}
48541	if ssd.ApplicationName != nil {
48542		objectMap["ApplicationName"] = ssd.ApplicationName
48543	}
48544	if ssd.ServiceName != nil {
48545		objectMap["ServiceName"] = ssd.ServiceName
48546	}
48547	if ssd.ServiceTypeName != nil {
48548		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
48549	}
48550	if ssd.InitializationData != nil {
48551		objectMap["InitializationData"] = ssd.InitializationData
48552	}
48553	objectMap["PartitionDescription"] = ssd.PartitionDescription
48554	if ssd.PlacementConstraints != nil {
48555		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
48556	}
48557	if ssd.CorrelationScheme != nil {
48558		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
48559	}
48560	if ssd.ServiceLoadMetrics != nil {
48561		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
48562	}
48563	if ssd.ServicePlacementPolicies != nil {
48564		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
48565	}
48566	if ssd.DefaultMoveCost != "" {
48567		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
48568	}
48569	if ssd.IsDefaultMoveCostSpecified != nil {
48570		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
48571	}
48572	if ssd.ServicePackageActivationMode != "" {
48573		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
48574	}
48575	if ssd.ServiceDNSName != nil {
48576		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
48577	}
48578	if ssd.ScalingPolicies != nil {
48579		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
48580	}
48581	if ssd.ServiceKind != "" {
48582		objectMap["ServiceKind"] = ssd.ServiceKind
48583	}
48584	return json.Marshal(objectMap)
48585}
48586
48587// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
48588func (ssd StatefulServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
48589	return &ssd, true
48590}
48591
48592// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
48593func (ssd StatefulServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
48594	return nil, false
48595}
48596
48597// AsServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
48598func (ssd StatefulServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
48599	return nil, false
48600}
48601
48602// AsBasicServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
48603func (ssd StatefulServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
48604	return &ssd, true
48605}
48606
48607// UnmarshalJSON is the custom unmarshaler for StatefulServiceDescription struct.
48608func (ssd *StatefulServiceDescription) UnmarshalJSON(body []byte) error {
48609	var m map[string]*json.RawMessage
48610	err := json.Unmarshal(body, &m)
48611	if err != nil {
48612		return err
48613	}
48614	for k, v := range m {
48615		switch k {
48616		case "TargetReplicaSetSize":
48617			if v != nil {
48618				var targetReplicaSetSize int32
48619				err = json.Unmarshal(*v, &targetReplicaSetSize)
48620				if err != nil {
48621					return err
48622				}
48623				ssd.TargetReplicaSetSize = &targetReplicaSetSize
48624			}
48625		case "MinReplicaSetSize":
48626			if v != nil {
48627				var minReplicaSetSize int32
48628				err = json.Unmarshal(*v, &minReplicaSetSize)
48629				if err != nil {
48630					return err
48631				}
48632				ssd.MinReplicaSetSize = &minReplicaSetSize
48633			}
48634		case "HasPersistedState":
48635			if v != nil {
48636				var hasPersistedState bool
48637				err = json.Unmarshal(*v, &hasPersistedState)
48638				if err != nil {
48639					return err
48640				}
48641				ssd.HasPersistedState = &hasPersistedState
48642			}
48643		case "Flags":
48644			if v != nil {
48645				var flags int32
48646				err = json.Unmarshal(*v, &flags)
48647				if err != nil {
48648					return err
48649				}
48650				ssd.Flags = &flags
48651			}
48652		case "ReplicaRestartWaitDurationSeconds":
48653			if v != nil {
48654				var replicaRestartWaitDurationSeconds int64
48655				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
48656				if err != nil {
48657					return err
48658				}
48659				ssd.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
48660			}
48661		case "QuorumLossWaitDurationSeconds":
48662			if v != nil {
48663				var quorumLossWaitDurationSeconds int64
48664				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
48665				if err != nil {
48666					return err
48667				}
48668				ssd.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
48669			}
48670		case "StandByReplicaKeepDurationSeconds":
48671			if v != nil {
48672				var standByReplicaKeepDurationSeconds int64
48673				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
48674				if err != nil {
48675					return err
48676				}
48677				ssd.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
48678			}
48679		case "ApplicationName":
48680			if v != nil {
48681				var applicationName string
48682				err = json.Unmarshal(*v, &applicationName)
48683				if err != nil {
48684					return err
48685				}
48686				ssd.ApplicationName = &applicationName
48687			}
48688		case "ServiceName":
48689			if v != nil {
48690				var serviceName string
48691				err = json.Unmarshal(*v, &serviceName)
48692				if err != nil {
48693					return err
48694				}
48695				ssd.ServiceName = &serviceName
48696			}
48697		case "ServiceTypeName":
48698			if v != nil {
48699				var serviceTypeName string
48700				err = json.Unmarshal(*v, &serviceTypeName)
48701				if err != nil {
48702					return err
48703				}
48704				ssd.ServiceTypeName = &serviceTypeName
48705			}
48706		case "InitializationData":
48707			if v != nil {
48708				var initializationData []int32
48709				err = json.Unmarshal(*v, &initializationData)
48710				if err != nil {
48711					return err
48712				}
48713				ssd.InitializationData = &initializationData
48714			}
48715		case "PartitionDescription":
48716			if v != nil {
48717				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
48718				if err != nil {
48719					return err
48720				}
48721				ssd.PartitionDescription = partitionDescription
48722			}
48723		case "PlacementConstraints":
48724			if v != nil {
48725				var placementConstraints string
48726				err = json.Unmarshal(*v, &placementConstraints)
48727				if err != nil {
48728					return err
48729				}
48730				ssd.PlacementConstraints = &placementConstraints
48731			}
48732		case "CorrelationScheme":
48733			if v != nil {
48734				var correlationScheme []ServiceCorrelationDescription
48735				err = json.Unmarshal(*v, &correlationScheme)
48736				if err != nil {
48737					return err
48738				}
48739				ssd.CorrelationScheme = &correlationScheme
48740			}
48741		case "ServiceLoadMetrics":
48742			if v != nil {
48743				var serviceLoadMetrics []ServiceLoadMetricDescription
48744				err = json.Unmarshal(*v, &serviceLoadMetrics)
48745				if err != nil {
48746					return err
48747				}
48748				ssd.ServiceLoadMetrics = &serviceLoadMetrics
48749			}
48750		case "ServicePlacementPolicies":
48751			if v != nil {
48752				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
48753				if err != nil {
48754					return err
48755				}
48756				ssd.ServicePlacementPolicies = &servicePlacementPolicies
48757			}
48758		case "DefaultMoveCost":
48759			if v != nil {
48760				var defaultMoveCost MoveCost
48761				err = json.Unmarshal(*v, &defaultMoveCost)
48762				if err != nil {
48763					return err
48764				}
48765				ssd.DefaultMoveCost = defaultMoveCost
48766			}
48767		case "IsDefaultMoveCostSpecified":
48768			if v != nil {
48769				var isDefaultMoveCostSpecified bool
48770				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
48771				if err != nil {
48772					return err
48773				}
48774				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
48775			}
48776		case "ServicePackageActivationMode":
48777			if v != nil {
48778				var servicePackageActivationMode ServicePackageActivationMode
48779				err = json.Unmarshal(*v, &servicePackageActivationMode)
48780				if err != nil {
48781					return err
48782				}
48783				ssd.ServicePackageActivationMode = servicePackageActivationMode
48784			}
48785		case "ServiceDnsName":
48786			if v != nil {
48787				var serviceDNSName string
48788				err = json.Unmarshal(*v, &serviceDNSName)
48789				if err != nil {
48790					return err
48791				}
48792				ssd.ServiceDNSName = &serviceDNSName
48793			}
48794		case "ScalingPolicies":
48795			if v != nil {
48796				var scalingPolicies []ScalingPolicyDescription
48797				err = json.Unmarshal(*v, &scalingPolicies)
48798				if err != nil {
48799					return err
48800				}
48801				ssd.ScalingPolicies = &scalingPolicies
48802			}
48803		case "ServiceKind":
48804			if v != nil {
48805				var serviceKind ServiceKindBasicServiceDescription
48806				err = json.Unmarshal(*v, &serviceKind)
48807				if err != nil {
48808					return err
48809				}
48810				ssd.ServiceKind = serviceKind
48811			}
48812		}
48813	}
48814
48815	return nil
48816}
48817
48818// StatefulServiceInfo information about a stateful Service Fabric service.
48819type StatefulServiceInfo struct {
48820	// HasPersistedState - Whether the service has persisted state.
48821	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
48822	// 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.
48823	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
48824	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
48825	ID *string `json:"Id,omitempty"`
48826	// Name - The full name of the service with 'fabric:' URI scheme.
48827	Name *string `json:"Name,omitempty"`
48828	// TypeName - Name of the service type as specified in the service manifest.
48829	TypeName *string `json:"TypeName,omitempty"`
48830	// ManifestVersion - The version of the service manifest.
48831	ManifestVersion *string `json:"ManifestVersion,omitempty"`
48832	// 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'
48833	HealthState HealthState `json:"HealthState,omitempty"`
48834	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
48835	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
48836	// IsServiceGroup - Whether the service is in a service group.
48837	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
48838	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
48839	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
48840}
48841
48842// MarshalJSON is the custom marshaler for StatefulServiceInfo.
48843func (ssi StatefulServiceInfo) MarshalJSON() ([]byte, error) {
48844	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateful
48845	objectMap := make(map[string]interface{})
48846	if ssi.HasPersistedState != nil {
48847		objectMap["HasPersistedState"] = ssi.HasPersistedState
48848	}
48849	if ssi.ID != nil {
48850		objectMap["Id"] = ssi.ID
48851	}
48852	if ssi.Name != nil {
48853		objectMap["Name"] = ssi.Name
48854	}
48855	if ssi.TypeName != nil {
48856		objectMap["TypeName"] = ssi.TypeName
48857	}
48858	if ssi.ManifestVersion != nil {
48859		objectMap["ManifestVersion"] = ssi.ManifestVersion
48860	}
48861	if ssi.HealthState != "" {
48862		objectMap["HealthState"] = ssi.HealthState
48863	}
48864	if ssi.ServiceStatus != "" {
48865		objectMap["ServiceStatus"] = ssi.ServiceStatus
48866	}
48867	if ssi.IsServiceGroup != nil {
48868		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
48869	}
48870	if ssi.ServiceKind != "" {
48871		objectMap["ServiceKind"] = ssi.ServiceKind
48872	}
48873	return json.Marshal(objectMap)
48874}
48875
48876// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
48877func (ssi StatefulServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
48878	return &ssi, true
48879}
48880
48881// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
48882func (ssi StatefulServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
48883	return nil, false
48884}
48885
48886// AsServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
48887func (ssi StatefulServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
48888	return nil, false
48889}
48890
48891// AsBasicServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
48892func (ssi StatefulServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
48893	return &ssi, true
48894}
48895
48896// StatefulServicePartitionInfo information about a partition of a stateful Service Fabric service..
48897type StatefulServicePartitionInfo struct {
48898	// TargetReplicaSetSize - The target replica set size as a number.
48899	TargetReplicaSetSize *int64 `json:"TargetReplicaSetSize,omitempty"`
48900	// MinReplicaSetSize - The minimum replica set size as a number.
48901	MinReplicaSetSize *int64 `json:"MinReplicaSetSize,omitempty"`
48902	// 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.
48903	LastQuorumLossDuration *string `json:"LastQuorumLossDuration,omitempty"`
48904	// 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.
48905	CurrentConfigurationEpoch *Epoch `json:"CurrentConfigurationEpoch,omitempty"`
48906	// 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'
48907	HealthState HealthState `json:"HealthState,omitempty"`
48908	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
48909	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
48910	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
48911	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
48912	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
48913	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
48914}
48915
48916// MarshalJSON is the custom marshaler for StatefulServicePartitionInfo.
48917func (sspi StatefulServicePartitionInfo) MarshalJSON() ([]byte, error) {
48918	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateful
48919	objectMap := make(map[string]interface{})
48920	if sspi.TargetReplicaSetSize != nil {
48921		objectMap["TargetReplicaSetSize"] = sspi.TargetReplicaSetSize
48922	}
48923	if sspi.MinReplicaSetSize != nil {
48924		objectMap["MinReplicaSetSize"] = sspi.MinReplicaSetSize
48925	}
48926	if sspi.LastQuorumLossDuration != nil {
48927		objectMap["LastQuorumLossDuration"] = sspi.LastQuorumLossDuration
48928	}
48929	if sspi.CurrentConfigurationEpoch != nil {
48930		objectMap["CurrentConfigurationEpoch"] = sspi.CurrentConfigurationEpoch
48931	}
48932	if sspi.HealthState != "" {
48933		objectMap["HealthState"] = sspi.HealthState
48934	}
48935	if sspi.PartitionStatus != "" {
48936		objectMap["PartitionStatus"] = sspi.PartitionStatus
48937	}
48938	objectMap["PartitionInformation"] = sspi.PartitionInformation
48939	if sspi.ServiceKind != "" {
48940		objectMap["ServiceKind"] = sspi.ServiceKind
48941	}
48942	return json.Marshal(objectMap)
48943}
48944
48945// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
48946func (sspi StatefulServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
48947	return &sspi, true
48948}
48949
48950// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
48951func (sspi StatefulServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
48952	return nil, false
48953}
48954
48955// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
48956func (sspi StatefulServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
48957	return nil, false
48958}
48959
48960// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
48961func (sspi StatefulServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
48962	return &sspi, true
48963}
48964
48965// UnmarshalJSON is the custom unmarshaler for StatefulServicePartitionInfo struct.
48966func (sspi *StatefulServicePartitionInfo) UnmarshalJSON(body []byte) error {
48967	var m map[string]*json.RawMessage
48968	err := json.Unmarshal(body, &m)
48969	if err != nil {
48970		return err
48971	}
48972	for k, v := range m {
48973		switch k {
48974		case "TargetReplicaSetSize":
48975			if v != nil {
48976				var targetReplicaSetSize int64
48977				err = json.Unmarshal(*v, &targetReplicaSetSize)
48978				if err != nil {
48979					return err
48980				}
48981				sspi.TargetReplicaSetSize = &targetReplicaSetSize
48982			}
48983		case "MinReplicaSetSize":
48984			if v != nil {
48985				var minReplicaSetSize int64
48986				err = json.Unmarshal(*v, &minReplicaSetSize)
48987				if err != nil {
48988					return err
48989				}
48990				sspi.MinReplicaSetSize = &minReplicaSetSize
48991			}
48992		case "LastQuorumLossDuration":
48993			if v != nil {
48994				var lastQuorumLossDuration string
48995				err = json.Unmarshal(*v, &lastQuorumLossDuration)
48996				if err != nil {
48997					return err
48998				}
48999				sspi.LastQuorumLossDuration = &lastQuorumLossDuration
49000			}
49001		case "CurrentConfigurationEpoch":
49002			if v != nil {
49003				var currentConfigurationEpoch Epoch
49004				err = json.Unmarshal(*v, &currentConfigurationEpoch)
49005				if err != nil {
49006					return err
49007				}
49008				sspi.CurrentConfigurationEpoch = &currentConfigurationEpoch
49009			}
49010		case "HealthState":
49011			if v != nil {
49012				var healthState HealthState
49013				err = json.Unmarshal(*v, &healthState)
49014				if err != nil {
49015					return err
49016				}
49017				sspi.HealthState = healthState
49018			}
49019		case "PartitionStatus":
49020			if v != nil {
49021				var partitionStatus ServicePartitionStatus
49022				err = json.Unmarshal(*v, &partitionStatus)
49023				if err != nil {
49024					return err
49025				}
49026				sspi.PartitionStatus = partitionStatus
49027			}
49028		case "PartitionInformation":
49029			if v != nil {
49030				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
49031				if err != nil {
49032					return err
49033				}
49034				sspi.PartitionInformation = partitionInformation
49035			}
49036		case "ServiceKind":
49037			if v != nil {
49038				var serviceKind ServiceKindBasicServicePartitionInfo
49039				err = json.Unmarshal(*v, &serviceKind)
49040				if err != nil {
49041					return err
49042				}
49043				sspi.ServiceKind = serviceKind
49044			}
49045		}
49046	}
49047
49048	return nil
49049}
49050
49051// StatefulServiceReplicaHealth represents the health of the stateful service replica.
49052// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
49053type StatefulServiceReplicaHealth struct {
49054	// 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.
49055	ReplicaID *string `json:"ReplicaId,omitempty"`
49056	// PartitionID - Id of the partition to which this replica belongs.
49057	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49058	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
49059	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
49060	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
49061	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
49062	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
49063	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49064	// HealthEvents - The list of health events reported on the entity.
49065	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
49066	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
49067	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
49068	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
49069	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
49070}
49071
49072// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealth.
49073func (ssrh StatefulServiceReplicaHealth) MarshalJSON() ([]byte, error) {
49074	ssrh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateful
49075	objectMap := make(map[string]interface{})
49076	if ssrh.ReplicaID != nil {
49077		objectMap["ReplicaId"] = ssrh.ReplicaID
49078	}
49079	if ssrh.PartitionID != nil {
49080		objectMap["PartitionId"] = ssrh.PartitionID
49081	}
49082	if ssrh.ServiceKind != "" {
49083		objectMap["ServiceKind"] = ssrh.ServiceKind
49084	}
49085	if ssrh.AggregatedHealthState != "" {
49086		objectMap["AggregatedHealthState"] = ssrh.AggregatedHealthState
49087	}
49088	if ssrh.HealthEvents != nil {
49089		objectMap["HealthEvents"] = ssrh.HealthEvents
49090	}
49091	if ssrh.UnhealthyEvaluations != nil {
49092		objectMap["UnhealthyEvaluations"] = ssrh.UnhealthyEvaluations
49093	}
49094	if ssrh.HealthStatistics != nil {
49095		objectMap["HealthStatistics"] = ssrh.HealthStatistics
49096	}
49097	return json.Marshal(objectMap)
49098}
49099
49100// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49101func (ssrh StatefulServiceReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
49102	return &ssrh, true
49103}
49104
49105// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49106func (ssrh StatefulServiceReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
49107	return nil, false
49108}
49109
49110// AsReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49111func (ssrh StatefulServiceReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
49112	return nil, false
49113}
49114
49115// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49116func (ssrh StatefulServiceReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
49117	return &ssrh, true
49118}
49119
49120// StatefulServiceReplicaHealthState represents the health state of the stateful service replica, which contains
49121// the replica ID and the aggregated health state.
49122type StatefulServiceReplicaHealthState struct {
49123	// 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.
49124	ReplicaID *string `json:"ReplicaId,omitempty"`
49125	// PartitionID - The ID of the partition to which this replica belongs.
49126	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49127	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
49128	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
49129	// 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'
49130	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49131}
49132
49133// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealthState.
49134func (ssrhs StatefulServiceReplicaHealthState) MarshalJSON() ([]byte, error) {
49135	ssrhs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateful
49136	objectMap := make(map[string]interface{})
49137	if ssrhs.ReplicaID != nil {
49138		objectMap["ReplicaId"] = ssrhs.ReplicaID
49139	}
49140	if ssrhs.PartitionID != nil {
49141		objectMap["PartitionId"] = ssrhs.PartitionID
49142	}
49143	if ssrhs.ServiceKind != "" {
49144		objectMap["ServiceKind"] = ssrhs.ServiceKind
49145	}
49146	if ssrhs.AggregatedHealthState != "" {
49147		objectMap["AggregatedHealthState"] = ssrhs.AggregatedHealthState
49148	}
49149	return json.Marshal(objectMap)
49150}
49151
49152// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49153func (ssrhs StatefulServiceReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
49154	return &ssrhs, true
49155}
49156
49157// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49158func (ssrhs StatefulServiceReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
49159	return nil, false
49160}
49161
49162// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49163func (ssrhs StatefulServiceReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
49164	return nil, false
49165}
49166
49167// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49168func (ssrhs StatefulServiceReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
49169	return &ssrhs, true
49170}
49171
49172// StatefulServiceReplicaInfo represents a stateful service replica. This includes information about the identity,
49173// role, status, health, node name, uptime, and other details about the replica.
49174type StatefulServiceReplicaInfo struct {
49175	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
49176	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
49177	// 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.
49178	ReplicaID *string `json:"ReplicaId,omitempty"`
49179	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
49180	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
49181	// 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'
49182	HealthState HealthState `json:"HealthState,omitempty"`
49183	// NodeName - The name of a Service Fabric node.
49184	NodeName *string `json:"NodeName,omitempty"`
49185	// Address - The address the replica is listening on.
49186	Address *string `json:"Address,omitempty"`
49187	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
49188	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
49189	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
49190	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
49191}
49192
49193// MarshalJSON is the custom marshaler for StatefulServiceReplicaInfo.
49194func (ssri StatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
49195	ssri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateful
49196	objectMap := make(map[string]interface{})
49197	if ssri.ReplicaRole != "" {
49198		objectMap["ReplicaRole"] = ssri.ReplicaRole
49199	}
49200	if ssri.ReplicaID != nil {
49201		objectMap["ReplicaId"] = ssri.ReplicaID
49202	}
49203	if ssri.ReplicaStatus != "" {
49204		objectMap["ReplicaStatus"] = ssri.ReplicaStatus
49205	}
49206	if ssri.HealthState != "" {
49207		objectMap["HealthState"] = ssri.HealthState
49208	}
49209	if ssri.NodeName != nil {
49210		objectMap["NodeName"] = ssri.NodeName
49211	}
49212	if ssri.Address != nil {
49213		objectMap["Address"] = ssri.Address
49214	}
49215	if ssri.LastInBuildDurationInSeconds != nil {
49216		objectMap["LastInBuildDurationInSeconds"] = ssri.LastInBuildDurationInSeconds
49217	}
49218	if ssri.ServiceKind != "" {
49219		objectMap["ServiceKind"] = ssri.ServiceKind
49220	}
49221	return json.Marshal(objectMap)
49222}
49223
49224// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49225func (ssri StatefulServiceReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
49226	return &ssri, true
49227}
49228
49229// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49230func (ssri StatefulServiceReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
49231	return nil, false
49232}
49233
49234// AsReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49235func (ssri StatefulServiceReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
49236	return nil, false
49237}
49238
49239// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49240func (ssri StatefulServiceReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
49241	return &ssri, true
49242}
49243
49244// StatefulServiceTypeDescription describes a stateful service type defined in the service manifest of a
49245// provisioned application type.
49246type StatefulServiceTypeDescription struct {
49247	// 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.
49248	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
49249	// 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.
49250	IsStateful *bool `json:"IsStateful,omitempty"`
49251	// ServiceTypeName - Name of the service type as specified in the service manifest.
49252	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
49253	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
49254	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
49255	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
49256	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
49257	// ServicePlacementPolicies - List of service placement policy descriptions.
49258	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
49259	// Extensions - List of service type extensions.
49260	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
49261	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
49262	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
49263}
49264
49265// MarshalJSON is the custom marshaler for StatefulServiceTypeDescription.
49266func (sstd StatefulServiceTypeDescription) MarshalJSON() ([]byte, error) {
49267	sstd.Kind = KindStateful
49268	objectMap := make(map[string]interface{})
49269	if sstd.HasPersistedState != nil {
49270		objectMap["HasPersistedState"] = sstd.HasPersistedState
49271	}
49272	if sstd.IsStateful != nil {
49273		objectMap["IsStateful"] = sstd.IsStateful
49274	}
49275	if sstd.ServiceTypeName != nil {
49276		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
49277	}
49278	if sstd.PlacementConstraints != nil {
49279		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
49280	}
49281	if sstd.LoadMetrics != nil {
49282		objectMap["LoadMetrics"] = sstd.LoadMetrics
49283	}
49284	if sstd.ServicePlacementPolicies != nil {
49285		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
49286	}
49287	if sstd.Extensions != nil {
49288		objectMap["Extensions"] = sstd.Extensions
49289	}
49290	if sstd.Kind != "" {
49291		objectMap["Kind"] = sstd.Kind
49292	}
49293	return json.Marshal(objectMap)
49294}
49295
49296// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49297func (sstd StatefulServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
49298	return &sstd, true
49299}
49300
49301// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49302func (sstd StatefulServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
49303	return nil, false
49304}
49305
49306// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49307func (sstd StatefulServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
49308	return nil, false
49309}
49310
49311// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49312func (sstd StatefulServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
49313	return &sstd, true
49314}
49315
49316// UnmarshalJSON is the custom unmarshaler for StatefulServiceTypeDescription struct.
49317func (sstd *StatefulServiceTypeDescription) UnmarshalJSON(body []byte) error {
49318	var m map[string]*json.RawMessage
49319	err := json.Unmarshal(body, &m)
49320	if err != nil {
49321		return err
49322	}
49323	for k, v := range m {
49324		switch k {
49325		case "HasPersistedState":
49326			if v != nil {
49327				var hasPersistedState bool
49328				err = json.Unmarshal(*v, &hasPersistedState)
49329				if err != nil {
49330					return err
49331				}
49332				sstd.HasPersistedState = &hasPersistedState
49333			}
49334		case "IsStateful":
49335			if v != nil {
49336				var isStateful bool
49337				err = json.Unmarshal(*v, &isStateful)
49338				if err != nil {
49339					return err
49340				}
49341				sstd.IsStateful = &isStateful
49342			}
49343		case "ServiceTypeName":
49344			if v != nil {
49345				var serviceTypeName string
49346				err = json.Unmarshal(*v, &serviceTypeName)
49347				if err != nil {
49348					return err
49349				}
49350				sstd.ServiceTypeName = &serviceTypeName
49351			}
49352		case "PlacementConstraints":
49353			if v != nil {
49354				var placementConstraints string
49355				err = json.Unmarshal(*v, &placementConstraints)
49356				if err != nil {
49357					return err
49358				}
49359				sstd.PlacementConstraints = &placementConstraints
49360			}
49361		case "LoadMetrics":
49362			if v != nil {
49363				var loadMetrics []ServiceLoadMetricDescription
49364				err = json.Unmarshal(*v, &loadMetrics)
49365				if err != nil {
49366					return err
49367				}
49368				sstd.LoadMetrics = &loadMetrics
49369			}
49370		case "ServicePlacementPolicies":
49371			if v != nil {
49372				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
49373				if err != nil {
49374					return err
49375				}
49376				sstd.ServicePlacementPolicies = &servicePlacementPolicies
49377			}
49378		case "Extensions":
49379			if v != nil {
49380				var extensions []ServiceTypeExtensionDescription
49381				err = json.Unmarshal(*v, &extensions)
49382				if err != nil {
49383					return err
49384				}
49385				sstd.Extensions = &extensions
49386			}
49387		case "Kind":
49388			if v != nil {
49389				var kind KindBasicServiceTypeDescription
49390				err = json.Unmarshal(*v, &kind)
49391				if err != nil {
49392					return err
49393				}
49394				sstd.Kind = kind
49395			}
49396		}
49397	}
49398
49399	return nil
49400}
49401
49402// StatefulServiceUpdateDescription describes an update for a stateful service.
49403type StatefulServiceUpdateDescription struct {
49404	// TargetReplicaSetSize - The target replica set size as a number.
49405	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
49406	// MinReplicaSetSize - The minimum replica set size as a number.
49407	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
49408	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
49409	ReplicaRestartWaitDurationSeconds *string `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
49410	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
49411	QuorumLossWaitDurationSeconds *string `json:"QuorumLossWaitDurationSeconds,omitempty"`
49412	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
49413	StandByReplicaKeepDurationSeconds *string `json:"StandByReplicaKeepDurationSeconds,omitempty"`
49414	// 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.
49415	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
49416	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
49417	// - None - Does not indicate any other properties are set. The value is zero.
49418	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
49419	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
49420	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
49421	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
49422	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
49423	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
49424	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
49425	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
49426	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
49427	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
49428	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
49429	Flags *string `json:"Flags,omitempty"`
49430	// 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)".
49431	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
49432	// CorrelationScheme - The correlation scheme.
49433	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
49434	// LoadMetrics - The service load metrics.
49435	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
49436	// ServicePlacementPolicies - The service placement policies.
49437	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
49438	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
49439	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
49440	// ScalingPolicies - Scaling policies for this service.
49441	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
49442	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
49443	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
49444}
49445
49446// MarshalJSON is the custom marshaler for StatefulServiceUpdateDescription.
49447func (ssud StatefulServiceUpdateDescription) MarshalJSON() ([]byte, error) {
49448	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateful
49449	objectMap := make(map[string]interface{})
49450	if ssud.TargetReplicaSetSize != nil {
49451		objectMap["TargetReplicaSetSize"] = ssud.TargetReplicaSetSize
49452	}
49453	if ssud.MinReplicaSetSize != nil {
49454		objectMap["MinReplicaSetSize"] = ssud.MinReplicaSetSize
49455	}
49456	if ssud.ReplicaRestartWaitDurationSeconds != nil {
49457		objectMap["ReplicaRestartWaitDurationSeconds"] = ssud.ReplicaRestartWaitDurationSeconds
49458	}
49459	if ssud.QuorumLossWaitDurationSeconds != nil {
49460		objectMap["QuorumLossWaitDurationSeconds"] = ssud.QuorumLossWaitDurationSeconds
49461	}
49462	if ssud.StandByReplicaKeepDurationSeconds != nil {
49463		objectMap["StandByReplicaKeepDurationSeconds"] = ssud.StandByReplicaKeepDurationSeconds
49464	}
49465	if ssud.Flags != nil {
49466		objectMap["Flags"] = ssud.Flags
49467	}
49468	if ssud.PlacementConstraints != nil {
49469		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
49470	}
49471	if ssud.CorrelationScheme != nil {
49472		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
49473	}
49474	if ssud.LoadMetrics != nil {
49475		objectMap["LoadMetrics"] = ssud.LoadMetrics
49476	}
49477	if ssud.ServicePlacementPolicies != nil {
49478		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
49479	}
49480	if ssud.DefaultMoveCost != "" {
49481		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
49482	}
49483	if ssud.ScalingPolicies != nil {
49484		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
49485	}
49486	if ssud.ServiceKind != "" {
49487		objectMap["ServiceKind"] = ssud.ServiceKind
49488	}
49489	return json.Marshal(objectMap)
49490}
49491
49492// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
49493func (ssud StatefulServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
49494	return &ssud, true
49495}
49496
49497// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
49498func (ssud StatefulServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
49499	return nil, false
49500}
49501
49502// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
49503func (ssud StatefulServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
49504	return nil, false
49505}
49506
49507// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
49508func (ssud StatefulServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
49509	return &ssud, true
49510}
49511
49512// UnmarshalJSON is the custom unmarshaler for StatefulServiceUpdateDescription struct.
49513func (ssud *StatefulServiceUpdateDescription) UnmarshalJSON(body []byte) error {
49514	var m map[string]*json.RawMessage
49515	err := json.Unmarshal(body, &m)
49516	if err != nil {
49517		return err
49518	}
49519	for k, v := range m {
49520		switch k {
49521		case "TargetReplicaSetSize":
49522			if v != nil {
49523				var targetReplicaSetSize int32
49524				err = json.Unmarshal(*v, &targetReplicaSetSize)
49525				if err != nil {
49526					return err
49527				}
49528				ssud.TargetReplicaSetSize = &targetReplicaSetSize
49529			}
49530		case "MinReplicaSetSize":
49531			if v != nil {
49532				var minReplicaSetSize int32
49533				err = json.Unmarshal(*v, &minReplicaSetSize)
49534				if err != nil {
49535					return err
49536				}
49537				ssud.MinReplicaSetSize = &minReplicaSetSize
49538			}
49539		case "ReplicaRestartWaitDurationSeconds":
49540			if v != nil {
49541				var replicaRestartWaitDurationSeconds string
49542				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
49543				if err != nil {
49544					return err
49545				}
49546				ssud.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
49547			}
49548		case "QuorumLossWaitDurationSeconds":
49549			if v != nil {
49550				var quorumLossWaitDurationSeconds string
49551				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
49552				if err != nil {
49553					return err
49554				}
49555				ssud.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
49556			}
49557		case "StandByReplicaKeepDurationSeconds":
49558			if v != nil {
49559				var standByReplicaKeepDurationSeconds string
49560				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
49561				if err != nil {
49562					return err
49563				}
49564				ssud.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
49565			}
49566		case "Flags":
49567			if v != nil {
49568				var flags string
49569				err = json.Unmarshal(*v, &flags)
49570				if err != nil {
49571					return err
49572				}
49573				ssud.Flags = &flags
49574			}
49575		case "PlacementConstraints":
49576			if v != nil {
49577				var placementConstraints string
49578				err = json.Unmarshal(*v, &placementConstraints)
49579				if err != nil {
49580					return err
49581				}
49582				ssud.PlacementConstraints = &placementConstraints
49583			}
49584		case "CorrelationScheme":
49585			if v != nil {
49586				var correlationScheme []ServiceCorrelationDescription
49587				err = json.Unmarshal(*v, &correlationScheme)
49588				if err != nil {
49589					return err
49590				}
49591				ssud.CorrelationScheme = &correlationScheme
49592			}
49593		case "LoadMetrics":
49594			if v != nil {
49595				var loadMetrics []ServiceLoadMetricDescription
49596				err = json.Unmarshal(*v, &loadMetrics)
49597				if err != nil {
49598					return err
49599				}
49600				ssud.LoadMetrics = &loadMetrics
49601			}
49602		case "ServicePlacementPolicies":
49603			if v != nil {
49604				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
49605				if err != nil {
49606					return err
49607				}
49608				ssud.ServicePlacementPolicies = &servicePlacementPolicies
49609			}
49610		case "DefaultMoveCost":
49611			if v != nil {
49612				var defaultMoveCost MoveCost
49613				err = json.Unmarshal(*v, &defaultMoveCost)
49614				if err != nil {
49615					return err
49616				}
49617				ssud.DefaultMoveCost = defaultMoveCost
49618			}
49619		case "ScalingPolicies":
49620			if v != nil {
49621				var scalingPolicies []ScalingPolicyDescription
49622				err = json.Unmarshal(*v, &scalingPolicies)
49623				if err != nil {
49624					return err
49625				}
49626				ssud.ScalingPolicies = &scalingPolicies
49627			}
49628		case "ServiceKind":
49629			if v != nil {
49630				var serviceKind ServiceKindBasicServiceUpdateDescription
49631				err = json.Unmarshal(*v, &serviceKind)
49632				if err != nil {
49633					return err
49634				}
49635				ssud.ServiceKind = serviceKind
49636			}
49637		}
49638	}
49639
49640	return nil
49641}
49642
49643// StatelessReplicaHealthReportCreatedEvent stateless Replica Health Report Created event.
49644type StatelessReplicaHealthReportCreatedEvent struct {
49645	// SourceID - Id of report source.
49646	SourceID *string `json:"SourceId,omitempty"`
49647	// Property - Describes the property.
49648	Property *string `json:"Property,omitempty"`
49649	// HealthState - Describes the property health state.
49650	HealthState *string `json:"HealthState,omitempty"`
49651	// TimeToLiveMs - Time to live in milli-seconds.
49652	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
49653	// SequenceNumber - Sequence number of report.
49654	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
49655	// Description - Description of report.
49656	Description *string `json:"Description,omitempty"`
49657	// RemoveWhenExpired - Indicates the removal when it expires.
49658	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
49659	// SourceUtcTimestamp - Source time.
49660	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
49661	// 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.
49662	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49663	// 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.
49664	ReplicaID *int64 `json:"ReplicaId,omitempty"`
49665	// EventInstanceID - The identifier for the FabricEvent instance.
49666	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
49667	// TimeStamp - The time event was logged.
49668	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
49669	// HasCorrelatedEvents - Shows there is existing related events available.
49670	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
49671	// 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'
49672	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
49673}
49674
49675// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportCreatedEvent.
49676func (srhrce StatelessReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
49677	srhrce.Kind = KindStatelessReplicaHealthReportCreated
49678	objectMap := make(map[string]interface{})
49679	if srhrce.SourceID != nil {
49680		objectMap["SourceId"] = srhrce.SourceID
49681	}
49682	if srhrce.Property != nil {
49683		objectMap["Property"] = srhrce.Property
49684	}
49685	if srhrce.HealthState != nil {
49686		objectMap["HealthState"] = srhrce.HealthState
49687	}
49688	if srhrce.TimeToLiveMs != nil {
49689		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
49690	}
49691	if srhrce.SequenceNumber != nil {
49692		objectMap["SequenceNumber"] = srhrce.SequenceNumber
49693	}
49694	if srhrce.Description != nil {
49695		objectMap["Description"] = srhrce.Description
49696	}
49697	if srhrce.RemoveWhenExpired != nil {
49698		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
49699	}
49700	if srhrce.SourceUtcTimestamp != nil {
49701		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
49702	}
49703	if srhrce.PartitionID != nil {
49704		objectMap["PartitionId"] = srhrce.PartitionID
49705	}
49706	if srhrce.ReplicaID != nil {
49707		objectMap["ReplicaId"] = srhrce.ReplicaID
49708	}
49709	if srhrce.EventInstanceID != nil {
49710		objectMap["EventInstanceId"] = srhrce.EventInstanceID
49711	}
49712	if srhrce.TimeStamp != nil {
49713		objectMap["TimeStamp"] = srhrce.TimeStamp
49714	}
49715	if srhrce.HasCorrelatedEvents != nil {
49716		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
49717	}
49718	if srhrce.Kind != "" {
49719		objectMap["Kind"] = srhrce.Kind
49720	}
49721	return json.Marshal(objectMap)
49722}
49723
49724// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49725func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
49726	return nil, false
49727}
49728
49729// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49730func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
49731	return nil, false
49732}
49733
49734// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49735func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
49736	return nil, false
49737}
49738
49739// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49740func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
49741	return nil, false
49742}
49743
49744// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49745func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
49746	return nil, false
49747}
49748
49749// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49750func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
49751	return nil, false
49752}
49753
49754// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49755func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
49756	return nil, false
49757}
49758
49759// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49760func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
49761	return nil, false
49762}
49763
49764// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49765func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
49766	return nil, false
49767}
49768
49769// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49770func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
49771	return nil, false
49772}
49773
49774// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49775func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
49776	return nil, false
49777}
49778
49779// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49780func (srhrce StatelessReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
49781	return nil, false
49782}
49783
49784// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49785func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
49786	return &srhrce, true
49787}
49788
49789// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49790func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
49791	return nil, false
49792}
49793
49794// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49795func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
49796	return nil, false
49797}
49798
49799// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49800func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
49801	return nil, false
49802}
49803
49804// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49805func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
49806	return nil, false
49807}
49808
49809// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49810func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
49811	return nil, false
49812}
49813
49814// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49815func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
49816	return nil, false
49817}
49818
49819// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49820func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
49821	return nil, false
49822}
49823
49824// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49825func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
49826	return nil, false
49827}
49828
49829// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49830func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
49831	return nil, false
49832}
49833
49834// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49835func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
49836	return nil, false
49837}
49838
49839// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49840func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
49841	return nil, false
49842}
49843
49844// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49845func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
49846	return nil, false
49847}
49848
49849// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49850func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
49851	return nil, false
49852}
49853
49854// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49855func (srhrce StatelessReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
49856	return nil, false
49857}
49858
49859// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49860func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
49861	return nil, false
49862}
49863
49864// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49865func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
49866	return nil, false
49867}
49868
49869// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49870func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
49871	return nil, false
49872}
49873
49874// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49875func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
49876	return nil, false
49877}
49878
49879// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49880func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
49881	return nil, false
49882}
49883
49884// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49885func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
49886	return nil, false
49887}
49888
49889// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49890func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
49891	return nil, false
49892}
49893
49894// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49895func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
49896	return nil, false
49897}
49898
49899// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49900func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
49901	return nil, false
49902}
49903
49904// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49905func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
49906	return nil, false
49907}
49908
49909// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49910func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
49911	return nil, false
49912}
49913
49914// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49915func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
49916	return nil, false
49917}
49918
49919// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49920func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
49921	return nil, false
49922}
49923
49924// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49925func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
49926	return nil, false
49927}
49928
49929// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49930func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
49931	return nil, false
49932}
49933
49934// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49935func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
49936	return nil, false
49937}
49938
49939// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49940func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
49941	return nil, false
49942}
49943
49944// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49945func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
49946	return nil, false
49947}
49948
49949// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49950func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
49951	return nil, false
49952}
49953
49954// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49955func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
49956	return nil, false
49957}
49958
49959// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49960func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
49961	return nil, false
49962}
49963
49964// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49965func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
49966	return nil, false
49967}
49968
49969// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49970func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
49971	return nil, false
49972}
49973
49974// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49975func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
49976	return nil, false
49977}
49978
49979// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49980func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
49981	return nil, false
49982}
49983
49984// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49985func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
49986	return nil, false
49987}
49988
49989// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49990func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
49991	return nil, false
49992}
49993
49994// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
49995func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
49996	return nil, false
49997}
49998
49999// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50000func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
50001	return &srhrce, true
50002}
50003
50004// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50005func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
50006	return nil, false
50007}
50008
50009// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50010func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
50011	return nil, false
50012}
50013
50014// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50015func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
50016	return nil, false
50017}
50018
50019// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50020func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
50021	return nil, false
50022}
50023
50024// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50025func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
50026	return nil, false
50027}
50028
50029// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50030func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
50031	return nil, false
50032}
50033
50034// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50035func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
50036	return nil, false
50037}
50038
50039// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50040func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
50041	return nil, false
50042}
50043
50044// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50045func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
50046	return nil, false
50047}
50048
50049// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50050func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
50051	return nil, false
50052}
50053
50054// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50055func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
50056	return nil, false
50057}
50058
50059// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50060func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
50061	return nil, false
50062}
50063
50064// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50065func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
50066	return nil, false
50067}
50068
50069// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50070func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
50071	return nil, false
50072}
50073
50074// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50075func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
50076	return nil, false
50077}
50078
50079// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50080func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
50081	return nil, false
50082}
50083
50084// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50085func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
50086	return nil, false
50087}
50088
50089// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50090func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
50091	return nil, false
50092}
50093
50094// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50095func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
50096	return nil, false
50097}
50098
50099// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50100func (srhrce StatelessReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
50101	return nil, false
50102}
50103
50104// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50105func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
50106	return &srhrce, true
50107}
50108
50109// StatelessReplicaHealthReportExpiredEvent stateless Replica Health Report Expired event.
50110type StatelessReplicaHealthReportExpiredEvent struct {
50111	// SourceID - Id of report source.
50112	SourceID *string `json:"SourceId,omitempty"`
50113	// Property - Describes the property.
50114	Property *string `json:"Property,omitempty"`
50115	// HealthState - Describes the property health state.
50116	HealthState *string `json:"HealthState,omitempty"`
50117	// TimeToLiveMs - Time to live in milli-seconds.
50118	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
50119	// SequenceNumber - Sequence number of report.
50120	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
50121	// Description - Description of report.
50122	Description *string `json:"Description,omitempty"`
50123	// RemoveWhenExpired - Indicates the removal when it expires.
50124	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
50125	// SourceUtcTimestamp - Source time.
50126	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
50127	// 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.
50128	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50129	// 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.
50130	ReplicaID *int64 `json:"ReplicaId,omitempty"`
50131	// EventInstanceID - The identifier for the FabricEvent instance.
50132	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
50133	// TimeStamp - The time event was logged.
50134	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
50135	// HasCorrelatedEvents - Shows there is existing related events available.
50136	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
50137	// 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'
50138	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
50139}
50140
50141// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportExpiredEvent.
50142func (srhree StatelessReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
50143	srhree.Kind = KindStatelessReplicaHealthReportExpired
50144	objectMap := make(map[string]interface{})
50145	if srhree.SourceID != nil {
50146		objectMap["SourceId"] = srhree.SourceID
50147	}
50148	if srhree.Property != nil {
50149		objectMap["Property"] = srhree.Property
50150	}
50151	if srhree.HealthState != nil {
50152		objectMap["HealthState"] = srhree.HealthState
50153	}
50154	if srhree.TimeToLiveMs != nil {
50155		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
50156	}
50157	if srhree.SequenceNumber != nil {
50158		objectMap["SequenceNumber"] = srhree.SequenceNumber
50159	}
50160	if srhree.Description != nil {
50161		objectMap["Description"] = srhree.Description
50162	}
50163	if srhree.RemoveWhenExpired != nil {
50164		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
50165	}
50166	if srhree.SourceUtcTimestamp != nil {
50167		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
50168	}
50169	if srhree.PartitionID != nil {
50170		objectMap["PartitionId"] = srhree.PartitionID
50171	}
50172	if srhree.ReplicaID != nil {
50173		objectMap["ReplicaId"] = srhree.ReplicaID
50174	}
50175	if srhree.EventInstanceID != nil {
50176		objectMap["EventInstanceId"] = srhree.EventInstanceID
50177	}
50178	if srhree.TimeStamp != nil {
50179		objectMap["TimeStamp"] = srhree.TimeStamp
50180	}
50181	if srhree.HasCorrelatedEvents != nil {
50182		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
50183	}
50184	if srhree.Kind != "" {
50185		objectMap["Kind"] = srhree.Kind
50186	}
50187	return json.Marshal(objectMap)
50188}
50189
50190// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50191func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
50192	return nil, false
50193}
50194
50195// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50196func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
50197	return nil, false
50198}
50199
50200// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50201func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
50202	return nil, false
50203}
50204
50205// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50206func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
50207	return nil, false
50208}
50209
50210// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50211func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
50212	return nil, false
50213}
50214
50215// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50216func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
50217	return nil, false
50218}
50219
50220// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50221func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
50222	return nil, false
50223}
50224
50225// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50226func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
50227	return nil, false
50228}
50229
50230// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50231func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
50232	return nil, false
50233}
50234
50235// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50236func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
50237	return nil, false
50238}
50239
50240// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50241func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
50242	return nil, false
50243}
50244
50245// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50246func (srhree StatelessReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
50247	return nil, false
50248}
50249
50250// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50251func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
50252	return &srhree, true
50253}
50254
50255// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50256func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
50257	return nil, false
50258}
50259
50260// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50261func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
50262	return nil, false
50263}
50264
50265// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50266func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
50267	return nil, false
50268}
50269
50270// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50271func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
50272	return nil, false
50273}
50274
50275// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50276func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
50277	return nil, false
50278}
50279
50280// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50281func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
50282	return nil, false
50283}
50284
50285// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50286func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
50287	return nil, false
50288}
50289
50290// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50291func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
50292	return nil, false
50293}
50294
50295// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50296func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
50297	return nil, false
50298}
50299
50300// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50301func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
50302	return nil, false
50303}
50304
50305// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50306func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
50307	return nil, false
50308}
50309
50310// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50311func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
50312	return nil, false
50313}
50314
50315// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50316func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
50317	return nil, false
50318}
50319
50320// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50321func (srhree StatelessReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
50322	return nil, false
50323}
50324
50325// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50326func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
50327	return nil, false
50328}
50329
50330// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50331func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
50332	return nil, false
50333}
50334
50335// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50336func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
50337	return nil, false
50338}
50339
50340// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50341func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
50342	return nil, false
50343}
50344
50345// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50346func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
50347	return nil, false
50348}
50349
50350// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50351func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
50352	return nil, false
50353}
50354
50355// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50356func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
50357	return nil, false
50358}
50359
50360// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50361func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
50362	return nil, false
50363}
50364
50365// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50366func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
50367	return nil, false
50368}
50369
50370// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50371func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
50372	return nil, false
50373}
50374
50375// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50376func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
50377	return nil, false
50378}
50379
50380// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50381func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
50382	return nil, false
50383}
50384
50385// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50386func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
50387	return nil, false
50388}
50389
50390// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50391func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
50392	return nil, false
50393}
50394
50395// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50396func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
50397	return nil, false
50398}
50399
50400// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50401func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
50402	return nil, false
50403}
50404
50405// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50406func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
50407	return nil, false
50408}
50409
50410// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50411func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
50412	return nil, false
50413}
50414
50415// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50416func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
50417	return nil, false
50418}
50419
50420// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50421func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
50422	return nil, false
50423}
50424
50425// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50426func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
50427	return nil, false
50428}
50429
50430// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50431func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
50432	return nil, false
50433}
50434
50435// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50436func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
50437	return nil, false
50438}
50439
50440// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50441func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
50442	return nil, false
50443}
50444
50445// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50446func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
50447	return nil, false
50448}
50449
50450// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50451func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
50452	return nil, false
50453}
50454
50455// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50456func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
50457	return nil, false
50458}
50459
50460// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50461func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
50462	return nil, false
50463}
50464
50465// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50466func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
50467	return nil, false
50468}
50469
50470// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50471func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
50472	return &srhree, true
50473}
50474
50475// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50476func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
50477	return nil, false
50478}
50479
50480// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50481func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
50482	return nil, false
50483}
50484
50485// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50486func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
50487	return nil, false
50488}
50489
50490// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50491func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
50492	return nil, false
50493}
50494
50495// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50496func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
50497	return nil, false
50498}
50499
50500// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50501func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
50502	return nil, false
50503}
50504
50505// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50506func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
50507	return nil, false
50508}
50509
50510// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50511func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
50512	return nil, false
50513}
50514
50515// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50516func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
50517	return nil, false
50518}
50519
50520// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50521func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
50522	return nil, false
50523}
50524
50525// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50526func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
50527	return nil, false
50528}
50529
50530// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50531func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
50532	return nil, false
50533}
50534
50535// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50536func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
50537	return nil, false
50538}
50539
50540// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50541func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
50542	return nil, false
50543}
50544
50545// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50546func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
50547	return nil, false
50548}
50549
50550// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50551func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
50552	return nil, false
50553}
50554
50555// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50556func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
50557	return nil, false
50558}
50559
50560// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50561func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
50562	return nil, false
50563}
50564
50565// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50566func (srhree StatelessReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
50567	return nil, false
50568}
50569
50570// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50571func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
50572	return &srhree, true
50573}
50574
50575// StatelessServiceDescription describes a stateless service.
50576type StatelessServiceDescription struct {
50577	// InstanceCount - The instance count.
50578	InstanceCount *int32 `json:"InstanceCount,omitempty"`
50579	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
50580	ApplicationName *string `json:"ApplicationName,omitempty"`
50581	// ServiceName - The full name of the service with 'fabric:' URI scheme.
50582	ServiceName *string `json:"ServiceName,omitempty"`
50583	// ServiceTypeName - Name of the service type as specified in the service manifest.
50584	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
50585	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
50586	InitializationData *[]int32 `json:"InitializationData,omitempty"`
50587	// PartitionDescription - The partition description as an object.
50588	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
50589	// 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)".
50590	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
50591	// CorrelationScheme - The correlation scheme.
50592	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
50593	// ServiceLoadMetrics - The service load metrics.
50594	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
50595	// ServicePlacementPolicies - The service placement policies.
50596	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
50597	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
50598	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
50599	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
50600	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
50601	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
50602	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
50603	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
50604	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
50605	// ScalingPolicies - Scaling policies for this service.
50606	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
50607	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
50608	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
50609}
50610
50611// MarshalJSON is the custom marshaler for StatelessServiceDescription.
50612func (ssd StatelessServiceDescription) MarshalJSON() ([]byte, error) {
50613	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateless
50614	objectMap := make(map[string]interface{})
50615	if ssd.InstanceCount != nil {
50616		objectMap["InstanceCount"] = ssd.InstanceCount
50617	}
50618	if ssd.ApplicationName != nil {
50619		objectMap["ApplicationName"] = ssd.ApplicationName
50620	}
50621	if ssd.ServiceName != nil {
50622		objectMap["ServiceName"] = ssd.ServiceName
50623	}
50624	if ssd.ServiceTypeName != nil {
50625		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
50626	}
50627	if ssd.InitializationData != nil {
50628		objectMap["InitializationData"] = ssd.InitializationData
50629	}
50630	objectMap["PartitionDescription"] = ssd.PartitionDescription
50631	if ssd.PlacementConstraints != nil {
50632		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
50633	}
50634	if ssd.CorrelationScheme != nil {
50635		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
50636	}
50637	if ssd.ServiceLoadMetrics != nil {
50638		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
50639	}
50640	if ssd.ServicePlacementPolicies != nil {
50641		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
50642	}
50643	if ssd.DefaultMoveCost != "" {
50644		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
50645	}
50646	if ssd.IsDefaultMoveCostSpecified != nil {
50647		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
50648	}
50649	if ssd.ServicePackageActivationMode != "" {
50650		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
50651	}
50652	if ssd.ServiceDNSName != nil {
50653		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
50654	}
50655	if ssd.ScalingPolicies != nil {
50656		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
50657	}
50658	if ssd.ServiceKind != "" {
50659		objectMap["ServiceKind"] = ssd.ServiceKind
50660	}
50661	return json.Marshal(objectMap)
50662}
50663
50664// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
50665func (ssd StatelessServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
50666	return nil, false
50667}
50668
50669// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
50670func (ssd StatelessServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
50671	return &ssd, true
50672}
50673
50674// AsServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
50675func (ssd StatelessServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
50676	return nil, false
50677}
50678
50679// AsBasicServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
50680func (ssd StatelessServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
50681	return &ssd, true
50682}
50683
50684// UnmarshalJSON is the custom unmarshaler for StatelessServiceDescription struct.
50685func (ssd *StatelessServiceDescription) UnmarshalJSON(body []byte) error {
50686	var m map[string]*json.RawMessage
50687	err := json.Unmarshal(body, &m)
50688	if err != nil {
50689		return err
50690	}
50691	for k, v := range m {
50692		switch k {
50693		case "InstanceCount":
50694			if v != nil {
50695				var instanceCount int32
50696				err = json.Unmarshal(*v, &instanceCount)
50697				if err != nil {
50698					return err
50699				}
50700				ssd.InstanceCount = &instanceCount
50701			}
50702		case "ApplicationName":
50703			if v != nil {
50704				var applicationName string
50705				err = json.Unmarshal(*v, &applicationName)
50706				if err != nil {
50707					return err
50708				}
50709				ssd.ApplicationName = &applicationName
50710			}
50711		case "ServiceName":
50712			if v != nil {
50713				var serviceName string
50714				err = json.Unmarshal(*v, &serviceName)
50715				if err != nil {
50716					return err
50717				}
50718				ssd.ServiceName = &serviceName
50719			}
50720		case "ServiceTypeName":
50721			if v != nil {
50722				var serviceTypeName string
50723				err = json.Unmarshal(*v, &serviceTypeName)
50724				if err != nil {
50725					return err
50726				}
50727				ssd.ServiceTypeName = &serviceTypeName
50728			}
50729		case "InitializationData":
50730			if v != nil {
50731				var initializationData []int32
50732				err = json.Unmarshal(*v, &initializationData)
50733				if err != nil {
50734					return err
50735				}
50736				ssd.InitializationData = &initializationData
50737			}
50738		case "PartitionDescription":
50739			if v != nil {
50740				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
50741				if err != nil {
50742					return err
50743				}
50744				ssd.PartitionDescription = partitionDescription
50745			}
50746		case "PlacementConstraints":
50747			if v != nil {
50748				var placementConstraints string
50749				err = json.Unmarshal(*v, &placementConstraints)
50750				if err != nil {
50751					return err
50752				}
50753				ssd.PlacementConstraints = &placementConstraints
50754			}
50755		case "CorrelationScheme":
50756			if v != nil {
50757				var correlationScheme []ServiceCorrelationDescription
50758				err = json.Unmarshal(*v, &correlationScheme)
50759				if err != nil {
50760					return err
50761				}
50762				ssd.CorrelationScheme = &correlationScheme
50763			}
50764		case "ServiceLoadMetrics":
50765			if v != nil {
50766				var serviceLoadMetrics []ServiceLoadMetricDescription
50767				err = json.Unmarshal(*v, &serviceLoadMetrics)
50768				if err != nil {
50769					return err
50770				}
50771				ssd.ServiceLoadMetrics = &serviceLoadMetrics
50772			}
50773		case "ServicePlacementPolicies":
50774			if v != nil {
50775				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
50776				if err != nil {
50777					return err
50778				}
50779				ssd.ServicePlacementPolicies = &servicePlacementPolicies
50780			}
50781		case "DefaultMoveCost":
50782			if v != nil {
50783				var defaultMoveCost MoveCost
50784				err = json.Unmarshal(*v, &defaultMoveCost)
50785				if err != nil {
50786					return err
50787				}
50788				ssd.DefaultMoveCost = defaultMoveCost
50789			}
50790		case "IsDefaultMoveCostSpecified":
50791			if v != nil {
50792				var isDefaultMoveCostSpecified bool
50793				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
50794				if err != nil {
50795					return err
50796				}
50797				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
50798			}
50799		case "ServicePackageActivationMode":
50800			if v != nil {
50801				var servicePackageActivationMode ServicePackageActivationMode
50802				err = json.Unmarshal(*v, &servicePackageActivationMode)
50803				if err != nil {
50804					return err
50805				}
50806				ssd.ServicePackageActivationMode = servicePackageActivationMode
50807			}
50808		case "ServiceDnsName":
50809			if v != nil {
50810				var serviceDNSName string
50811				err = json.Unmarshal(*v, &serviceDNSName)
50812				if err != nil {
50813					return err
50814				}
50815				ssd.ServiceDNSName = &serviceDNSName
50816			}
50817		case "ScalingPolicies":
50818			if v != nil {
50819				var scalingPolicies []ScalingPolicyDescription
50820				err = json.Unmarshal(*v, &scalingPolicies)
50821				if err != nil {
50822					return err
50823				}
50824				ssd.ScalingPolicies = &scalingPolicies
50825			}
50826		case "ServiceKind":
50827			if v != nil {
50828				var serviceKind ServiceKindBasicServiceDescription
50829				err = json.Unmarshal(*v, &serviceKind)
50830				if err != nil {
50831					return err
50832				}
50833				ssd.ServiceKind = serviceKind
50834			}
50835		}
50836	}
50837
50838	return nil
50839}
50840
50841// StatelessServiceInfo information about a stateless Service Fabric service.
50842type StatelessServiceInfo struct {
50843	// 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.
50844	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
50845	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
50846	ID *string `json:"Id,omitempty"`
50847	// Name - The full name of the service with 'fabric:' URI scheme.
50848	Name *string `json:"Name,omitempty"`
50849	// TypeName - Name of the service type as specified in the service manifest.
50850	TypeName *string `json:"TypeName,omitempty"`
50851	// ManifestVersion - The version of the service manifest.
50852	ManifestVersion *string `json:"ManifestVersion,omitempty"`
50853	// 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'
50854	HealthState HealthState `json:"HealthState,omitempty"`
50855	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
50856	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
50857	// IsServiceGroup - Whether the service is in a service group.
50858	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
50859	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
50860	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
50861}
50862
50863// MarshalJSON is the custom marshaler for StatelessServiceInfo.
50864func (ssi StatelessServiceInfo) MarshalJSON() ([]byte, error) {
50865	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateless
50866	objectMap := make(map[string]interface{})
50867	if ssi.ID != nil {
50868		objectMap["Id"] = ssi.ID
50869	}
50870	if ssi.Name != nil {
50871		objectMap["Name"] = ssi.Name
50872	}
50873	if ssi.TypeName != nil {
50874		objectMap["TypeName"] = ssi.TypeName
50875	}
50876	if ssi.ManifestVersion != nil {
50877		objectMap["ManifestVersion"] = ssi.ManifestVersion
50878	}
50879	if ssi.HealthState != "" {
50880		objectMap["HealthState"] = ssi.HealthState
50881	}
50882	if ssi.ServiceStatus != "" {
50883		objectMap["ServiceStatus"] = ssi.ServiceStatus
50884	}
50885	if ssi.IsServiceGroup != nil {
50886		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
50887	}
50888	if ssi.ServiceKind != "" {
50889		objectMap["ServiceKind"] = ssi.ServiceKind
50890	}
50891	return json.Marshal(objectMap)
50892}
50893
50894// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
50895func (ssi StatelessServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
50896	return nil, false
50897}
50898
50899// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
50900func (ssi StatelessServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
50901	return &ssi, true
50902}
50903
50904// AsServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
50905func (ssi StatelessServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
50906	return nil, false
50907}
50908
50909// AsBasicServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
50910func (ssi StatelessServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
50911	return &ssi, true
50912}
50913
50914// StatelessServiceInstanceHealth represents the health of the stateless service instance.
50915// Contains the instance aggregated health state, the health events and the unhealthy evaluations.
50916type StatelessServiceInstanceHealth struct {
50917	// 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.
50918	InstanceID *string `json:"InstanceId,omitempty"`
50919	// PartitionID - Id of the partition to which this replica belongs.
50920	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50921	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
50922	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
50923	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
50924	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
50925	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
50926	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
50927	// HealthEvents - The list of health events reported on the entity.
50928	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
50929	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
50930	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
50931	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
50932	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
50933}
50934
50935// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealth.
50936func (ssih StatelessServiceInstanceHealth) MarshalJSON() ([]byte, error) {
50937	ssih.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateless
50938	objectMap := make(map[string]interface{})
50939	if ssih.InstanceID != nil {
50940		objectMap["InstanceId"] = ssih.InstanceID
50941	}
50942	if ssih.PartitionID != nil {
50943		objectMap["PartitionId"] = ssih.PartitionID
50944	}
50945	if ssih.ServiceKind != "" {
50946		objectMap["ServiceKind"] = ssih.ServiceKind
50947	}
50948	if ssih.AggregatedHealthState != "" {
50949		objectMap["AggregatedHealthState"] = ssih.AggregatedHealthState
50950	}
50951	if ssih.HealthEvents != nil {
50952		objectMap["HealthEvents"] = ssih.HealthEvents
50953	}
50954	if ssih.UnhealthyEvaluations != nil {
50955		objectMap["UnhealthyEvaluations"] = ssih.UnhealthyEvaluations
50956	}
50957	if ssih.HealthStatistics != nil {
50958		objectMap["HealthStatistics"] = ssih.HealthStatistics
50959	}
50960	return json.Marshal(objectMap)
50961}
50962
50963// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
50964func (ssih StatelessServiceInstanceHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
50965	return nil, false
50966}
50967
50968// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
50969func (ssih StatelessServiceInstanceHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
50970	return &ssih, true
50971}
50972
50973// AsReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
50974func (ssih StatelessServiceInstanceHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
50975	return nil, false
50976}
50977
50978// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
50979func (ssih StatelessServiceInstanceHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
50980	return &ssih, true
50981}
50982
50983// StatelessServiceInstanceHealthState represents the health state of the stateless service instance, which
50984// contains the instance ID and the aggregated health state.
50985type StatelessServiceInstanceHealthState struct {
50986	// ReplicaID - Id of the stateless service instance on the wire this field is called ReplicaId.
50987	ReplicaID *string `json:"ReplicaId,omitempty"`
50988	// PartitionID - The ID of the partition to which this replica belongs.
50989	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50990	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
50991	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
50992	// 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'
50993	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
50994}
50995
50996// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealthState.
50997func (ssihs StatelessServiceInstanceHealthState) MarshalJSON() ([]byte, error) {
50998	ssihs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateless
50999	objectMap := make(map[string]interface{})
51000	if ssihs.ReplicaID != nil {
51001		objectMap["ReplicaId"] = ssihs.ReplicaID
51002	}
51003	if ssihs.PartitionID != nil {
51004		objectMap["PartitionId"] = ssihs.PartitionID
51005	}
51006	if ssihs.ServiceKind != "" {
51007		objectMap["ServiceKind"] = ssihs.ServiceKind
51008	}
51009	if ssihs.AggregatedHealthState != "" {
51010		objectMap["AggregatedHealthState"] = ssihs.AggregatedHealthState
51011	}
51012	return json.Marshal(objectMap)
51013}
51014
51015// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51016func (ssihs StatelessServiceInstanceHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
51017	return nil, false
51018}
51019
51020// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51021func (ssihs StatelessServiceInstanceHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
51022	return &ssihs, true
51023}
51024
51025// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51026func (ssihs StatelessServiceInstanceHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
51027	return nil, false
51028}
51029
51030// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51031func (ssihs StatelessServiceInstanceHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
51032	return &ssihs, true
51033}
51034
51035// StatelessServiceInstanceInfo represents a stateless service instance. This includes information about the
51036// identity, status, health, node name, uptime, and other details about the instance.
51037type StatelessServiceInstanceInfo struct {
51038	// 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.
51039	InstanceID *string `json:"InstanceId,omitempty"`
51040	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
51041	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
51042	// 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'
51043	HealthState HealthState `json:"HealthState,omitempty"`
51044	// NodeName - The name of a Service Fabric node.
51045	NodeName *string `json:"NodeName,omitempty"`
51046	// Address - The address the replica is listening on.
51047	Address *string `json:"Address,omitempty"`
51048	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
51049	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
51050	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
51051	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
51052}
51053
51054// MarshalJSON is the custom marshaler for StatelessServiceInstanceInfo.
51055func (ssii StatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
51056	ssii.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateless
51057	objectMap := make(map[string]interface{})
51058	if ssii.InstanceID != nil {
51059		objectMap["InstanceId"] = ssii.InstanceID
51060	}
51061	if ssii.ReplicaStatus != "" {
51062		objectMap["ReplicaStatus"] = ssii.ReplicaStatus
51063	}
51064	if ssii.HealthState != "" {
51065		objectMap["HealthState"] = ssii.HealthState
51066	}
51067	if ssii.NodeName != nil {
51068		objectMap["NodeName"] = ssii.NodeName
51069	}
51070	if ssii.Address != nil {
51071		objectMap["Address"] = ssii.Address
51072	}
51073	if ssii.LastInBuildDurationInSeconds != nil {
51074		objectMap["LastInBuildDurationInSeconds"] = ssii.LastInBuildDurationInSeconds
51075	}
51076	if ssii.ServiceKind != "" {
51077		objectMap["ServiceKind"] = ssii.ServiceKind
51078	}
51079	return json.Marshal(objectMap)
51080}
51081
51082// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51083func (ssii StatelessServiceInstanceInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
51084	return nil, false
51085}
51086
51087// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51088func (ssii StatelessServiceInstanceInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
51089	return &ssii, true
51090}
51091
51092// AsReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51093func (ssii StatelessServiceInstanceInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
51094	return nil, false
51095}
51096
51097// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51098func (ssii StatelessServiceInstanceInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
51099	return &ssii, true
51100}
51101
51102// StatelessServicePartitionInfo information about a partition of a stateless Service Fabric service.
51103type StatelessServicePartitionInfo struct {
51104	// InstanceCount - Number of instances of this partition.
51105	InstanceCount *int64 `json:"InstanceCount,omitempty"`
51106	// 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'
51107	HealthState HealthState `json:"HealthState,omitempty"`
51108	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
51109	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
51110	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
51111	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
51112	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
51113	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
51114}
51115
51116// MarshalJSON is the custom marshaler for StatelessServicePartitionInfo.
51117func (sspi StatelessServicePartitionInfo) MarshalJSON() ([]byte, error) {
51118	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateless
51119	objectMap := make(map[string]interface{})
51120	if sspi.InstanceCount != nil {
51121		objectMap["InstanceCount"] = sspi.InstanceCount
51122	}
51123	if sspi.HealthState != "" {
51124		objectMap["HealthState"] = sspi.HealthState
51125	}
51126	if sspi.PartitionStatus != "" {
51127		objectMap["PartitionStatus"] = sspi.PartitionStatus
51128	}
51129	objectMap["PartitionInformation"] = sspi.PartitionInformation
51130	if sspi.ServiceKind != "" {
51131		objectMap["ServiceKind"] = sspi.ServiceKind
51132	}
51133	return json.Marshal(objectMap)
51134}
51135
51136// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51137func (sspi StatelessServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
51138	return nil, false
51139}
51140
51141// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51142func (sspi StatelessServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
51143	return &sspi, true
51144}
51145
51146// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51147func (sspi StatelessServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
51148	return nil, false
51149}
51150
51151// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51152func (sspi StatelessServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
51153	return &sspi, true
51154}
51155
51156// UnmarshalJSON is the custom unmarshaler for StatelessServicePartitionInfo struct.
51157func (sspi *StatelessServicePartitionInfo) UnmarshalJSON(body []byte) error {
51158	var m map[string]*json.RawMessage
51159	err := json.Unmarshal(body, &m)
51160	if err != nil {
51161		return err
51162	}
51163	for k, v := range m {
51164		switch k {
51165		case "InstanceCount":
51166			if v != nil {
51167				var instanceCount int64
51168				err = json.Unmarshal(*v, &instanceCount)
51169				if err != nil {
51170					return err
51171				}
51172				sspi.InstanceCount = &instanceCount
51173			}
51174		case "HealthState":
51175			if v != nil {
51176				var healthState HealthState
51177				err = json.Unmarshal(*v, &healthState)
51178				if err != nil {
51179					return err
51180				}
51181				sspi.HealthState = healthState
51182			}
51183		case "PartitionStatus":
51184			if v != nil {
51185				var partitionStatus ServicePartitionStatus
51186				err = json.Unmarshal(*v, &partitionStatus)
51187				if err != nil {
51188					return err
51189				}
51190				sspi.PartitionStatus = partitionStatus
51191			}
51192		case "PartitionInformation":
51193			if v != nil {
51194				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
51195				if err != nil {
51196					return err
51197				}
51198				sspi.PartitionInformation = partitionInformation
51199			}
51200		case "ServiceKind":
51201			if v != nil {
51202				var serviceKind ServiceKindBasicServicePartitionInfo
51203				err = json.Unmarshal(*v, &serviceKind)
51204				if err != nil {
51205					return err
51206				}
51207				sspi.ServiceKind = serviceKind
51208			}
51209		}
51210	}
51211
51212	return nil
51213}
51214
51215// StatelessServiceTypeDescription describes a stateless service type defined in the service manifest of a
51216// provisioned application type.
51217type StatelessServiceTypeDescription struct {
51218	// 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.
51219	UseImplicitHost *bool `json:"UseImplicitHost,omitempty"`
51220	// 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.
51221	IsStateful *bool `json:"IsStateful,omitempty"`
51222	// ServiceTypeName - Name of the service type as specified in the service manifest.
51223	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
51224	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
51225	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
51226	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
51227	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
51228	// ServicePlacementPolicies - List of service placement policy descriptions.
51229	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
51230	// Extensions - List of service type extensions.
51231	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
51232	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
51233	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
51234}
51235
51236// MarshalJSON is the custom marshaler for StatelessServiceTypeDescription.
51237func (sstd StatelessServiceTypeDescription) MarshalJSON() ([]byte, error) {
51238	sstd.Kind = KindStateless
51239	objectMap := make(map[string]interface{})
51240	if sstd.UseImplicitHost != nil {
51241		objectMap["UseImplicitHost"] = sstd.UseImplicitHost
51242	}
51243	if sstd.IsStateful != nil {
51244		objectMap["IsStateful"] = sstd.IsStateful
51245	}
51246	if sstd.ServiceTypeName != nil {
51247		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
51248	}
51249	if sstd.PlacementConstraints != nil {
51250		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
51251	}
51252	if sstd.LoadMetrics != nil {
51253		objectMap["LoadMetrics"] = sstd.LoadMetrics
51254	}
51255	if sstd.ServicePlacementPolicies != nil {
51256		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
51257	}
51258	if sstd.Extensions != nil {
51259		objectMap["Extensions"] = sstd.Extensions
51260	}
51261	if sstd.Kind != "" {
51262		objectMap["Kind"] = sstd.Kind
51263	}
51264	return json.Marshal(objectMap)
51265}
51266
51267// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51268func (sstd StatelessServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
51269	return nil, false
51270}
51271
51272// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51273func (sstd StatelessServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
51274	return &sstd, true
51275}
51276
51277// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51278func (sstd StatelessServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
51279	return nil, false
51280}
51281
51282// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51283func (sstd StatelessServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
51284	return &sstd, true
51285}
51286
51287// UnmarshalJSON is the custom unmarshaler for StatelessServiceTypeDescription struct.
51288func (sstd *StatelessServiceTypeDescription) UnmarshalJSON(body []byte) error {
51289	var m map[string]*json.RawMessage
51290	err := json.Unmarshal(body, &m)
51291	if err != nil {
51292		return err
51293	}
51294	for k, v := range m {
51295		switch k {
51296		case "UseImplicitHost":
51297			if v != nil {
51298				var useImplicitHost bool
51299				err = json.Unmarshal(*v, &useImplicitHost)
51300				if err != nil {
51301					return err
51302				}
51303				sstd.UseImplicitHost = &useImplicitHost
51304			}
51305		case "IsStateful":
51306			if v != nil {
51307				var isStateful bool
51308				err = json.Unmarshal(*v, &isStateful)
51309				if err != nil {
51310					return err
51311				}
51312				sstd.IsStateful = &isStateful
51313			}
51314		case "ServiceTypeName":
51315			if v != nil {
51316				var serviceTypeName string
51317				err = json.Unmarshal(*v, &serviceTypeName)
51318				if err != nil {
51319					return err
51320				}
51321				sstd.ServiceTypeName = &serviceTypeName
51322			}
51323		case "PlacementConstraints":
51324			if v != nil {
51325				var placementConstraints string
51326				err = json.Unmarshal(*v, &placementConstraints)
51327				if err != nil {
51328					return err
51329				}
51330				sstd.PlacementConstraints = &placementConstraints
51331			}
51332		case "LoadMetrics":
51333			if v != nil {
51334				var loadMetrics []ServiceLoadMetricDescription
51335				err = json.Unmarshal(*v, &loadMetrics)
51336				if err != nil {
51337					return err
51338				}
51339				sstd.LoadMetrics = &loadMetrics
51340			}
51341		case "ServicePlacementPolicies":
51342			if v != nil {
51343				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
51344				if err != nil {
51345					return err
51346				}
51347				sstd.ServicePlacementPolicies = &servicePlacementPolicies
51348			}
51349		case "Extensions":
51350			if v != nil {
51351				var extensions []ServiceTypeExtensionDescription
51352				err = json.Unmarshal(*v, &extensions)
51353				if err != nil {
51354					return err
51355				}
51356				sstd.Extensions = &extensions
51357			}
51358		case "Kind":
51359			if v != nil {
51360				var kind KindBasicServiceTypeDescription
51361				err = json.Unmarshal(*v, &kind)
51362				if err != nil {
51363					return err
51364				}
51365				sstd.Kind = kind
51366			}
51367		}
51368	}
51369
51370	return nil
51371}
51372
51373// StatelessServiceUpdateDescription describes an update for a stateless service.
51374type StatelessServiceUpdateDescription struct {
51375	// InstanceCount - The instance count.
51376	InstanceCount *int32 `json:"InstanceCount,omitempty"`
51377	// 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.
51378	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
51379	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
51380	// - None - Does not indicate any other properties are set. The value is zero.
51381	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
51382	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
51383	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
51384	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
51385	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
51386	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
51387	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
51388	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
51389	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
51390	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
51391	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
51392	Flags *string `json:"Flags,omitempty"`
51393	// 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)".
51394	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
51395	// CorrelationScheme - The correlation scheme.
51396	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
51397	// LoadMetrics - The service load metrics.
51398	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
51399	// ServicePlacementPolicies - The service placement policies.
51400	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
51401	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
51402	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
51403	// ScalingPolicies - Scaling policies for this service.
51404	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
51405	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
51406	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
51407}
51408
51409// MarshalJSON is the custom marshaler for StatelessServiceUpdateDescription.
51410func (ssud StatelessServiceUpdateDescription) MarshalJSON() ([]byte, error) {
51411	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateless
51412	objectMap := make(map[string]interface{})
51413	if ssud.InstanceCount != nil {
51414		objectMap["InstanceCount"] = ssud.InstanceCount
51415	}
51416	if ssud.Flags != nil {
51417		objectMap["Flags"] = ssud.Flags
51418	}
51419	if ssud.PlacementConstraints != nil {
51420		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
51421	}
51422	if ssud.CorrelationScheme != nil {
51423		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
51424	}
51425	if ssud.LoadMetrics != nil {
51426		objectMap["LoadMetrics"] = ssud.LoadMetrics
51427	}
51428	if ssud.ServicePlacementPolicies != nil {
51429		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
51430	}
51431	if ssud.DefaultMoveCost != "" {
51432		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
51433	}
51434	if ssud.ScalingPolicies != nil {
51435		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
51436	}
51437	if ssud.ServiceKind != "" {
51438		objectMap["ServiceKind"] = ssud.ServiceKind
51439	}
51440	return json.Marshal(objectMap)
51441}
51442
51443// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
51444func (ssud StatelessServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
51445	return nil, false
51446}
51447
51448// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
51449func (ssud StatelessServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
51450	return &ssud, true
51451}
51452
51453// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
51454func (ssud StatelessServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
51455	return nil, false
51456}
51457
51458// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
51459func (ssud StatelessServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
51460	return &ssud, true
51461}
51462
51463// UnmarshalJSON is the custom unmarshaler for StatelessServiceUpdateDescription struct.
51464func (ssud *StatelessServiceUpdateDescription) UnmarshalJSON(body []byte) error {
51465	var m map[string]*json.RawMessage
51466	err := json.Unmarshal(body, &m)
51467	if err != nil {
51468		return err
51469	}
51470	for k, v := range m {
51471		switch k {
51472		case "InstanceCount":
51473			if v != nil {
51474				var instanceCount int32
51475				err = json.Unmarshal(*v, &instanceCount)
51476				if err != nil {
51477					return err
51478				}
51479				ssud.InstanceCount = &instanceCount
51480			}
51481		case "Flags":
51482			if v != nil {
51483				var flags string
51484				err = json.Unmarshal(*v, &flags)
51485				if err != nil {
51486					return err
51487				}
51488				ssud.Flags = &flags
51489			}
51490		case "PlacementConstraints":
51491			if v != nil {
51492				var placementConstraints string
51493				err = json.Unmarshal(*v, &placementConstraints)
51494				if err != nil {
51495					return err
51496				}
51497				ssud.PlacementConstraints = &placementConstraints
51498			}
51499		case "CorrelationScheme":
51500			if v != nil {
51501				var correlationScheme []ServiceCorrelationDescription
51502				err = json.Unmarshal(*v, &correlationScheme)
51503				if err != nil {
51504					return err
51505				}
51506				ssud.CorrelationScheme = &correlationScheme
51507			}
51508		case "LoadMetrics":
51509			if v != nil {
51510				var loadMetrics []ServiceLoadMetricDescription
51511				err = json.Unmarshal(*v, &loadMetrics)
51512				if err != nil {
51513					return err
51514				}
51515				ssud.LoadMetrics = &loadMetrics
51516			}
51517		case "ServicePlacementPolicies":
51518			if v != nil {
51519				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
51520				if err != nil {
51521					return err
51522				}
51523				ssud.ServicePlacementPolicies = &servicePlacementPolicies
51524			}
51525		case "DefaultMoveCost":
51526			if v != nil {
51527				var defaultMoveCost MoveCost
51528				err = json.Unmarshal(*v, &defaultMoveCost)
51529				if err != nil {
51530					return err
51531				}
51532				ssud.DefaultMoveCost = defaultMoveCost
51533			}
51534		case "ScalingPolicies":
51535			if v != nil {
51536				var scalingPolicies []ScalingPolicyDescription
51537				err = json.Unmarshal(*v, &scalingPolicies)
51538				if err != nil {
51539					return err
51540				}
51541				ssud.ScalingPolicies = &scalingPolicies
51542			}
51543		case "ServiceKind":
51544			if v != nil {
51545				var serviceKind ServiceKindBasicServiceUpdateDescription
51546				err = json.Unmarshal(*v, &serviceKind)
51547				if err != nil {
51548					return err
51549				}
51550				ssud.ServiceKind = serviceKind
51551			}
51552		}
51553	}
51554
51555	return nil
51556}
51557
51558// StoppedChaosEvent describes a Chaos event that gets generated when Chaos stops because either the user issued a
51559// stop or the time to run was up.
51560type StoppedChaosEvent struct {
51561	// Reason - Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over.
51562	Reason *string `json:"Reason,omitempty"`
51563	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
51564	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
51565	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
51566	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
51567}
51568
51569// MarshalJSON is the custom marshaler for StoppedChaosEvent.
51570func (sce StoppedChaosEvent) MarshalJSON() ([]byte, error) {
51571	sce.Kind = KindStopped
51572	objectMap := make(map[string]interface{})
51573	if sce.Reason != nil {
51574		objectMap["Reason"] = sce.Reason
51575	}
51576	if sce.TimeStampUtc != nil {
51577		objectMap["TimeStampUtc"] = sce.TimeStampUtc
51578	}
51579	if sce.Kind != "" {
51580		objectMap["Kind"] = sce.Kind
51581	}
51582	return json.Marshal(objectMap)
51583}
51584
51585// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51586func (sce StoppedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
51587	return nil, false
51588}
51589
51590// AsStartedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51591func (sce StoppedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
51592	return nil, false
51593}
51594
51595// AsStoppedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51596func (sce StoppedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
51597	return &sce, true
51598}
51599
51600// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51601func (sce StoppedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
51602	return nil, false
51603}
51604
51605// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51606func (sce StoppedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
51607	return nil, false
51608}
51609
51610// AsWaitingChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51611func (sce StoppedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
51612	return nil, false
51613}
51614
51615// AsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51616func (sce StoppedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
51617	return nil, false
51618}
51619
51620// AsBasicChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
51621func (sce StoppedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
51622	return &sce, true
51623}
51624
51625// String ...
51626type String struct {
51627	autorest.Response `json:"-"`
51628	Value             *string `json:"value,omitempty"`
51629}
51630
51631// StringPropertyValue describes a Service Fabric property value of type String.
51632type StringPropertyValue struct {
51633	// Data - The data of the property value.
51634	Data *string `json:"Data,omitempty"`
51635	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
51636	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
51637}
51638
51639// MarshalJSON is the custom marshaler for StringPropertyValue.
51640func (spv StringPropertyValue) MarshalJSON() ([]byte, error) {
51641	spv.Kind = KindString
51642	objectMap := make(map[string]interface{})
51643	if spv.Data != nil {
51644		objectMap["Data"] = spv.Data
51645	}
51646	if spv.Kind != "" {
51647		objectMap["Kind"] = spv.Kind
51648	}
51649	return json.Marshal(objectMap)
51650}
51651
51652// AsBinaryPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
51653func (spv StringPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
51654	return nil, false
51655}
51656
51657// AsInt64PropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
51658func (spv StringPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
51659	return nil, false
51660}
51661
51662// AsDoublePropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
51663func (spv StringPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
51664	return nil, false
51665}
51666
51667// AsStringPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
51668func (spv StringPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
51669	return &spv, true
51670}
51671
51672// AsGUIDPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
51673func (spv StringPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
51674	return nil, false
51675}
51676
51677// AsPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
51678func (spv StringPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
51679	return nil, false
51680}
51681
51682// AsBasicPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
51683func (spv StringPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
51684	return &spv, true
51685}
51686
51687// SuccessfulPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch succeeding. Contains
51688// the results of any "Get" operations in the batch.
51689type SuccessfulPropertyBatchInfo struct {
51690	// 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.
51691	Properties map[string]*PropertyInfo `json:"Properties"`
51692	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
51693	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
51694}
51695
51696// MarshalJSON is the custom marshaler for SuccessfulPropertyBatchInfo.
51697func (spbi SuccessfulPropertyBatchInfo) MarshalJSON() ([]byte, error) {
51698	spbi.Kind = KindSuccessful
51699	objectMap := make(map[string]interface{})
51700	if spbi.Properties != nil {
51701		objectMap["Properties"] = spbi.Properties
51702	}
51703	if spbi.Kind != "" {
51704		objectMap["Kind"] = spbi.Kind
51705	}
51706	return json.Marshal(objectMap)
51707}
51708
51709// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
51710func (spbi SuccessfulPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
51711	return &spbi, true
51712}
51713
51714// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
51715func (spbi SuccessfulPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
51716	return nil, false
51717}
51718
51719// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
51720func (spbi SuccessfulPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
51721	return nil, false
51722}
51723
51724// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
51725func (spbi SuccessfulPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
51726	return &spbi, true
51727}
51728
51729// SystemApplicationHealthEvaluation represents health evaluation for the fabric:/System application, containing
51730// information about the data and the algorithm used by health store to evaluate health. The evaluation is returned
51731// only when the aggregated health state of the cluster is either Error or Warning.
51732type SystemApplicationHealthEvaluation struct {
51733	// 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.
51734	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
51735	// 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'
51736	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
51737	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
51738	Description *string `json:"Description,omitempty"`
51739	// 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'
51740	Kind Kind `json:"Kind,omitempty"`
51741}
51742
51743// MarshalJSON is the custom marshaler for SystemApplicationHealthEvaluation.
51744func (sahe SystemApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
51745	sahe.Kind = KindSystemApplication
51746	objectMap := make(map[string]interface{})
51747	if sahe.UnhealthyEvaluations != nil {
51748		objectMap["UnhealthyEvaluations"] = sahe.UnhealthyEvaluations
51749	}
51750	if sahe.AggregatedHealthState != "" {
51751		objectMap["AggregatedHealthState"] = sahe.AggregatedHealthState
51752	}
51753	if sahe.Description != nil {
51754		objectMap["Description"] = sahe.Description
51755	}
51756	if sahe.Kind != "" {
51757		objectMap["Kind"] = sahe.Kind
51758	}
51759	return json.Marshal(objectMap)
51760}
51761
51762// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51763func (sahe SystemApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
51764	return nil, false
51765}
51766
51767// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51768func (sahe SystemApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
51769	return nil, false
51770}
51771
51772// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51773func (sahe SystemApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
51774	return nil, false
51775}
51776
51777// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51778func (sahe SystemApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
51779	return nil, false
51780}
51781
51782// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51783func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
51784	return nil, false
51785}
51786
51787// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51788func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
51789	return nil, false
51790}
51791
51792// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51793func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
51794	return nil, false
51795}
51796
51797// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51798func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
51799	return nil, false
51800}
51801
51802// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51803func (sahe SystemApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
51804	return nil, false
51805}
51806
51807// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51808func (sahe SystemApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
51809	return nil, false
51810}
51811
51812// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51813func (sahe SystemApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
51814	return nil, false
51815}
51816
51817// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51818func (sahe SystemApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
51819	return nil, false
51820}
51821
51822// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51823func (sahe SystemApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
51824	return nil, false
51825}
51826
51827// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51828func (sahe SystemApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
51829	return nil, false
51830}
51831
51832// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51833func (sahe SystemApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
51834	return nil, false
51835}
51836
51837// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51838func (sahe SystemApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
51839	return nil, false
51840}
51841
51842// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51843func (sahe SystemApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
51844	return nil, false
51845}
51846
51847// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51848func (sahe SystemApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
51849	return &sahe, true
51850}
51851
51852// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51853func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
51854	return nil, false
51855}
51856
51857// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51858func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
51859	return nil, false
51860}
51861
51862// AsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51863func (sahe SystemApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
51864	return nil, false
51865}
51866
51867// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
51868func (sahe SystemApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
51869	return &sahe, true
51870}
51871
51872// TestErrorChaosEvent describes a Chaos event that gets generated when an unexpected event occurs in the Chaos
51873// engine.
51874// For example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that the
51875// entity was already faulted -- which would be an unexpected event.
51876type TestErrorChaosEvent struct {
51877	// 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.
51878	Reason *string `json:"Reason,omitempty"`
51879	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
51880	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
51881	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
51882	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
51883}
51884
51885// MarshalJSON is the custom marshaler for TestErrorChaosEvent.
51886func (tece TestErrorChaosEvent) MarshalJSON() ([]byte, error) {
51887	tece.Kind = KindTestError
51888	objectMap := make(map[string]interface{})
51889	if tece.Reason != nil {
51890		objectMap["Reason"] = tece.Reason
51891	}
51892	if tece.TimeStampUtc != nil {
51893		objectMap["TimeStampUtc"] = tece.TimeStampUtc
51894	}
51895	if tece.Kind != "" {
51896		objectMap["Kind"] = tece.Kind
51897	}
51898	return json.Marshal(objectMap)
51899}
51900
51901// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51902func (tece TestErrorChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
51903	return nil, false
51904}
51905
51906// AsStartedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51907func (tece TestErrorChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
51908	return nil, false
51909}
51910
51911// AsStoppedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51912func (tece TestErrorChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
51913	return nil, false
51914}
51915
51916// AsTestErrorChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51917func (tece TestErrorChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
51918	return &tece, true
51919}
51920
51921// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51922func (tece TestErrorChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
51923	return nil, false
51924}
51925
51926// AsWaitingChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51927func (tece TestErrorChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
51928	return nil, false
51929}
51930
51931// AsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51932func (tece TestErrorChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
51933	return nil, false
51934}
51935
51936// AsBasicChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
51937func (tece TestErrorChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
51938	return &tece, true
51939}
51940
51941// TimeBasedBackupScheduleDescription describes the time based backup schedule.
51942type TimeBasedBackupScheduleDescription struct {
51943	// ScheduleFrequencyType - Describes the frequency with which to run the time based backup schedule. Possible values include: 'BackupScheduleFrequencyTypeInvalid', 'BackupScheduleFrequencyTypeDaily', 'BackupScheduleFrequencyTypeWeekly'
51944	ScheduleFrequencyType BackupScheduleFrequencyType `json:"ScheduleFrequencyType,omitempty"`
51945	// 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.
51946	RunDays *[]DayOfWeek `json:"RunDays,omitempty"`
51947	// 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.
51948	RunTimes *[]date.Time `json:"RunTimes,omitempty"`
51949	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
51950	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
51951}
51952
51953// MarshalJSON is the custom marshaler for TimeBasedBackupScheduleDescription.
51954func (tbbsd TimeBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
51955	tbbsd.ScheduleKind = ScheduleKindTimeBased
51956	objectMap := make(map[string]interface{})
51957	if tbbsd.ScheduleFrequencyType != "" {
51958		objectMap["ScheduleFrequencyType"] = tbbsd.ScheduleFrequencyType
51959	}
51960	if tbbsd.RunDays != nil {
51961		objectMap["RunDays"] = tbbsd.RunDays
51962	}
51963	if tbbsd.RunTimes != nil {
51964		objectMap["RunTimes"] = tbbsd.RunTimes
51965	}
51966	if tbbsd.ScheduleKind != "" {
51967		objectMap["ScheduleKind"] = tbbsd.ScheduleKind
51968	}
51969	return json.Marshal(objectMap)
51970}
51971
51972// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
51973func (tbbsd TimeBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
51974	return nil, false
51975}
51976
51977// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
51978func (tbbsd TimeBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
51979	return &tbbsd, true
51980}
51981
51982// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
51983func (tbbsd TimeBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
51984	return nil, false
51985}
51986
51987// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
51988func (tbbsd TimeBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
51989	return &tbbsd, true
51990}
51991
51992// TimeOfDay defines an hour and minute of the day specified in 24 hour time.
51993type TimeOfDay struct {
51994	// Hour - Represents the hour of the day. Value must be between 0 and 23 inclusive.
51995	Hour *int32 `json:"Hour,omitempty"`
51996	// Minute - Represents the minute of the hour. Value must be between 0 to 59 inclusive.
51997	Minute *int32 `json:"Minute,omitempty"`
51998}
51999
52000// TimeRange defines a time range in a 24 hour day specified by a start and end time.
52001type TimeRange struct {
52002	// StartTime - Defines an hour and minute of the day specified in 24 hour time.
52003	StartTime *TimeOfDay `json:"StartTime,omitempty"`
52004	// EndTime - Defines an hour and minute of the day specified in 24 hour time.
52005	EndTime *TimeOfDay `json:"EndTime,omitempty"`
52006}
52007
52008// UniformInt64RangePartitionSchemeDescription describes a partitioning scheme where an integer range is allocated
52009// evenly across a number of partitions.
52010type UniformInt64RangePartitionSchemeDescription struct {
52011	// Count - The number of partitions.
52012	Count *int32 `json:"Count,omitempty"`
52013	// LowKey - String indicating the lower bound of the partition key range that
52014	// should be split between the partitions.
52015	LowKey *string `json:"LowKey,omitempty"`
52016	// HighKey - String indicating the upper bound of the partition key range that
52017	// should be split between the partitions.
52018	HighKey *string `json:"HighKey,omitempty"`
52019	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
52020	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
52021}
52022
52023// MarshalJSON is the custom marshaler for UniformInt64RangePartitionSchemeDescription.
52024func (ui6rpsd UniformInt64RangePartitionSchemeDescription) MarshalJSON() ([]byte, error) {
52025	ui6rpsd.PartitionScheme = PartitionSchemeUniformInt64Range1
52026	objectMap := make(map[string]interface{})
52027	if ui6rpsd.Count != nil {
52028		objectMap["Count"] = ui6rpsd.Count
52029	}
52030	if ui6rpsd.LowKey != nil {
52031		objectMap["LowKey"] = ui6rpsd.LowKey
52032	}
52033	if ui6rpsd.HighKey != nil {
52034		objectMap["HighKey"] = ui6rpsd.HighKey
52035	}
52036	if ui6rpsd.PartitionScheme != "" {
52037		objectMap["PartitionScheme"] = ui6rpsd.PartitionScheme
52038	}
52039	return json.Marshal(objectMap)
52040}
52041
52042// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52043func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
52044	return nil, false
52045}
52046
52047// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52048func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
52049	return nil, false
52050}
52051
52052// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52053func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
52054	return &ui6rpsd, true
52055}
52056
52057// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52058func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
52059	return nil, false
52060}
52061
52062// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52063func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
52064	return &ui6rpsd, true
52065}
52066
52067// UnprovisionApplicationTypeDescriptionInfo describes the operation to unregister or unprovision an application
52068// type and its version that was registered with the Service Fabric.
52069type UnprovisionApplicationTypeDescriptionInfo struct {
52070	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
52071	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
52072	// 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.
52073	Async *bool `json:"Async,omitempty"`
52074}
52075
52076// UnprovisionFabricDescription describes the parameters for unprovisioning a cluster.
52077type UnprovisionFabricDescription struct {
52078	// CodeVersion - The cluster code package version.
52079	CodeVersion *string `json:"CodeVersion,omitempty"`
52080	// ConfigVersion - The cluster manifest version.
52081	ConfigVersion *string `json:"ConfigVersion,omitempty"`
52082}
52083
52084// UpdateClusterUpgradeDescription parameters for updating a cluster upgrade.
52085type UpdateClusterUpgradeDescription struct {
52086	// UpgradeKind - The type of upgrade out of the following possible values. Possible values include: 'UpgradeTypeInvalid', 'UpgradeTypeRolling', 'UpgradeTypeRollingForceRestart'
52087	UpgradeKind UpgradeType `json:"UpgradeKind,omitempty"`
52088	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
52089	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
52090	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
52091	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
52092	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
52093	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
52094	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
52095	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
52096	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
52097	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
52098}
52099
52100// UpgradeDomainDeltaNodesCheckHealthEvaluation represents health evaluation for delta unhealthy cluster nodes in
52101// an upgrade domain, containing health evaluations for each unhealthy node that impacted current aggregated health
52102// state.
52103// Can be returned during cluster upgrade when cluster aggregated health state is Warning or Error.
52104type UpgradeDomainDeltaNodesCheckHealthEvaluation struct {
52105	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
52106	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
52107	// BaselineErrorCount - Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
52108	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
52109	// BaselineTotalCount - Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade.
52110	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
52111	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
52112	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
52113	// TotalCount - Total number of upgrade domain nodes in the health store.
52114	TotalCount *int64 `json:"TotalCount,omitempty"`
52115	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
52116	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
52117	// 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'
52118	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
52119	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
52120	Description *string `json:"Description,omitempty"`
52121	// 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'
52122	Kind Kind `json:"Kind,omitempty"`
52123}
52124
52125// MarshalJSON is the custom marshaler for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52126func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
52127	uddnche.Kind = KindUpgradeDomainDeltaNodesCheck
52128	objectMap := make(map[string]interface{})
52129	if uddnche.UpgradeDomainName != nil {
52130		objectMap["UpgradeDomainName"] = uddnche.UpgradeDomainName
52131	}
52132	if uddnche.BaselineErrorCount != nil {
52133		objectMap["BaselineErrorCount"] = uddnche.BaselineErrorCount
52134	}
52135	if uddnche.BaselineTotalCount != nil {
52136		objectMap["BaselineTotalCount"] = uddnche.BaselineTotalCount
52137	}
52138	if uddnche.MaxPercentDeltaUnhealthyNodes != nil {
52139		objectMap["MaxPercentDeltaUnhealthyNodes"] = uddnche.MaxPercentDeltaUnhealthyNodes
52140	}
52141	if uddnche.TotalCount != nil {
52142		objectMap["TotalCount"] = uddnche.TotalCount
52143	}
52144	if uddnche.UnhealthyEvaluations != nil {
52145		objectMap["UnhealthyEvaluations"] = uddnche.UnhealthyEvaluations
52146	}
52147	if uddnche.AggregatedHealthState != "" {
52148		objectMap["AggregatedHealthState"] = uddnche.AggregatedHealthState
52149	}
52150	if uddnche.Description != nil {
52151		objectMap["Description"] = uddnche.Description
52152	}
52153	if uddnche.Kind != "" {
52154		objectMap["Kind"] = uddnche.Kind
52155	}
52156	return json.Marshal(objectMap)
52157}
52158
52159// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52160func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
52161	return nil, false
52162}
52163
52164// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52165func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
52166	return nil, false
52167}
52168
52169// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52170func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
52171	return nil, false
52172}
52173
52174// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52175func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
52176	return nil, false
52177}
52178
52179// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52180func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
52181	return nil, false
52182}
52183
52184// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52185func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
52186	return nil, false
52187}
52188
52189// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52190func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
52191	return nil, false
52192}
52193
52194// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52195func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
52196	return nil, false
52197}
52198
52199// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52200func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
52201	return nil, false
52202}
52203
52204// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52205func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
52206	return nil, false
52207}
52208
52209// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52210func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
52211	return nil, false
52212}
52213
52214// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52215func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
52216	return nil, false
52217}
52218
52219// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52220func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
52221	return nil, false
52222}
52223
52224// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52225func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
52226	return nil, false
52227}
52228
52229// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52230func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
52231	return nil, false
52232}
52233
52234// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52235func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
52236	return nil, false
52237}
52238
52239// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52240func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
52241	return nil, false
52242}
52243
52244// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52245func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
52246	return nil, false
52247}
52248
52249// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52250func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
52251	return &uddnche, true
52252}
52253
52254// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52255func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
52256	return nil, false
52257}
52258
52259// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52260func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
52261	return nil, false
52262}
52263
52264// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52265func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
52266	return &uddnche, true
52267}
52268
52269// UpgradeDomainInfo information about an upgrade domain.
52270type UpgradeDomainInfo struct {
52271	// Name - The name of the upgrade domain
52272	Name *string `json:"Name,omitempty"`
52273	// State - The state of the upgrade domain. Possible values include: 'UpgradeDomainStateInvalid', 'UpgradeDomainStatePending', 'UpgradeDomainStateInProgress', 'UpgradeDomainStateCompleted'
52274	State UpgradeDomainState `json:"State,omitempty"`
52275}
52276
52277// UpgradeDomainNodesHealthEvaluation represents health evaluation for cluster nodes in an upgrade domain,
52278// containing health evaluations for each unhealthy node that impacted current aggregated health state. Can be
52279// returned when evaluating cluster health during cluster upgrade and the aggregated health state is either Error
52280// or Warning.
52281type UpgradeDomainNodesHealthEvaluation struct {
52282	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
52283	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
52284	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
52285	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
52286	// TotalCount - Total number of nodes in the current upgrade domain.
52287	TotalCount *int64 `json:"TotalCount,omitempty"`
52288	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
52289	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
52290	// 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'
52291	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
52292	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
52293	Description *string `json:"Description,omitempty"`
52294	// 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'
52295	Kind Kind `json:"Kind,omitempty"`
52296}
52297
52298// MarshalJSON is the custom marshaler for UpgradeDomainNodesHealthEvaluation.
52299func (udnhe UpgradeDomainNodesHealthEvaluation) MarshalJSON() ([]byte, error) {
52300	udnhe.Kind = KindUpgradeDomainNodes
52301	objectMap := make(map[string]interface{})
52302	if udnhe.UpgradeDomainName != nil {
52303		objectMap["UpgradeDomainName"] = udnhe.UpgradeDomainName
52304	}
52305	if udnhe.MaxPercentUnhealthyNodes != nil {
52306		objectMap["MaxPercentUnhealthyNodes"] = udnhe.MaxPercentUnhealthyNodes
52307	}
52308	if udnhe.TotalCount != nil {
52309		objectMap["TotalCount"] = udnhe.TotalCount
52310	}
52311	if udnhe.UnhealthyEvaluations != nil {
52312		objectMap["UnhealthyEvaluations"] = udnhe.UnhealthyEvaluations
52313	}
52314	if udnhe.AggregatedHealthState != "" {
52315		objectMap["AggregatedHealthState"] = udnhe.AggregatedHealthState
52316	}
52317	if udnhe.Description != nil {
52318		objectMap["Description"] = udnhe.Description
52319	}
52320	if udnhe.Kind != "" {
52321		objectMap["Kind"] = udnhe.Kind
52322	}
52323	return json.Marshal(objectMap)
52324}
52325
52326// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52327func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
52328	return nil, false
52329}
52330
52331// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52332func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
52333	return nil, false
52334}
52335
52336// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52337func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
52338	return nil, false
52339}
52340
52341// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52342func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
52343	return nil, false
52344}
52345
52346// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52347func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
52348	return nil, false
52349}
52350
52351// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52352func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
52353	return nil, false
52354}
52355
52356// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52357func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
52358	return nil, false
52359}
52360
52361// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52362func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
52363	return nil, false
52364}
52365
52366// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52367func (udnhe UpgradeDomainNodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
52368	return nil, false
52369}
52370
52371// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52372func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
52373	return nil, false
52374}
52375
52376// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52377func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
52378	return nil, false
52379}
52380
52381// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52382func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
52383	return nil, false
52384}
52385
52386// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52387func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
52388	return nil, false
52389}
52390
52391// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52392func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
52393	return nil, false
52394}
52395
52396// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52397func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
52398	return nil, false
52399}
52400
52401// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52402func (udnhe UpgradeDomainNodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
52403	return nil, false
52404}
52405
52406// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52407func (udnhe UpgradeDomainNodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
52408	return nil, false
52409}
52410
52411// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52412func (udnhe UpgradeDomainNodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
52413	return nil, false
52414}
52415
52416// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52417func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
52418	return nil, false
52419}
52420
52421// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52422func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
52423	return &udnhe, true
52424}
52425
52426// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52427func (udnhe UpgradeDomainNodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
52428	return nil, false
52429}
52430
52431// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52432func (udnhe UpgradeDomainNodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
52433	return &udnhe, true
52434}
52435
52436// UpgradeOrchestrationServiceState service state of Service Fabric Upgrade Orchestration Service.
52437type UpgradeOrchestrationServiceState struct {
52438	autorest.Response `json:"-"`
52439	// ServiceState - The state of Service Fabric Upgrade Orchestration Service.
52440	ServiceState *string `json:"ServiceState,omitempty"`
52441}
52442
52443// UpgradeOrchestrationServiceStateSummary service state summary of Service Fabric Upgrade Orchestration Service.
52444type UpgradeOrchestrationServiceStateSummary struct {
52445	autorest.Response `json:"-"`
52446	// CurrentCodeVersion - The current code version of the cluster.
52447	CurrentCodeVersion *string `json:"CurrentCodeVersion,omitempty"`
52448	// CurrentManifestVersion - The current manifest version of the cluster.
52449	CurrentManifestVersion *string `json:"CurrentManifestVersion,omitempty"`
52450	// TargetCodeVersion - The target code version of  the cluster.
52451	TargetCodeVersion *string `json:"TargetCodeVersion,omitempty"`
52452	// TargetManifestVersion - The target manifest version of the cluster.
52453	TargetManifestVersion *string `json:"TargetManifestVersion,omitempty"`
52454	// PendingUpgradeType - The type of the pending upgrade of the cluster.
52455	PendingUpgradeType *string `json:"PendingUpgradeType,omitempty"`
52456}
52457
52458// UploadChunkRange information about which portion of the file to upload.
52459type UploadChunkRange struct {
52460	// StartPosition - The start position of the portion of the file. It's represented by the number of bytes.
52461	StartPosition *string `json:"StartPosition,omitempty"`
52462	// EndPosition - The end position of the portion of the file. It's represented by the number of bytes.
52463	EndPosition *string `json:"EndPosition,omitempty"`
52464}
52465
52466// UploadSession information about a image store upload session
52467type UploadSession struct {
52468	autorest.Response `json:"-"`
52469	// 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.
52470	UploadSessions *[]UploadSessionInfo `json:"UploadSessions,omitempty"`
52471}
52472
52473// UploadSessionInfo information about an image store upload session. A session is associated with a relative path
52474// in the image store.
52475type UploadSessionInfo struct {
52476	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
52477	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
52478	// SessionID - A unique ID of the upload session. A session ID can be reused only if the session was committed or removed.
52479	SessionID *uuid.UUID `json:"SessionId,omitempty"`
52480	// ModifiedDate - The date and time when the upload session was last modified.
52481	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
52482	// FileSize - The size in bytes of the uploading file.
52483	FileSize *string `json:"FileSize,omitempty"`
52484	// ExpectedRanges - List of chunk ranges that image store has not received yet.
52485	ExpectedRanges *[]UploadChunkRange `json:"ExpectedRanges,omitempty"`
52486}
52487
52488// ValidationFailedChaosEvent chaos event corresponding to a failure during validation.
52489type ValidationFailedChaosEvent struct {
52490	// 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.
52491	Reason *string `json:"Reason,omitempty"`
52492	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
52493	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
52494	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
52495	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
52496}
52497
52498// MarshalJSON is the custom marshaler for ValidationFailedChaosEvent.
52499func (vfce ValidationFailedChaosEvent) MarshalJSON() ([]byte, error) {
52500	vfce.Kind = KindValidationFailed
52501	objectMap := make(map[string]interface{})
52502	if vfce.Reason != nil {
52503		objectMap["Reason"] = vfce.Reason
52504	}
52505	if vfce.TimeStampUtc != nil {
52506		objectMap["TimeStampUtc"] = vfce.TimeStampUtc
52507	}
52508	if vfce.Kind != "" {
52509		objectMap["Kind"] = vfce.Kind
52510	}
52511	return json.Marshal(objectMap)
52512}
52513
52514// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52515func (vfce ValidationFailedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
52516	return nil, false
52517}
52518
52519// AsStartedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52520func (vfce ValidationFailedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
52521	return nil, false
52522}
52523
52524// AsStoppedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52525func (vfce ValidationFailedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
52526	return nil, false
52527}
52528
52529// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52530func (vfce ValidationFailedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
52531	return nil, false
52532}
52533
52534// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52535func (vfce ValidationFailedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
52536	return &vfce, true
52537}
52538
52539// AsWaitingChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52540func (vfce ValidationFailedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
52541	return nil, false
52542}
52543
52544// AsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52545func (vfce ValidationFailedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
52546	return nil, false
52547}
52548
52549// AsBasicChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
52550func (vfce ValidationFailedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
52551	return &vfce, true
52552}
52553
52554// WaitForInbuildReplicaSafetyCheck safety check that waits for the replica build operation to finish. This
52555// indicates that there is a replica that is going through the copy or is providing data for building another
52556// replica. Bring the node down will abort this copy operation which are typically expensive involving data
52557// movements.
52558type WaitForInbuildReplicaSafetyCheck struct {
52559	// PartitionID - Id of the partition which is undergoing the safety check.
52560	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
52561	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
52562	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
52563}
52564
52565// MarshalJSON is the custom marshaler for WaitForInbuildReplicaSafetyCheck.
52566func (wfirsc WaitForInbuildReplicaSafetyCheck) MarshalJSON() ([]byte, error) {
52567	wfirsc.Kind = KindWaitForInbuildReplica
52568	objectMap := make(map[string]interface{})
52569	if wfirsc.PartitionID != nil {
52570		objectMap["PartitionId"] = wfirsc.PartitionID
52571	}
52572	if wfirsc.Kind != "" {
52573		objectMap["Kind"] = wfirsc.Kind
52574	}
52575	return json.Marshal(objectMap)
52576}
52577
52578// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52579func (wfirsc WaitForInbuildReplicaSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
52580	return nil, false
52581}
52582
52583// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52584func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
52585	return &wfirsc, true
52586}
52587
52588// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52589func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
52590	return nil, false
52591}
52592
52593// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52594func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
52595	return nil, false
52596}
52597
52598// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52599func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
52600	return nil, false
52601}
52602
52603// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52604func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
52605	return &wfirsc, true
52606}
52607
52608// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52609func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
52610	return nil, false
52611}
52612
52613// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52614func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
52615	return nil, false
52616}
52617
52618// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52619func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
52620	return nil, false
52621}
52622
52623// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52624func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
52625	return nil, false
52626}
52627
52628// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
52629func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
52630	return &wfirsc, true
52631}
52632
52633// WaitForPrimaryPlacementSafetyCheck safety check that waits for the primary replica that was moved out of the
52634// node due to upgrade to be placed back again on that node.
52635type WaitForPrimaryPlacementSafetyCheck struct {
52636	// PartitionID - Id of the partition which is undergoing the safety check.
52637	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
52638	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
52639	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
52640}
52641
52642// MarshalJSON is the custom marshaler for WaitForPrimaryPlacementSafetyCheck.
52643func (wfppsc WaitForPrimaryPlacementSafetyCheck) MarshalJSON() ([]byte, error) {
52644	wfppsc.Kind = KindWaitForPrimaryPlacement
52645	objectMap := make(map[string]interface{})
52646	if wfppsc.PartitionID != nil {
52647		objectMap["PartitionId"] = wfppsc.PartitionID
52648	}
52649	if wfppsc.Kind != "" {
52650		objectMap["Kind"] = wfppsc.Kind
52651	}
52652	return json.Marshal(objectMap)
52653}
52654
52655// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52656func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
52657	return nil, false
52658}
52659
52660// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52661func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
52662	return &wfppsc, true
52663}
52664
52665// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52666func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
52667	return nil, false
52668}
52669
52670// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52671func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
52672	return nil, false
52673}
52674
52675// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52676func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
52677	return nil, false
52678}
52679
52680// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52681func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
52682	return nil, false
52683}
52684
52685// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52686func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
52687	return &wfppsc, true
52688}
52689
52690// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52691func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
52692	return nil, false
52693}
52694
52695// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52696func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
52697	return nil, false
52698}
52699
52700// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52701func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
52702	return nil, false
52703}
52704
52705// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
52706func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
52707	return &wfppsc, true
52708}
52709
52710// WaitForPrimarySwapSafetyCheck safety check that waits for the primary replica to be moved out of the node before
52711// starting an upgrade to ensure the availability of the primary replica for the partition.
52712type WaitForPrimarySwapSafetyCheck struct {
52713	// PartitionID - Id of the partition which is undergoing the safety check.
52714	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
52715	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
52716	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
52717}
52718
52719// MarshalJSON is the custom marshaler for WaitForPrimarySwapSafetyCheck.
52720func (wfpssc WaitForPrimarySwapSafetyCheck) MarshalJSON() ([]byte, error) {
52721	wfpssc.Kind = KindWaitForPrimarySwap
52722	objectMap := make(map[string]interface{})
52723	if wfpssc.PartitionID != nil {
52724		objectMap["PartitionId"] = wfpssc.PartitionID
52725	}
52726	if wfpssc.Kind != "" {
52727		objectMap["Kind"] = wfpssc.Kind
52728	}
52729	return json.Marshal(objectMap)
52730}
52731
52732// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52733func (wfpssc WaitForPrimarySwapSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
52734	return nil, false
52735}
52736
52737// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52738func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
52739	return &wfpssc, true
52740}
52741
52742// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52743func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
52744	return nil, false
52745}
52746
52747// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52748func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
52749	return nil, false
52750}
52751
52752// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52753func (wfpssc WaitForPrimarySwapSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
52754	return nil, false
52755}
52756
52757// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52758func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
52759	return nil, false
52760}
52761
52762// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52763func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
52764	return nil, false
52765}
52766
52767// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52768func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
52769	return &wfpssc, true
52770}
52771
52772// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52773func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
52774	return nil, false
52775}
52776
52777// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52778func (wfpssc WaitForPrimarySwapSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
52779	return nil, false
52780}
52781
52782// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
52783func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
52784	return &wfpssc, true
52785}
52786
52787// WaitForReconfigurationSafetyCheck safety check that waits for the current reconfiguration of the partition to be
52788// completed before starting an upgrade.
52789type WaitForReconfigurationSafetyCheck struct {
52790	// PartitionID - Id of the partition which is undergoing the safety check.
52791	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
52792	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
52793	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
52794}
52795
52796// MarshalJSON is the custom marshaler for WaitForReconfigurationSafetyCheck.
52797func (wfrsc WaitForReconfigurationSafetyCheck) MarshalJSON() ([]byte, error) {
52798	wfrsc.Kind = KindWaitForReconfiguration
52799	objectMap := make(map[string]interface{})
52800	if wfrsc.PartitionID != nil {
52801		objectMap["PartitionId"] = wfrsc.PartitionID
52802	}
52803	if wfrsc.Kind != "" {
52804		objectMap["Kind"] = wfrsc.Kind
52805	}
52806	return json.Marshal(objectMap)
52807}
52808
52809// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52810func (wfrsc WaitForReconfigurationSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
52811	return nil, false
52812}
52813
52814// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52815func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
52816	return &wfrsc, true
52817}
52818
52819// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52820func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
52821	return nil, false
52822}
52823
52824// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52825func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
52826	return nil, false
52827}
52828
52829// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52830func (wfrsc WaitForReconfigurationSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
52831	return nil, false
52832}
52833
52834// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52835func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
52836	return nil, false
52837}
52838
52839// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52840func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
52841	return nil, false
52842}
52843
52844// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52845func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
52846	return nil, false
52847}
52848
52849// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52850func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
52851	return &wfrsc, true
52852}
52853
52854// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52855func (wfrsc WaitForReconfigurationSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
52856	return nil, false
52857}
52858
52859// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
52860func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
52861	return &wfrsc, true
52862}
52863
52864// WaitingChaosEvent describes a Chaos event that gets generated when Chaos is waiting for the cluster to become
52865// ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.
52866type WaitingChaosEvent struct {
52867	// Reason - Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade.
52868	Reason *string `json:"Reason,omitempty"`
52869	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
52870	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
52871	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
52872	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
52873}
52874
52875// MarshalJSON is the custom marshaler for WaitingChaosEvent.
52876func (wce WaitingChaosEvent) MarshalJSON() ([]byte, error) {
52877	wce.Kind = KindWaiting
52878	objectMap := make(map[string]interface{})
52879	if wce.Reason != nil {
52880		objectMap["Reason"] = wce.Reason
52881	}
52882	if wce.TimeStampUtc != nil {
52883		objectMap["TimeStampUtc"] = wce.TimeStampUtc
52884	}
52885	if wce.Kind != "" {
52886		objectMap["Kind"] = wce.Kind
52887	}
52888	return json.Marshal(objectMap)
52889}
52890
52891// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52892func (wce WaitingChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
52893	return nil, false
52894}
52895
52896// AsStartedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52897func (wce WaitingChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
52898	return nil, false
52899}
52900
52901// AsStoppedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52902func (wce WaitingChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
52903	return nil, false
52904}
52905
52906// AsTestErrorChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52907func (wce WaitingChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
52908	return nil, false
52909}
52910
52911// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52912func (wce WaitingChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
52913	return nil, false
52914}
52915
52916// AsWaitingChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52917func (wce WaitingChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
52918	return &wce, true
52919}
52920
52921// AsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52922func (wce WaitingChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
52923	return nil, false
52924}
52925
52926// AsBasicChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
52927func (wce WaitingChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
52928	return &wce, true
52929}
52930