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// The package's fully qualified name.
28const fqdn = "github.com/Azure/azure-sdk-for-go/services/servicefabric/6.3/servicefabric"
29
30// ApplicationDefinitionKind enumerates the values for application definition kind.
31type ApplicationDefinitionKind string
32
33const (
34	// Compose Indicates the application is defined by compose file(s). The value is 1.
35	Compose ApplicationDefinitionKind = "Compose"
36	// Invalid Indicates the application definition kind is invalid. All Service Fabric enumerations have the
37	// invalid type. The value is 65535.
38	Invalid ApplicationDefinitionKind = "Invalid"
39	// ServiceFabricApplicationDescription Indicates the application is defined by a Service Fabric application
40	// description. The value is 0.
41	ServiceFabricApplicationDescription ApplicationDefinitionKind = "ServiceFabricApplicationDescription"
42)
43
44// PossibleApplicationDefinitionKindValues returns an array of possible values for the ApplicationDefinitionKind const type.
45func PossibleApplicationDefinitionKindValues() []ApplicationDefinitionKind {
46	return []ApplicationDefinitionKind{Compose, Invalid, ServiceFabricApplicationDescription}
47}
48
49// ApplicationPackageCleanupPolicy enumerates the values for application package cleanup policy.
50type ApplicationPackageCleanupPolicy string
51
52const (
53	// ApplicationPackageCleanupPolicyAutomatic Indicates that the service fabric runtime determines when to do
54	// the application package cleanup. By default, cleanup is done on successful provision. The value is 2.
55	ApplicationPackageCleanupPolicyAutomatic ApplicationPackageCleanupPolicy = "Automatic"
56	// ApplicationPackageCleanupPolicyDefault Indicates that the cleanup policy of application packages is
57	// based on the cluster setting "CleanupApplicationPackageOnProvisionSuccess." The value is 1.
58	ApplicationPackageCleanupPolicyDefault ApplicationPackageCleanupPolicy = "Default"
59	// ApplicationPackageCleanupPolicyInvalid Indicates that the application package cleanup policy is invalid.
60	// This value is default. The value is zero.
61	ApplicationPackageCleanupPolicyInvalid ApplicationPackageCleanupPolicy = "Invalid"
62	// ApplicationPackageCleanupPolicyManual Indicates that the user has to explicitly clean up the application
63	// package. The value is 3.
64	ApplicationPackageCleanupPolicyManual ApplicationPackageCleanupPolicy = "Manual"
65)
66
67// PossibleApplicationPackageCleanupPolicyValues returns an array of possible values for the ApplicationPackageCleanupPolicy const type.
68func PossibleApplicationPackageCleanupPolicyValues() []ApplicationPackageCleanupPolicy {
69	return []ApplicationPackageCleanupPolicy{ApplicationPackageCleanupPolicyAutomatic, ApplicationPackageCleanupPolicyDefault, ApplicationPackageCleanupPolicyInvalid, ApplicationPackageCleanupPolicyManual}
70}
71
72// ApplicationResourceStatus enumerates the values for application resource status.
73type ApplicationResourceStatus string
74
75const (
76	// ApplicationResourceStatusCreating ...
77	ApplicationResourceStatusCreating ApplicationResourceStatus = "Creating"
78	// ApplicationResourceStatusDeleting ...
79	ApplicationResourceStatusDeleting ApplicationResourceStatus = "Deleting"
80	// ApplicationResourceStatusFailed ...
81	ApplicationResourceStatusFailed ApplicationResourceStatus = "Failed"
82	// ApplicationResourceStatusInvalid ...
83	ApplicationResourceStatusInvalid ApplicationResourceStatus = "Invalid"
84	// ApplicationResourceStatusReady ...
85	ApplicationResourceStatusReady ApplicationResourceStatus = "Ready"
86	// ApplicationResourceStatusUpgrading ...
87	ApplicationResourceStatusUpgrading ApplicationResourceStatus = "Upgrading"
88)
89
90// PossibleApplicationResourceStatusValues returns an array of possible values for the ApplicationResourceStatus const type.
91func PossibleApplicationResourceStatusValues() []ApplicationResourceStatus {
92	return []ApplicationResourceStatus{ApplicationResourceStatusCreating, ApplicationResourceStatusDeleting, ApplicationResourceStatusFailed, ApplicationResourceStatusInvalid, ApplicationResourceStatusReady, ApplicationResourceStatusUpgrading}
93}
94
95// ApplicationStatus enumerates the values for application status.
96type ApplicationStatus string
97
98const (
99	// ApplicationStatusCreating Indicates the application status is creating. The value is 3.
100	ApplicationStatusCreating ApplicationStatus = "Creating"
101	// ApplicationStatusDeleting Indicates the application status is deleting. The value is 4.
102	ApplicationStatusDeleting ApplicationStatus = "Deleting"
103	// ApplicationStatusFailed Indicates the creation or deletion of application was terminated due to
104	// persistent failures. Another create/delete request can be accepted to resume a failed application. The
105	// value is 5.
106	ApplicationStatusFailed ApplicationStatus = "Failed"
107	// ApplicationStatusInvalid Indicates the application status is invalid. All Service Fabric enumerations
108	// have the invalid type. The value is zero.
109	ApplicationStatusInvalid ApplicationStatus = "Invalid"
110	// ApplicationStatusReady Indicates the application status is ready. The value is 1.
111	ApplicationStatusReady ApplicationStatus = "Ready"
112	// ApplicationStatusUpgrading Indicates the application status is upgrading. The value is 2.
113	ApplicationStatusUpgrading ApplicationStatus = "Upgrading"
114)
115
116// PossibleApplicationStatusValues returns an array of possible values for the ApplicationStatus const type.
117func PossibleApplicationStatusValues() []ApplicationStatus {
118	return []ApplicationStatus{ApplicationStatusCreating, ApplicationStatusDeleting, ApplicationStatusFailed, ApplicationStatusInvalid, ApplicationStatusReady, ApplicationStatusUpgrading}
119}
120
121// ApplicationTypeDefinitionKind enumerates the values for application type definition kind.
122type ApplicationTypeDefinitionKind string
123
124const (
125	// ApplicationTypeDefinitionKindCompose Indicates the application type is defined and created implicitly as
126	// part of a compose deployment. The value is 2.
127	ApplicationTypeDefinitionKindCompose ApplicationTypeDefinitionKind = "Compose"
128	// ApplicationTypeDefinitionKindInvalid Indicates the application type definition kind is invalid. All
129	// Service Fabric enumerations have the invalid type. The value is 0.
130	ApplicationTypeDefinitionKindInvalid ApplicationTypeDefinitionKind = "Invalid"
131	// ApplicationTypeDefinitionKindServiceFabricApplicationPackage Indicates the application type is defined
132	// and created by a Service Fabric application package provided by the user. The value is 1.
133	ApplicationTypeDefinitionKindServiceFabricApplicationPackage ApplicationTypeDefinitionKind = "ServiceFabricApplicationPackage"
134)
135
136// PossibleApplicationTypeDefinitionKindValues returns an array of possible values for the ApplicationTypeDefinitionKind const type.
137func PossibleApplicationTypeDefinitionKindValues() []ApplicationTypeDefinitionKind {
138	return []ApplicationTypeDefinitionKind{ApplicationTypeDefinitionKindCompose, ApplicationTypeDefinitionKindInvalid, ApplicationTypeDefinitionKindServiceFabricApplicationPackage}
139}
140
141// ApplicationTypeStatus enumerates the values for application type status.
142type ApplicationTypeStatus string
143
144const (
145	// ApplicationTypeStatusAvailable Indicates that the application type is fully provisioned and is available
146	// for use. An application of this type and version can be created. The value is 2.
147	ApplicationTypeStatusAvailable ApplicationTypeStatus = "Available"
148	// ApplicationTypeStatusFailed Indicates that the application type provisioning failed and it is
149	// unavailable for use. The failure details can be obtained from the application type information query.
150	// The failed application type information remains in the cluster until it is unprovisioned or
151	// reprovisioned successfully. The value is 4.
152	ApplicationTypeStatusFailed ApplicationTypeStatus = "Failed"
153	// ApplicationTypeStatusInvalid Indicates the application type status is invalid. All Service Fabric
154	// enumerations have the invalid type. The value is zero.
155	ApplicationTypeStatusInvalid ApplicationTypeStatus = "Invalid"
156	// ApplicationTypeStatusProvisioning Indicates that the application type is being provisioned in the
157	// cluster. The value is 1.
158	ApplicationTypeStatusProvisioning ApplicationTypeStatus = "Provisioning"
159	// ApplicationTypeStatusUnprovisioning Indicates that the application type is in process of being
160	// unprovisioned from the cluster. The value is 3.
161	ApplicationTypeStatusUnprovisioning ApplicationTypeStatus = "Unprovisioning"
162)
163
164// PossibleApplicationTypeStatusValues returns an array of possible values for the ApplicationTypeStatus const type.
165func PossibleApplicationTypeStatusValues() []ApplicationTypeStatus {
166	return []ApplicationTypeStatus{ApplicationTypeStatusAvailable, ApplicationTypeStatusFailed, ApplicationTypeStatusInvalid, ApplicationTypeStatusProvisioning, ApplicationTypeStatusUnprovisioning}
167}
168
169// BackupEntityKind enumerates the values for backup entity kind.
170type BackupEntityKind string
171
172const (
173	// BackupEntityKindApplication Indicates the entity is a Service Fabric application.
174	BackupEntityKindApplication BackupEntityKind = "Application"
175	// BackupEntityKindInvalid Indicates an invalid entity kind. All Service Fabric enumerations have the
176	// invalid type.
177	BackupEntityKindInvalid BackupEntityKind = "Invalid"
178	// BackupEntityKindPartition Indicates the entity is a Service Fabric partition.
179	BackupEntityKindPartition BackupEntityKind = "Partition"
180	// BackupEntityKindService Indicates the entity is a Service Fabric service.
181	BackupEntityKindService BackupEntityKind = "Service"
182)
183
184// PossibleBackupEntityKindValues returns an array of possible values for the BackupEntityKind const type.
185func PossibleBackupEntityKindValues() []BackupEntityKind {
186	return []BackupEntityKind{BackupEntityKindApplication, BackupEntityKindInvalid, BackupEntityKindPartition, BackupEntityKindService}
187}
188
189// BackupPolicyScope enumerates the values for backup policy scope.
190type BackupPolicyScope string
191
192const (
193	// BackupPolicyScopeApplication Indicates the backup policy is applied at application level. All services
194	// and partitions of the application inherit this policy unless explicitly overridden at service or
195	// partition level.
196	BackupPolicyScopeApplication BackupPolicyScope = "Application"
197	// BackupPolicyScopeInvalid Indicates an invalid backup policy scope type. All Service Fabric enumerations
198	// have the invalid type.
199	BackupPolicyScopeInvalid BackupPolicyScope = "Invalid"
200	// BackupPolicyScopePartition Indicates the backup policy is applied at partition level. Hence overriding
201	// any policy which may have applied at partition's service or application level.
202	BackupPolicyScopePartition BackupPolicyScope = "Partition"
203	// BackupPolicyScopeService Indicates the backup policy is applied at service level. All partitions of the
204	// service inherit this policy unless explicitly overridden at partition level.
205	BackupPolicyScopeService BackupPolicyScope = "Service"
206)
207
208// PossibleBackupPolicyScopeValues returns an array of possible values for the BackupPolicyScope const type.
209func PossibleBackupPolicyScopeValues() []BackupPolicyScope {
210	return []BackupPolicyScope{BackupPolicyScopeApplication, BackupPolicyScopeInvalid, BackupPolicyScopePartition, BackupPolicyScopeService}
211}
212
213// BackupScheduleFrequencyType enumerates the values for backup schedule frequency type.
214type BackupScheduleFrequencyType string
215
216const (
217	// BackupScheduleFrequencyTypeDaily Indicates that the time based backup schedule is repeated at a daily
218	// frequency.
219	BackupScheduleFrequencyTypeDaily BackupScheduleFrequencyType = "Daily"
220	// BackupScheduleFrequencyTypeInvalid Indicates an invalid backup schedule frequency type. All Service
221	// Fabric enumerations have the invalid type.
222	BackupScheduleFrequencyTypeInvalid BackupScheduleFrequencyType = "Invalid"
223	// BackupScheduleFrequencyTypeWeekly Indicates that the time based backup schedule is repeated at a weekly
224	// frequency.
225	BackupScheduleFrequencyTypeWeekly BackupScheduleFrequencyType = "Weekly"
226)
227
228// PossibleBackupScheduleFrequencyTypeValues returns an array of possible values for the BackupScheduleFrequencyType const type.
229func PossibleBackupScheduleFrequencyTypeValues() []BackupScheduleFrequencyType {
230	return []BackupScheduleFrequencyType{BackupScheduleFrequencyTypeDaily, BackupScheduleFrequencyTypeInvalid, BackupScheduleFrequencyTypeWeekly}
231}
232
233// BackupScheduleKind enumerates the values for backup schedule kind.
234type BackupScheduleKind string
235
236const (
237	// BackupScheduleKindFrequencyBased Indicates a frequency-based backup schedule.
238	BackupScheduleKindFrequencyBased BackupScheduleKind = "FrequencyBased"
239	// BackupScheduleKindInvalid Indicates an invalid backup schedule kind. All Service Fabric enumerations
240	// have the invalid type.
241	BackupScheduleKindInvalid BackupScheduleKind = "Invalid"
242	// BackupScheduleKindTimeBased Indicates a time-based backup schedule.
243	BackupScheduleKindTimeBased BackupScheduleKind = "TimeBased"
244)
245
246// PossibleBackupScheduleKindValues returns an array of possible values for the BackupScheduleKind const type.
247func PossibleBackupScheduleKindValues() []BackupScheduleKind {
248	return []BackupScheduleKind{BackupScheduleKindFrequencyBased, BackupScheduleKindInvalid, BackupScheduleKindTimeBased}
249}
250
251// BackupState enumerates the values for backup state.
252type BackupState string
253
254const (
255	// BackupStateAccepted Operation has been validated and accepted. Backup is yet to be triggered.
256	BackupStateAccepted BackupState = "Accepted"
257	// BackupStateBackupInProgress Backup operation has been triggered and is under process.
258	BackupStateBackupInProgress BackupState = "BackupInProgress"
259	// BackupStateFailure Operation completed with failure.
260	BackupStateFailure BackupState = "Failure"
261	// BackupStateInvalid Indicates an invalid backup state. All Service Fabric enumerations have the invalid
262	// type.
263	BackupStateInvalid BackupState = "Invalid"
264	// BackupStateSuccess Operation completed with success.
265	BackupStateSuccess BackupState = "Success"
266	// BackupStateTimeout Operation timed out.
267	BackupStateTimeout BackupState = "Timeout"
268)
269
270// PossibleBackupStateValues returns an array of possible values for the BackupState const type.
271func PossibleBackupStateValues() []BackupState {
272	return []BackupState{BackupStateAccepted, BackupStateBackupInProgress, BackupStateFailure, BackupStateInvalid, BackupStateSuccess, BackupStateTimeout}
273}
274
275// BackupStorageKind enumerates the values for backup storage kind.
276type BackupStorageKind string
277
278const (
279	// BackupStorageKindAzureBlobStore Indicates Azure blob store to be used as backup storage.
280	BackupStorageKindAzureBlobStore BackupStorageKind = "AzureBlobStore"
281	// BackupStorageKindFileShare Indicates file/ SMB share to be used as backup storage.
282	BackupStorageKindFileShare BackupStorageKind = "FileShare"
283	// BackupStorageKindInvalid Indicates an invalid backup storage kind. All Service Fabric enumerations have
284	// the invalid type.
285	BackupStorageKindInvalid BackupStorageKind = "Invalid"
286)
287
288// PossibleBackupStorageKindValues returns an array of possible values for the BackupStorageKind const type.
289func PossibleBackupStorageKindValues() []BackupStorageKind {
290	return []BackupStorageKind{BackupStorageKindAzureBlobStore, BackupStorageKindFileShare, BackupStorageKindInvalid}
291}
292
293// BackupSuspensionScope enumerates the values for backup suspension scope.
294type BackupSuspensionScope string
295
296const (
297	// BackupSuspensionScopeApplication Indicates the backup suspension is applied at application level. All
298	// services and partitions of the application are hence suspended for backup.
299	BackupSuspensionScopeApplication BackupSuspensionScope = "Application"
300	// BackupSuspensionScopeInvalid Indicates an invalid backup suspension scope type also indicating entity is
301	// not suspended. All Service Fabric enumerations have the invalid type.
302	BackupSuspensionScopeInvalid BackupSuspensionScope = "Invalid"
303	// BackupSuspensionScopePartition Indicates the backup suspension is applied at partition level.
304	BackupSuspensionScopePartition BackupSuspensionScope = "Partition"
305	// BackupSuspensionScopeService Indicates the backup suspension is applied at service level. All partitions
306	// of the service are hence suspended for backup.
307	BackupSuspensionScopeService BackupSuspensionScope = "Service"
308)
309
310// PossibleBackupSuspensionScopeValues returns an array of possible values for the BackupSuspensionScope const type.
311func PossibleBackupSuspensionScopeValues() []BackupSuspensionScope {
312	return []BackupSuspensionScope{BackupSuspensionScopeApplication, BackupSuspensionScopeInvalid, BackupSuspensionScopePartition, BackupSuspensionScopeService}
313}
314
315// BackupType enumerates the values for backup type.
316type BackupType string
317
318const (
319	// BackupTypeFull Indicates a full backup.
320	BackupTypeFull BackupType = "Full"
321	// BackupTypeIncremental Indicates an incremental backup. A backup chain is comprised of a full backup
322	// followed by 0 or more incremental backups.
323	BackupTypeIncremental BackupType = "Incremental"
324	// BackupTypeInvalid Indicates an invalid backup type. All Service Fabric enumerations have the invalid
325	// type.
326	BackupTypeInvalid BackupType = "Invalid"
327)
328
329// PossibleBackupTypeValues returns an array of possible values for the BackupType const type.
330func PossibleBackupTypeValues() []BackupType {
331	return []BackupType{BackupTypeFull, BackupTypeIncremental, BackupTypeInvalid}
332}
333
334// ChaosEventKind enumerates the values for chaos event kind.
335type ChaosEventKind string
336
337const (
338	// ChaosEventKindExecutingFaults Indicates a Chaos event that gets generated when Chaos has decided on the
339	// faults for an iteration. This Chaos event contains the details of the faults as a list of strings.
340	ChaosEventKindExecutingFaults ChaosEventKind = "ExecutingFaults"
341	// ChaosEventKindInvalid Indicates an invalid Chaos event kind. All Service Fabric enumerations have the
342	// invalid type.
343	ChaosEventKindInvalid ChaosEventKind = "Invalid"
344	// ChaosEventKindStarted Indicates a Chaos event that gets generated when Chaos is started.
345	ChaosEventKindStarted ChaosEventKind = "Started"
346	// ChaosEventKindStopped Indicates a Chaos event that gets generated when Chaos stops because either the
347	// user issued a stop or the time to run was up.
348	ChaosEventKindStopped ChaosEventKind = "Stopped"
349	// ChaosEventKindTestError Indicates a Chaos event that gets generated when an unexpected event has
350	// occurred in the Chaos engine, for example, due to the cluster snapshot being inconsistent, while
351	// faulting a faultable entity Chaos found that the entity was already faulted.
352	ChaosEventKindTestError ChaosEventKind = "TestError"
353	// ChaosEventKindValidationFailed Indicates a Chaos event that gets generated when the cluster entities do
354	// not become stable and healthy within ChaosParameters.MaxClusterStabilizationTimeoutInSeconds.
355	ChaosEventKindValidationFailed ChaosEventKind = "ValidationFailed"
356	// ChaosEventKindWaiting Indicates a Chaos event that gets generated when Chaos is waiting for the cluster
357	// to become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.
358	ChaosEventKindWaiting ChaosEventKind = "Waiting"
359)
360
361// PossibleChaosEventKindValues returns an array of possible values for the ChaosEventKind const type.
362func PossibleChaosEventKindValues() []ChaosEventKind {
363	return []ChaosEventKind{ChaosEventKindExecutingFaults, ChaosEventKindInvalid, ChaosEventKindStarted, ChaosEventKindStopped, ChaosEventKindTestError, ChaosEventKindValidationFailed, ChaosEventKindWaiting}
364}
365
366// ChaosScheduleStatus enumerates the values for chaos schedule status.
367type ChaosScheduleStatus string
368
369const (
370	// ChaosScheduleStatusActive Indicates that the schedule is active and is being used to schedule runs of
371	// Chaos. The value is two.
372	ChaosScheduleStatusActive ChaosScheduleStatus = "Active"
373	// ChaosScheduleStatusExpired Indicates that the schedule is expired and will no longer be used to schedule
374	// runs of Chaos. The value is three.
375	ChaosScheduleStatusExpired ChaosScheduleStatus = "Expired"
376	// ChaosScheduleStatusInvalid Indicates an invalid Chaos Schedule status. All Service Fabric enumerations
377	// have the invalid type. The value is zero.
378	ChaosScheduleStatusInvalid ChaosScheduleStatus = "Invalid"
379	// ChaosScheduleStatusPending Indicates that the schedule is pending and is not yet being used to schedule
380	// runs of Chaos but will be used when the start time is passed. The value is four.
381	ChaosScheduleStatusPending ChaosScheduleStatus = "Pending"
382	// ChaosScheduleStatusStopped Indicates that the schedule is stopped and not being used to schedule runs of
383	// chaos. The value is one.
384	ChaosScheduleStatusStopped ChaosScheduleStatus = "Stopped"
385)
386
387// PossibleChaosScheduleStatusValues returns an array of possible values for the ChaosScheduleStatus const type.
388func PossibleChaosScheduleStatusValues() []ChaosScheduleStatus {
389	return []ChaosScheduleStatus{ChaosScheduleStatusActive, ChaosScheduleStatusExpired, ChaosScheduleStatusInvalid, ChaosScheduleStatusPending, ChaosScheduleStatusStopped}
390}
391
392// ChaosStatus enumerates the values for chaos status.
393type ChaosStatus string
394
395const (
396	// ChaosStatusInvalid Indicates an invalid Chaos status. All Service Fabric enumerations have the invalid
397	// type. The value is zero.
398	ChaosStatusInvalid ChaosStatus = "Invalid"
399	// ChaosStatusRunning Indicates that Chaos is not stopped. The value is one.
400	ChaosStatusRunning ChaosStatus = "Running"
401	// ChaosStatusStopped Indicates that Chaos is not scheduling further faults. The value is two.
402	ChaosStatusStopped ChaosStatus = "Stopped"
403)
404
405// PossibleChaosStatusValues returns an array of possible values for the ChaosStatus const type.
406func PossibleChaosStatusValues() []ChaosStatus {
407	return []ChaosStatus{ChaosStatusInvalid, ChaosStatusRunning, ChaosStatusStopped}
408}
409
410// ComposeDeploymentStatus enumerates the values for compose deployment status.
411type ComposeDeploymentStatus string
412
413const (
414	// ComposeDeploymentStatusCreating Indicates that the compose deployment is being created in background.
415	// The value is 2.
416	ComposeDeploymentStatusCreating ComposeDeploymentStatus = "Creating"
417	// ComposeDeploymentStatusDeleting Indicates that the compose deployment is being deleted in background.
418	// The value is 5.
419	ComposeDeploymentStatusDeleting ComposeDeploymentStatus = "Deleting"
420	// ComposeDeploymentStatusFailed Indicates that the compose deployment was terminated due to persistent
421	// failures. The value is 6.
422	ComposeDeploymentStatusFailed ComposeDeploymentStatus = "Failed"
423	// ComposeDeploymentStatusInvalid Indicates that the compose deployment status is invalid. The value is
424	// zero.
425	ComposeDeploymentStatusInvalid ComposeDeploymentStatus = "Invalid"
426	// ComposeDeploymentStatusProvisioning Indicates that the compose deployment is being provisioned in
427	// background. The value is 1.
428	ComposeDeploymentStatusProvisioning ComposeDeploymentStatus = "Provisioning"
429	// ComposeDeploymentStatusReady Indicates that the compose deployment has been successfully created or
430	// upgraded. The value is 3.
431	ComposeDeploymentStatusReady ComposeDeploymentStatus = "Ready"
432	// ComposeDeploymentStatusUnprovisioning Indicates that the compose deployment is being unprovisioned in
433	// background. The value is 4.
434	ComposeDeploymentStatusUnprovisioning ComposeDeploymentStatus = "Unprovisioning"
435	// ComposeDeploymentStatusUpgrading Indicates that the compose deployment is being upgraded in the
436	// background. The value is 7.
437	ComposeDeploymentStatusUpgrading ComposeDeploymentStatus = "Upgrading"
438)
439
440// PossibleComposeDeploymentStatusValues returns an array of possible values for the ComposeDeploymentStatus const type.
441func PossibleComposeDeploymentStatusValues() []ComposeDeploymentStatus {
442	return []ComposeDeploymentStatus{ComposeDeploymentStatusCreating, ComposeDeploymentStatusDeleting, ComposeDeploymentStatusFailed, ComposeDeploymentStatusInvalid, ComposeDeploymentStatusProvisioning, ComposeDeploymentStatusReady, ComposeDeploymentStatusUnprovisioning, ComposeDeploymentStatusUpgrading}
443}
444
445// ComposeDeploymentUpgradeState enumerates the values for compose deployment upgrade state.
446type ComposeDeploymentUpgradeState string
447
448const (
449	// ComposeDeploymentUpgradeStateFailed The upgrade has failed and is unable to execute FailureAction. The
450	// value is 9.
451	ComposeDeploymentUpgradeStateFailed ComposeDeploymentUpgradeState = "Failed"
452	// ComposeDeploymentUpgradeStateInvalid Indicates the upgrade state is invalid. All Service Fabric
453	// enumerations have the invalid type. The value is zero.
454	ComposeDeploymentUpgradeStateInvalid ComposeDeploymentUpgradeState = "Invalid"
455	// ComposeDeploymentUpgradeStateProvisioningTarget The upgrade is in the progress of provisioning target
456	// application type version. The value is 1.
457	ComposeDeploymentUpgradeStateProvisioningTarget ComposeDeploymentUpgradeState = "ProvisioningTarget"
458	// ComposeDeploymentUpgradeStateRollingBackCompleted The upgrade has finished rolling back. The value is 8.
459	ComposeDeploymentUpgradeStateRollingBackCompleted ComposeDeploymentUpgradeState = "RollingBackCompleted"
460	// ComposeDeploymentUpgradeStateRollingBackInProgress The upgrade is rolling back to the previous version
461	// but is not complete yet. The value is 6.
462	ComposeDeploymentUpgradeStateRollingBackInProgress ComposeDeploymentUpgradeState = "RollingBackInProgress"
463	// ComposeDeploymentUpgradeStateRollingForwardCompleted The upgrade has finished rolling forward. The value
464	// is 5.
465	ComposeDeploymentUpgradeStateRollingForwardCompleted ComposeDeploymentUpgradeState = "RollingForwardCompleted"
466	// ComposeDeploymentUpgradeStateRollingForwardInProgress The upgrade is rolling forward to the target
467	// version but is not complete yet. The value is 2.
468	ComposeDeploymentUpgradeStateRollingForwardInProgress ComposeDeploymentUpgradeState = "RollingForwardInProgress"
469	// ComposeDeploymentUpgradeStateRollingForwardPending The current upgrade domain has finished upgrading.
470	// The overall upgrade is waiting for an explicit move next request in UnmonitoredManual mode or performing
471	// health checks in Monitored mode. The value is 3
472	ComposeDeploymentUpgradeStateRollingForwardPending ComposeDeploymentUpgradeState = "RollingForwardPending"
473	// ComposeDeploymentUpgradeStateUnprovisioningCurrent The upgrade is in the progress of unprovisioning
474	// current application type version and rolling forward to the target version is completed. The value is 4.
475	ComposeDeploymentUpgradeStateUnprovisioningCurrent ComposeDeploymentUpgradeState = "UnprovisioningCurrent"
476	// ComposeDeploymentUpgradeStateUnprovisioningTarget The upgrade is in the progress of unprovisioning
477	// target application type version and rolling back to the current version is completed. The value is 7.
478	ComposeDeploymentUpgradeStateUnprovisioningTarget ComposeDeploymentUpgradeState = "UnprovisioningTarget"
479)
480
481// PossibleComposeDeploymentUpgradeStateValues returns an array of possible values for the ComposeDeploymentUpgradeState const type.
482func PossibleComposeDeploymentUpgradeStateValues() []ComposeDeploymentUpgradeState {
483	return []ComposeDeploymentUpgradeState{ComposeDeploymentUpgradeStateFailed, ComposeDeploymentUpgradeStateInvalid, ComposeDeploymentUpgradeStateProvisioningTarget, ComposeDeploymentUpgradeStateRollingBackCompleted, ComposeDeploymentUpgradeStateRollingBackInProgress, ComposeDeploymentUpgradeStateRollingForwardCompleted, ComposeDeploymentUpgradeStateRollingForwardInProgress, ComposeDeploymentUpgradeStateRollingForwardPending, ComposeDeploymentUpgradeStateUnprovisioningCurrent, ComposeDeploymentUpgradeStateUnprovisioningTarget}
484}
485
486// CreateFabricDump enumerates the values for create fabric dump.
487type CreateFabricDump string
488
489const (
490	// False ...
491	False CreateFabricDump = "False"
492	// True ...
493	True CreateFabricDump = "True"
494)
495
496// PossibleCreateFabricDumpValues returns an array of possible values for the CreateFabricDump const type.
497func PossibleCreateFabricDumpValues() []CreateFabricDump {
498	return []CreateFabricDump{False, True}
499}
500
501// DataLossMode enumerates the values for data loss mode.
502type DataLossMode string
503
504const (
505	// DataLossModeFullDataLoss FullDataLoss option will drop all the replicas which means that all the data
506	// will be lost.
507	DataLossModeFullDataLoss DataLossMode = "FullDataLoss"
508	// DataLossModeInvalid Reserved.  Do not pass into API.
509	DataLossModeInvalid DataLossMode = "Invalid"
510	// DataLossModePartialDataLoss PartialDataLoss option will cause a quorum of replicas to go down,
511	// triggering an OnDataLoss event in the system for the given partition.
512	DataLossModePartialDataLoss DataLossMode = "PartialDataLoss"
513)
514
515// PossibleDataLossModeValues returns an array of possible values for the DataLossMode const type.
516func PossibleDataLossModeValues() []DataLossMode {
517	return []DataLossMode{DataLossModeFullDataLoss, DataLossModeInvalid, DataLossModePartialDataLoss}
518}
519
520// DayOfWeek enumerates the values for day of week.
521type DayOfWeek string
522
523const (
524	// Friday Indicates the Day referred is Friday.
525	Friday DayOfWeek = "Friday"
526	// Monday Indicates the Day referred is Monday.
527	Monday DayOfWeek = "Monday"
528	// Saturday Indicates the Day referred is Saturday.
529	Saturday DayOfWeek = "Saturday"
530	// Sunday Indicates the Day referred is Sunday.
531	Sunday DayOfWeek = "Sunday"
532	// Thursday Indicates the Day referred is Thursday.
533	Thursday DayOfWeek = "Thursday"
534	// Tuesday Indicates the Day referred is Tuesday.
535	Tuesday DayOfWeek = "Tuesday"
536	// Wednesday Indicates the Day referred is Wednesday.
537	Wednesday DayOfWeek = "Wednesday"
538)
539
540// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type.
541func PossibleDayOfWeekValues() []DayOfWeek {
542	return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday}
543}
544
545// DeactivationIntent enumerates the values for deactivation intent.
546type DeactivationIntent string
547
548const (
549	// Pause Indicates that the node should be paused. The value is 1.
550	Pause DeactivationIntent = "Pause"
551	// RemoveData Indicates the intent is for the node to remove data. The value is 3.
552	RemoveData DeactivationIntent = "RemoveData"
553	// Restart Indicates that the intent is for the node to be restarted after a short period of time. The
554	// value is 2.
555	Restart DeactivationIntent = "Restart"
556)
557
558// PossibleDeactivationIntentValues returns an array of possible values for the DeactivationIntent const type.
559func PossibleDeactivationIntentValues() []DeactivationIntent {
560	return []DeactivationIntent{Pause, RemoveData, Restart}
561}
562
563// DeployedApplicationStatus enumerates the values for deployed application status.
564type DeployedApplicationStatus string
565
566const (
567	// DeployedApplicationStatusActivating Indicates that the package is activating. The value is 2.
568	DeployedApplicationStatusActivating DeployedApplicationStatus = "Activating"
569	// DeployedApplicationStatusActive Indicates that the package is active. The value is 3.
570	DeployedApplicationStatusActive DeployedApplicationStatus = "Active"
571	// DeployedApplicationStatusDeactivating Indicates that the package is deactivating. The value is 5.
572	DeployedApplicationStatusDeactivating DeployedApplicationStatus = "Deactivating"
573	// DeployedApplicationStatusDownloading Indicates that the package is downloading from the ImageStore. The
574	// value is 1.
575	DeployedApplicationStatusDownloading DeployedApplicationStatus = "Downloading"
576	// DeployedApplicationStatusInvalid Indicates that deployment status is not valid. All Service Fabric
577	// enumerations have the invalid type. The value is zero.
578	DeployedApplicationStatusInvalid DeployedApplicationStatus = "Invalid"
579	// DeployedApplicationStatusUpgrading Indicates that the package is upgrading. The value is 4.
580	DeployedApplicationStatusUpgrading DeployedApplicationStatus = "Upgrading"
581)
582
583// PossibleDeployedApplicationStatusValues returns an array of possible values for the DeployedApplicationStatus const type.
584func PossibleDeployedApplicationStatusValues() []DeployedApplicationStatus {
585	return []DeployedApplicationStatus{DeployedApplicationStatusActivating, DeployedApplicationStatusActive, DeployedApplicationStatusDeactivating, DeployedApplicationStatusDownloading, DeployedApplicationStatusInvalid, DeployedApplicationStatusUpgrading}
586}
587
588// DeploymentStatus enumerates the values for deployment status.
589type DeploymentStatus string
590
591const (
592	// DeploymentStatusActivating Indicates the application or service package is being activated. The value is
593	// 2.
594	DeploymentStatusActivating DeploymentStatus = "Activating"
595	// DeploymentStatusActive Indicates the application or service package is active the node. The value is 3.
596	DeploymentStatusActive DeploymentStatus = "Active"
597	// DeploymentStatusDeactivating Indicates the application or service package is being deactivated. The
598	// value is 5.
599	DeploymentStatusDeactivating DeploymentStatus = "Deactivating"
600	// DeploymentStatusDownloading Indicates the application or service package is being downloaded to the node
601	// from the ImageStore. The value is 1.
602	DeploymentStatusDownloading DeploymentStatus = "Downloading"
603	// DeploymentStatusInvalid Indicates status of the application or service package is not known or invalid.
604	// The value is 0.
605	DeploymentStatusInvalid DeploymentStatus = "Invalid"
606	// DeploymentStatusUpgrading Indicates the application or service package is being upgraded. The value is
607	// 4.
608	DeploymentStatusUpgrading DeploymentStatus = "Upgrading"
609)
610
611// PossibleDeploymentStatusValues returns an array of possible values for the DeploymentStatus const type.
612func PossibleDeploymentStatusValues() []DeploymentStatus {
613	return []DeploymentStatus{DeploymentStatusActivating, DeploymentStatusActive, DeploymentStatusDeactivating, DeploymentStatusDownloading, DeploymentStatusInvalid, DeploymentStatusUpgrading}
614}
615
616// DiagnosticsSinkKind enumerates the values for diagnostics sink kind.
617type DiagnosticsSinkKind string
618
619const (
620	// DiagnosticsSinkKindAzureInternalMonitoringPipeline Diagnostics settings for Geneva.
621	DiagnosticsSinkKindAzureInternalMonitoringPipeline DiagnosticsSinkKind = "AzureInternalMonitoringPipeline"
622	// DiagnosticsSinkKindInvalid Indicates an invalid sink kind. All Service Fabric enumerations have the
623	// invalid type.
624	DiagnosticsSinkKindInvalid DiagnosticsSinkKind = "Invalid"
625)
626
627// PossibleDiagnosticsSinkKindValues returns an array of possible values for the DiagnosticsSinkKind const type.
628func PossibleDiagnosticsSinkKindValues() []DiagnosticsSinkKind {
629	return []DiagnosticsSinkKind{DiagnosticsSinkKindAzureInternalMonitoringPipeline, DiagnosticsSinkKindInvalid}
630}
631
632// EntityKind enumerates the values for entity kind.
633type EntityKind string
634
635const (
636	// EntityKindApplication Indicates the entity is a Service Fabric application. The value is 4.
637	EntityKindApplication EntityKind = "Application"
638	// EntityKindCluster Indicates the entity is a Service Fabric cluster. The value is 8.
639	EntityKindCluster EntityKind = "Cluster"
640	// EntityKindDeployedApplication Indicates the entity is a Service Fabric deployed application. The value
641	// is 6.
642	EntityKindDeployedApplication EntityKind = "DeployedApplication"
643	// EntityKindDeployedServicePackage Indicates the entity is a Service Fabric deployed service package. The
644	// value is 7.
645	EntityKindDeployedServicePackage EntityKind = "DeployedServicePackage"
646	// EntityKindInvalid Indicates an invalid entity kind. All Service Fabric enumerations have the invalid
647	// type. The value is zero.
648	EntityKindInvalid EntityKind = "Invalid"
649	// EntityKindNode Indicates the entity is a Service Fabric node. The value is 1.
650	EntityKindNode EntityKind = "Node"
651	// EntityKindPartition Indicates the entity is a Service Fabric partition. The value is 2.
652	EntityKindPartition EntityKind = "Partition"
653	// EntityKindReplica Indicates the entity is a Service Fabric replica. The value is 5.
654	EntityKindReplica EntityKind = "Replica"
655	// EntityKindService Indicates the entity is a Service Fabric service. The value is 3.
656	EntityKindService EntityKind = "Service"
657)
658
659// PossibleEntityKindValues returns an array of possible values for the EntityKind const type.
660func PossibleEntityKindValues() []EntityKind {
661	return []EntityKind{EntityKindApplication, EntityKindCluster, EntityKindDeployedApplication, EntityKindDeployedServicePackage, EntityKindInvalid, EntityKindNode, EntityKindPartition, EntityKindReplica, EntityKindService}
662}
663
664// EntityKindBasicBackupEntity enumerates the values for entity kind basic backup entity.
665type EntityKindBasicBackupEntity string
666
667const (
668	// EntityKindApplication1 ...
669	EntityKindApplication1 EntityKindBasicBackupEntity = "Application"
670	// EntityKindBackupEntity ...
671	EntityKindBackupEntity EntityKindBasicBackupEntity = "BackupEntity"
672	// EntityKindPartition1 ...
673	EntityKindPartition1 EntityKindBasicBackupEntity = "Partition"
674	// EntityKindService1 ...
675	EntityKindService1 EntityKindBasicBackupEntity = "Service"
676)
677
678// PossibleEntityKindBasicBackupEntityValues returns an array of possible values for the EntityKindBasicBackupEntity const type.
679func PossibleEntityKindBasicBackupEntityValues() []EntityKindBasicBackupEntity {
680	return []EntityKindBasicBackupEntity{EntityKindApplication1, EntityKindBackupEntity, EntityKindPartition1, EntityKindService1}
681}
682
683// EntryPointStatus enumerates the values for entry point status.
684type EntryPointStatus string
685
686const (
687	// EntryPointStatusInvalid Indicates status of entry point is not known or invalid. The value is 0.
688	EntryPointStatusInvalid EntryPointStatus = "Invalid"
689	// EntryPointStatusPending Indicates the entry point is scheduled to be started. The value is 1.
690	EntryPointStatusPending EntryPointStatus = "Pending"
691	// EntryPointStatusStarted Indicates the entry point was started successfully and is running. The value is
692	// 3.
693	EntryPointStatusStarted EntryPointStatus = "Started"
694	// EntryPointStatusStarting Indicates the entry point is being started. The value is 2.
695	EntryPointStatusStarting EntryPointStatus = "Starting"
696	// EntryPointStatusStopped Indicates the entry point is not running. The value is 5.
697	EntryPointStatusStopped EntryPointStatus = "Stopped"
698	// EntryPointStatusStopping Indicates the entry point is being stopped. The value is 4.
699	EntryPointStatusStopping EntryPointStatus = "Stopping"
700)
701
702// PossibleEntryPointStatusValues returns an array of possible values for the EntryPointStatus const type.
703func PossibleEntryPointStatusValues() []EntryPointStatus {
704	return []EntryPointStatus{EntryPointStatusInvalid, EntryPointStatusPending, EntryPointStatusStarted, EntryPointStatusStarting, EntryPointStatusStopped, EntryPointStatusStopping}
705}
706
707// FabricErrorCodes enumerates the values for fabric error codes.
708type FabricErrorCodes string
709
710const (
711	// EABORT ...
712	EABORT FabricErrorCodes = "E_ABORT"
713	// EFAIL ...
714	EFAIL FabricErrorCodes = "E_FAIL"
715	// EINVALIDARG ...
716	EINVALIDARG FabricErrorCodes = "E_INVALIDARG"
717	// FABRICEAPPLICATIONALREADYEXISTS ...
718	FABRICEAPPLICATIONALREADYEXISTS FabricErrorCodes = "FABRIC_E_APPLICATION_ALREADY_EXISTS"
719	// FABRICEAPPLICATIONALREADYINTARGETVERSION ...
720	FABRICEAPPLICATIONALREADYINTARGETVERSION FabricErrorCodes = "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
721	// FABRICEAPPLICATIONNOTFOUND ...
722	FABRICEAPPLICATIONNOTFOUND FabricErrorCodes = "FABRIC_E_APPLICATION_NOT_FOUND"
723	// FABRICEAPPLICATIONNOTUPGRADING ...
724	FABRICEAPPLICATIONNOTUPGRADING FabricErrorCodes = "FABRIC_E_APPLICATION_NOT_UPGRADING"
725	// FABRICEAPPLICATIONTYPEALREADYEXISTS ...
726	FABRICEAPPLICATIONTYPEALREADYEXISTS FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
727	// FABRICEAPPLICATIONTYPEINUSE ...
728	FABRICEAPPLICATIONTYPEINUSE FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_IN_USE"
729	// FABRICEAPPLICATIONTYPENOTFOUND ...
730	FABRICEAPPLICATIONTYPENOTFOUND FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
731	// FABRICEAPPLICATIONTYPEPROVISIONINPROGRESS ...
732	FABRICEAPPLICATIONTYPEPROVISIONINPROGRESS FabricErrorCodes = "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
733	// FABRICEAPPLICATIONUPGRADEINPROGRESS ...
734	FABRICEAPPLICATIONUPGRADEINPROGRESS FabricErrorCodes = "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
735	// FABRICEAPPLICATIONUPGRADEVALIDATIONERROR ...
736	FABRICEAPPLICATIONUPGRADEVALIDATIONERROR FabricErrorCodes = "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
737	// FABRICEBACKUPINPROGRESS ...
738	FABRICEBACKUPINPROGRESS FabricErrorCodes = "FABRIC_E_BACKUP_IN_PROGRESS"
739	// FABRICEBACKUPISENABLED ...
740	FABRICEBACKUPISENABLED FabricErrorCodes = "FABRIC_E_BACKUP_IS_ENABLED"
741	// FABRICEBACKUPNOTENABLED ...
742	FABRICEBACKUPNOTENABLED FabricErrorCodes = "FABRIC_E_BACKUP_NOT_ENABLED"
743	// FABRICEBACKUPPOLICYALREADYEXISTING ...
744	FABRICEBACKUPPOLICYALREADYEXISTING FabricErrorCodes = "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
745	// FABRICEBACKUPPOLICYNOTEXISTING ...
746	FABRICEBACKUPPOLICYNOTEXISTING FabricErrorCodes = "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
747	// FABRICECOMMUNICATIONERROR ...
748	FABRICECOMMUNICATIONERROR FabricErrorCodes = "FABRIC_E_COMMUNICATION_ERROR"
749	// FABRICECONFIGURATIONPARAMETERNOTFOUND ...
750	FABRICECONFIGURATIONPARAMETERNOTFOUND FabricErrorCodes = "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
751	// FABRICECONFIGURATIONSECTIONNOTFOUND ...
752	FABRICECONFIGURATIONSECTIONNOTFOUND FabricErrorCodes = "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
753	// FABRICEDIRECTORYNOTFOUND ...
754	FABRICEDIRECTORYNOTFOUND FabricErrorCodes = "FABRIC_E_DIRECTORY_NOT_FOUND"
755	// FABRICEENUMERATIONCOMPLETED ...
756	FABRICEENUMERATIONCOMPLETED FabricErrorCodes = "FABRIC_E_ENUMERATION_COMPLETED"
757	// FABRICEFABRICALREADYINTARGETVERSION ...
758	FABRICEFABRICALREADYINTARGETVERSION FabricErrorCodes = "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
759	// FABRICEFABRICNOTUPGRADING ...
760	FABRICEFABRICNOTUPGRADING FabricErrorCodes = "FABRIC_E_FABRIC_NOT_UPGRADING"
761	// FABRICEFABRICUPGRADEINPROGRESS ...
762	FABRICEFABRICUPGRADEINPROGRESS FabricErrorCodes = "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
763	// FABRICEFABRICUPGRADEVALIDATIONERROR ...
764	FABRICEFABRICUPGRADEVALIDATIONERROR FabricErrorCodes = "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
765	// FABRICEFABRICVERSIONALREADYEXISTS ...
766	FABRICEFABRICVERSIONALREADYEXISTS FabricErrorCodes = "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
767	// FABRICEFABRICVERSIONINUSE ...
768	FABRICEFABRICVERSIONINUSE FabricErrorCodes = "FABRIC_E_FABRIC_VERSION_IN_USE"
769	// FABRICEFABRICVERSIONNOTFOUND ...
770	FABRICEFABRICVERSIONNOTFOUND FabricErrorCodes = "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
771	// FABRICEFAULTANALYSISSERVICENOTEXISTING ...
772	FABRICEFAULTANALYSISSERVICENOTEXISTING FabricErrorCodes = "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
773	// FABRICEFILENOTFOUND ...
774	FABRICEFILENOTFOUND FabricErrorCodes = "FABRIC_E_FILE_NOT_FOUND"
775	// FABRICEHEALTHENTITYNOTFOUND ...
776	FABRICEHEALTHENTITYNOTFOUND FabricErrorCodes = "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
777	// FABRICEHEALTHSTALEREPORT ...
778	FABRICEHEALTHSTALEREPORT FabricErrorCodes = "FABRIC_E_HEALTH_STALE_REPORT"
779	// FABRICEIMAGEBUILDERVALIDATIONERROR ...
780	FABRICEIMAGEBUILDERVALIDATIONERROR FabricErrorCodes = "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
781	// FABRICEINSTANCEIDMISMATCH ...
782	FABRICEINSTANCEIDMISMATCH FabricErrorCodes = "FABRIC_E_INSTANCE_ID_MISMATCH"
783	// FABRICEINVALIDADDRESS ...
784	FABRICEINVALIDADDRESS FabricErrorCodes = "FABRIC_E_INVALID_ADDRESS"
785	// FABRICEINVALIDATOMICGROUP ...
786	FABRICEINVALIDATOMICGROUP FabricErrorCodes = "FABRIC_E_INVALID_ATOMIC_GROUP"
787	// FABRICEINVALIDCONFIGURATION ...
788	FABRICEINVALIDCONFIGURATION FabricErrorCodes = "FABRIC_E_INVALID_CONFIGURATION"
789	// FABRICEINVALIDFORSTATELESSSERVICES ...
790	FABRICEINVALIDFORSTATELESSSERVICES FabricErrorCodes = "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
791	// FABRICEINVALIDNAMEURI ...
792	FABRICEINVALIDNAMEURI FabricErrorCodes = "FABRIC_E_INVALID_NAME_URI"
793	// FABRICEINVALIDPARTITIONKEY ...
794	FABRICEINVALIDPARTITIONKEY FabricErrorCodes = "FABRIC_E_INVALID_PARTITION_KEY"
795	// FABRICEINVALIDSERVICESCALINGPOLICY ...
796	FABRICEINVALIDSERVICESCALINGPOLICY FabricErrorCodes = "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
797	// FABRICEKEYNOTFOUND ...
798	FABRICEKEYNOTFOUND FabricErrorCodes = "FABRIC_E_KEY_NOT_FOUND"
799	// FABRICEKEYTOOLARGE ...
800	FABRICEKEYTOOLARGE FabricErrorCodes = "FABRIC_E_KEY_TOO_LARGE"
801	// FABRICENAMEALREADYEXISTS ...
802	FABRICENAMEALREADYEXISTS FabricErrorCodes = "FABRIC_E_NAME_ALREADY_EXISTS"
803	// FABRICENAMEDOESNOTEXIST ...
804	FABRICENAMEDOESNOTEXIST FabricErrorCodes = "FABRIC_E_NAME_DOES_NOT_EXIST"
805	// FABRICENAMENOTEMPTY ...
806	FABRICENAMENOTEMPTY FabricErrorCodes = "FABRIC_E_NAME_NOT_EMPTY"
807	// FABRICENODEHASNOTSTOPPEDYET ...
808	FABRICENODEHASNOTSTOPPEDYET FabricErrorCodes = "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
809	// FABRICENODEISUP ...
810	FABRICENODEISUP FabricErrorCodes = "FABRIC_E_NODE_IS_UP"
811	// FABRICENODENOTFOUND ...
812	FABRICENODENOTFOUND FabricErrorCodes = "FABRIC_E_NODE_NOT_FOUND"
813	// FABRICENOTPRIMARY ...
814	FABRICENOTPRIMARY FabricErrorCodes = "FABRIC_E_NOT_PRIMARY"
815	// FABRICENOTREADY ...
816	FABRICENOTREADY FabricErrorCodes = "FABRIC_E_NOT_READY"
817	// FABRICENOWRITEQUORUM ...
818	FABRICENOWRITEQUORUM FabricErrorCodes = "FABRIC_E_NO_WRITE_QUORUM"
819	// FABRICEOPERATIONNOTCOMPLETE ...
820	FABRICEOPERATIONNOTCOMPLETE FabricErrorCodes = "FABRIC_E_OPERATION_NOT_COMPLETE"
821	// FABRICEPARTITIONNOTFOUND ...
822	FABRICEPARTITIONNOTFOUND FabricErrorCodes = "FABRIC_E_PARTITION_NOT_FOUND"
823	// FABRICEPATHTOOLONG ...
824	FABRICEPATHTOOLONG FabricErrorCodes = "FABRIC_E_PATH_TOO_LONG"
825	// FABRICEPROPERTYCHECKFAILED ...
826	FABRICEPROPERTYCHECKFAILED FabricErrorCodes = "FABRIC_E_PROPERTY_CHECK_FAILED"
827	// FABRICEPROPERTYDOESNOTEXIST ...
828	FABRICEPROPERTYDOESNOTEXIST FabricErrorCodes = "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
829	// FABRICERECONFIGURATIONPENDING ...
830	FABRICERECONFIGURATIONPENDING FabricErrorCodes = "FABRIC_E_RECONFIGURATION_PENDING"
831	// FABRICEREPLICADOESNOTEXIST ...
832	FABRICEREPLICADOESNOTEXIST FabricErrorCodes = "FABRIC_E_REPLICA_DOES_NOT_EXIST"
833	// FABRICERESTOREINPROGRESS ...
834	FABRICERESTOREINPROGRESS FabricErrorCodes = "FABRIC_E_RESTORE_IN_PROGRESS"
835	// FABRICERESTORESOURCETARGETPARTITIONMISMATCH ...
836	FABRICERESTORESOURCETARGETPARTITIONMISMATCH FabricErrorCodes = "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
837	// FABRICESEQUENCENUMBERCHECKFAILED ...
838	FABRICESEQUENCENUMBERCHECKFAILED FabricErrorCodes = "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
839	// FABRICESERVICEAFFINITYCHAINNOTSUPPORTED ...
840	FABRICESERVICEAFFINITYCHAINNOTSUPPORTED FabricErrorCodes = "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
841	// FABRICESERVICEALREADYEXISTS ...
842	FABRICESERVICEALREADYEXISTS FabricErrorCodes = "FABRIC_E_SERVICE_ALREADY_EXISTS"
843	// FABRICESERVICEDOESNOTEXIST ...
844	FABRICESERVICEDOESNOTEXIST FabricErrorCodes = "FABRIC_E_SERVICE_DOES_NOT_EXIST"
845	// FABRICESERVICEGROUPALREADYEXISTS ...
846	FABRICESERVICEGROUPALREADYEXISTS FabricErrorCodes = "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
847	// FABRICESERVICEGROUPDOESNOTEXIST ...
848	FABRICESERVICEGROUPDOESNOTEXIST FabricErrorCodes = "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
849	// FABRICESERVICEMANIFESTNOTFOUND ...
850	FABRICESERVICEMANIFESTNOTFOUND FabricErrorCodes = "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
851	// FABRICESERVICEMETADATAMISMATCH ...
852	FABRICESERVICEMETADATAMISMATCH FabricErrorCodes = "FABRIC_E_SERVICE_METADATA_MISMATCH"
853	// FABRICESERVICEOFFLINE ...
854	FABRICESERVICEOFFLINE FabricErrorCodes = "FABRIC_E_SERVICE_OFFLINE"
855	// FABRICESERVICETYPEMISMATCH ...
856	FABRICESERVICETYPEMISMATCH FabricErrorCodes = "FABRIC_E_SERVICE_TYPE_MISMATCH"
857	// FABRICESERVICETYPENOTFOUND ...
858	FABRICESERVICETYPENOTFOUND FabricErrorCodes = "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
859	// FABRICESERVICETYPETEMPLATENOTFOUND ...
860	FABRICESERVICETYPETEMPLATENOTFOUND FabricErrorCodes = "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
861	// FABRICESINGLEINSTANCEAPPLICATIONALREADYEXISTS ...
862	FABRICESINGLEINSTANCEAPPLICATIONALREADYEXISTS FabricErrorCodes = "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS"
863	// FABRICESINGLEINSTANCEAPPLICATIONNOTFOUND ...
864	FABRICESINGLEINSTANCEAPPLICATIONNOTFOUND FabricErrorCodes = "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND"
865	// FABRICETIMEOUT ...
866	FABRICETIMEOUT FabricErrorCodes = "FABRIC_E_TIMEOUT"
867	// FABRICEVALUEEMPTY ...
868	FABRICEVALUEEMPTY FabricErrorCodes = "FABRIC_E_VALUE_EMPTY"
869	// FABRICEVALUETOOLARGE ...
870	FABRICEVALUETOOLARGE FabricErrorCodes = "FABRIC_E_VALUE_TOO_LARGE"
871	// FABRICEVOLUMEALREADYEXISTS ...
872	FABRICEVOLUMEALREADYEXISTS FabricErrorCodes = "FABRIC_E_VOLUME_ALREADY_EXISTS"
873	// FABRICEVOLUMENOTFOUND ...
874	FABRICEVOLUMENOTFOUND FabricErrorCodes = "FABRIC_E_VOLUME_NOT_FOUND"
875	// SerializationError ...
876	SerializationError FabricErrorCodes = "SerializationError"
877)
878
879// PossibleFabricErrorCodesValues returns an array of possible values for the FabricErrorCodes const type.
880func PossibleFabricErrorCodesValues() []FabricErrorCodes {
881	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, FABRICESINGLEINSTANCEAPPLICATIONALREADYEXISTS, FABRICESINGLEINSTANCEAPPLICATIONNOTFOUND, FABRICETIMEOUT, FABRICEVALUEEMPTY, FABRICEVALUETOOLARGE, FABRICEVOLUMEALREADYEXISTS, FABRICEVOLUMENOTFOUND, SerializationError}
882}
883
884// FabricEventKind enumerates the values for fabric event kind.
885type FabricEventKind string
886
887const (
888	// FabricEventKindApplicationCreated ...
889	FabricEventKindApplicationCreated FabricEventKind = "ApplicationCreated"
890	// FabricEventKindApplicationDeleted ...
891	FabricEventKindApplicationDeleted FabricEventKind = "ApplicationDeleted"
892	// FabricEventKindApplicationEvent ...
893	FabricEventKindApplicationEvent FabricEventKind = "ApplicationEvent"
894	// FabricEventKindApplicationHealthReportCreated ...
895	FabricEventKindApplicationHealthReportCreated FabricEventKind = "ApplicationHealthReportCreated"
896	// FabricEventKindApplicationHealthReportExpired ...
897	FabricEventKindApplicationHealthReportExpired FabricEventKind = "ApplicationHealthReportExpired"
898	// FabricEventKindApplicationUpgradeComplete ...
899	FabricEventKindApplicationUpgradeComplete FabricEventKind = "ApplicationUpgradeComplete"
900	// FabricEventKindApplicationUpgradeDomainComplete ...
901	FabricEventKindApplicationUpgradeDomainComplete FabricEventKind = "ApplicationUpgradeDomainComplete"
902	// FabricEventKindApplicationUpgradeRollbackComplete ...
903	FabricEventKindApplicationUpgradeRollbackComplete FabricEventKind = "ApplicationUpgradeRollbackComplete"
904	// FabricEventKindApplicationUpgradeRollbackStart ...
905	FabricEventKindApplicationUpgradeRollbackStart FabricEventKind = "ApplicationUpgradeRollbackStart"
906	// FabricEventKindApplicationUpgradeStart ...
907	FabricEventKindApplicationUpgradeStart FabricEventKind = "ApplicationUpgradeStart"
908	// FabricEventKindChaosMovePrimaryFaultScheduled ...
909	FabricEventKindChaosMovePrimaryFaultScheduled FabricEventKind = "ChaosMovePrimaryFaultScheduled"
910	// FabricEventKindChaosMoveSecondaryFaultScheduled ...
911	FabricEventKindChaosMoveSecondaryFaultScheduled FabricEventKind = "ChaosMoveSecondaryFaultScheduled"
912	// FabricEventKindChaosRemoveReplicaFaultCompleted ...
913	FabricEventKindChaosRemoveReplicaFaultCompleted FabricEventKind = "ChaosRemoveReplicaFaultCompleted"
914	// FabricEventKindChaosRemoveReplicaFaultScheduled ...
915	FabricEventKindChaosRemoveReplicaFaultScheduled FabricEventKind = "ChaosRemoveReplicaFaultScheduled"
916	// FabricEventKindChaosRestartCodePackageFaultCompleted ...
917	FabricEventKindChaosRestartCodePackageFaultCompleted FabricEventKind = "ChaosRestartCodePackageFaultCompleted"
918	// FabricEventKindChaosRestartCodePackageFaultScheduled ...
919	FabricEventKindChaosRestartCodePackageFaultScheduled FabricEventKind = "ChaosRestartCodePackageFaultScheduled"
920	// FabricEventKindChaosRestartNodeFaultCompleted ...
921	FabricEventKindChaosRestartNodeFaultCompleted FabricEventKind = "ChaosRestartNodeFaultCompleted"
922	// FabricEventKindChaosRestartNodeFaultScheduled ...
923	FabricEventKindChaosRestartNodeFaultScheduled FabricEventKind = "ChaosRestartNodeFaultScheduled"
924	// FabricEventKindChaosRestartReplicaFaultScheduled ...
925	FabricEventKindChaosRestartReplicaFaultScheduled FabricEventKind = "ChaosRestartReplicaFaultScheduled"
926	// FabricEventKindChaosStarted ...
927	FabricEventKindChaosStarted FabricEventKind = "ChaosStarted"
928	// FabricEventKindChaosStopped ...
929	FabricEventKindChaosStopped FabricEventKind = "ChaosStopped"
930	// FabricEventKindClusterEvent ...
931	FabricEventKindClusterEvent FabricEventKind = "ClusterEvent"
932	// FabricEventKindClusterHealthReportCreated ...
933	FabricEventKindClusterHealthReportCreated FabricEventKind = "ClusterHealthReportCreated"
934	// FabricEventKindClusterHealthReportExpired ...
935	FabricEventKindClusterHealthReportExpired FabricEventKind = "ClusterHealthReportExpired"
936	// FabricEventKindClusterUpgradeComplete ...
937	FabricEventKindClusterUpgradeComplete FabricEventKind = "ClusterUpgradeComplete"
938	// FabricEventKindClusterUpgradeDomainComplete ...
939	FabricEventKindClusterUpgradeDomainComplete FabricEventKind = "ClusterUpgradeDomainComplete"
940	// FabricEventKindClusterUpgradeRollbackComplete ...
941	FabricEventKindClusterUpgradeRollbackComplete FabricEventKind = "ClusterUpgradeRollbackComplete"
942	// FabricEventKindClusterUpgradeRollbackStart ...
943	FabricEventKindClusterUpgradeRollbackStart FabricEventKind = "ClusterUpgradeRollbackStart"
944	// FabricEventKindClusterUpgradeStart ...
945	FabricEventKindClusterUpgradeStart FabricEventKind = "ClusterUpgradeStart"
946	// FabricEventKindContainerDeactivated ...
947	FabricEventKindContainerDeactivated FabricEventKind = "ContainerDeactivated"
948	// FabricEventKindContainerInstanceEvent ...
949	FabricEventKindContainerInstanceEvent FabricEventKind = "ContainerInstanceEvent"
950	// FabricEventKindDeployedApplicationHealthReportCreated ...
951	FabricEventKindDeployedApplicationHealthReportCreated FabricEventKind = "DeployedApplicationHealthReportCreated"
952	// FabricEventKindDeployedApplicationHealthReportExpired ...
953	FabricEventKindDeployedApplicationHealthReportExpired FabricEventKind = "DeployedApplicationHealthReportExpired"
954	// FabricEventKindDeployedServiceHealthReportCreated ...
955	FabricEventKindDeployedServiceHealthReportCreated FabricEventKind = "DeployedServiceHealthReportCreated"
956	// FabricEventKindDeployedServiceHealthReportExpired ...
957	FabricEventKindDeployedServiceHealthReportExpired FabricEventKind = "DeployedServiceHealthReportExpired"
958	// FabricEventKindNodeAborted ...
959	FabricEventKindNodeAborted FabricEventKind = "NodeAborted"
960	// FabricEventKindNodeAborting ...
961	FabricEventKindNodeAborting FabricEventKind = "NodeAborting"
962	// FabricEventKindNodeAdded ...
963	FabricEventKindNodeAdded FabricEventKind = "NodeAdded"
964	// FabricEventKindNodeClose ...
965	FabricEventKindNodeClose FabricEventKind = "NodeClose"
966	// FabricEventKindNodeClosing ...
967	FabricEventKindNodeClosing FabricEventKind = "NodeClosing"
968	// FabricEventKindNodeDeactivateComplete ...
969	FabricEventKindNodeDeactivateComplete FabricEventKind = "NodeDeactivateComplete"
970	// FabricEventKindNodeDeactivateStart ...
971	FabricEventKindNodeDeactivateStart FabricEventKind = "NodeDeactivateStart"
972	// FabricEventKindNodeDown ...
973	FabricEventKindNodeDown FabricEventKind = "NodeDown"
974	// FabricEventKindNodeEvent ...
975	FabricEventKindNodeEvent FabricEventKind = "NodeEvent"
976	// FabricEventKindNodeHealthReportCreated ...
977	FabricEventKindNodeHealthReportCreated FabricEventKind = "NodeHealthReportCreated"
978	// FabricEventKindNodeHealthReportExpired ...
979	FabricEventKindNodeHealthReportExpired FabricEventKind = "NodeHealthReportExpired"
980	// FabricEventKindNodeOpenedSuccess ...
981	FabricEventKindNodeOpenedSuccess FabricEventKind = "NodeOpenedSuccess"
982	// FabricEventKindNodeOpenFailed ...
983	FabricEventKindNodeOpenFailed FabricEventKind = "NodeOpenFailed"
984	// FabricEventKindNodeOpening ...
985	FabricEventKindNodeOpening FabricEventKind = "NodeOpening"
986	// FabricEventKindNodeRemoved ...
987	FabricEventKindNodeRemoved FabricEventKind = "NodeRemoved"
988	// FabricEventKindNodeUp ...
989	FabricEventKindNodeUp FabricEventKind = "NodeUp"
990	// FabricEventKindPartitionAnalysisEvent ...
991	FabricEventKindPartitionAnalysisEvent FabricEventKind = "PartitionAnalysisEvent"
992	// FabricEventKindPartitionEvent ...
993	FabricEventKindPartitionEvent FabricEventKind = "PartitionEvent"
994	// FabricEventKindPartitionHealthReportCreated ...
995	FabricEventKindPartitionHealthReportCreated FabricEventKind = "PartitionHealthReportCreated"
996	// FabricEventKindPartitionHealthReportExpired ...
997	FabricEventKindPartitionHealthReportExpired FabricEventKind = "PartitionHealthReportExpired"
998	// FabricEventKindPartitionPrimaryMoveAnalysis ...
999	FabricEventKindPartitionPrimaryMoveAnalysis FabricEventKind = "PartitionPrimaryMoveAnalysis"
1000	// FabricEventKindPartitionReconfigurationCompleted ...
1001	FabricEventKindPartitionReconfigurationCompleted FabricEventKind = "PartitionReconfigurationCompleted"
1002	// FabricEventKindProcessDeactivated ...
1003	FabricEventKindProcessDeactivated FabricEventKind = "ProcessDeactivated"
1004	// FabricEventKindReplicaEvent ...
1005	FabricEventKindReplicaEvent FabricEventKind = "ReplicaEvent"
1006	// FabricEventKindServiceCreated ...
1007	FabricEventKindServiceCreated FabricEventKind = "ServiceCreated"
1008	// FabricEventKindServiceDeleted ...
1009	FabricEventKindServiceDeleted FabricEventKind = "ServiceDeleted"
1010	// FabricEventKindServiceEvent ...
1011	FabricEventKindServiceEvent FabricEventKind = "ServiceEvent"
1012	// FabricEventKindServiceHealthReportCreated ...
1013	FabricEventKindServiceHealthReportCreated FabricEventKind = "ServiceHealthReportCreated"
1014	// FabricEventKindServiceHealthReportExpired ...
1015	FabricEventKindServiceHealthReportExpired FabricEventKind = "ServiceHealthReportExpired"
1016	// FabricEventKindStatefulReplicaHealthReportCreated ...
1017	FabricEventKindStatefulReplicaHealthReportCreated FabricEventKind = "StatefulReplicaHealthReportCreated"
1018	// FabricEventKindStatefulReplicaHealthReportExpired ...
1019	FabricEventKindStatefulReplicaHealthReportExpired FabricEventKind = "StatefulReplicaHealthReportExpired"
1020	// FabricEventKindStatelessReplicaHealthReportCreated ...
1021	FabricEventKindStatelessReplicaHealthReportCreated FabricEventKind = "StatelessReplicaHealthReportCreated"
1022	// FabricEventKindStatelessReplicaHealthReportExpired ...
1023	FabricEventKindStatelessReplicaHealthReportExpired FabricEventKind = "StatelessReplicaHealthReportExpired"
1024)
1025
1026// PossibleFabricEventKindValues returns an array of possible values for the FabricEventKind const type.
1027func PossibleFabricEventKindValues() []FabricEventKind {
1028	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}
1029}
1030
1031// FabricReplicaStatus enumerates the values for fabric replica status.
1032type FabricReplicaStatus string
1033
1034const (
1035	// FabricReplicaStatusDown Indicates that the replica is down.
1036	FabricReplicaStatusDown FabricReplicaStatus = "Down"
1037	// FabricReplicaStatusInvalid Indicates that the read or write operation access status is not valid. This
1038	// value is not returned to the caller.
1039	FabricReplicaStatusInvalid FabricReplicaStatus = "Invalid"
1040	// FabricReplicaStatusUp Indicates that the replica is up.
1041	FabricReplicaStatusUp FabricReplicaStatus = "Up"
1042)
1043
1044// PossibleFabricReplicaStatusValues returns an array of possible values for the FabricReplicaStatus const type.
1045func PossibleFabricReplicaStatusValues() []FabricReplicaStatus {
1046	return []FabricReplicaStatus{FabricReplicaStatusDown, FabricReplicaStatusInvalid, FabricReplicaStatusUp}
1047}
1048
1049// FailureAction enumerates the values for failure action.
1050type FailureAction string
1051
1052const (
1053	// FailureActionInvalid Indicates the failure action is invalid. All Service Fabric enumerations have the
1054	// invalid type. The value is zero.
1055	FailureActionInvalid FailureAction = "Invalid"
1056	// FailureActionManual The upgrade will switch to UnmonitoredManual upgrade mode. The value is 2
1057	FailureActionManual FailureAction = "Manual"
1058	// FailureActionRollback The upgrade will start rolling back automatically. The value is 1
1059	FailureActionRollback FailureAction = "Rollback"
1060)
1061
1062// PossibleFailureActionValues returns an array of possible values for the FailureAction const type.
1063func PossibleFailureActionValues() []FailureAction {
1064	return []FailureAction{FailureActionInvalid, FailureActionManual, FailureActionRollback}
1065}
1066
1067// FailureReason enumerates the values for failure reason.
1068type FailureReason string
1069
1070const (
1071	// HealthCheck The upgrade failed due to health policy violations. The value is 2
1072	HealthCheck FailureReason = "HealthCheck"
1073	// Interrupted There was an external request to roll back the upgrade. The value is 1
1074	Interrupted FailureReason = "Interrupted"
1075	// None Indicates the reason is invalid or unknown. All Service Fabric enumerations have the invalid type.
1076	// The value is zero.
1077	None FailureReason = "None"
1078	// OverallUpgradeTimeout The overall upgrade took longer than the allowed upgrade timeout to process. The
1079	// value is 4
1080	OverallUpgradeTimeout FailureReason = "OverallUpgradeTimeout"
1081	// UpgradeDomainTimeout An upgrade domain took longer than the allowed upgrade domain timeout to process.
1082	// The value is 3
1083	UpgradeDomainTimeout FailureReason = "UpgradeDomainTimeout"
1084)
1085
1086// PossibleFailureReasonValues returns an array of possible values for the FailureReason const type.
1087func PossibleFailureReasonValues() []FailureReason {
1088	return []FailureReason{HealthCheck, Interrupted, None, OverallUpgradeTimeout, UpgradeDomainTimeout}
1089}
1090
1091// HealthEvaluationKind enumerates the values for health evaluation kind.
1092type HealthEvaluationKind string
1093
1094const (
1095	// HealthEvaluationKindApplication Indicates that the health evaluation is for an application. The value is
1096	// 18.
1097	HealthEvaluationKindApplication HealthEvaluationKind = "Application"
1098	// HealthEvaluationKindApplications Indicates that the health evaluation is for the cluster applications.
1099	// The value is 8.
1100	HealthEvaluationKindApplications HealthEvaluationKind = "Applications"
1101	// HealthEvaluationKindApplicationTypeApplications – Indicates that the health evaluation is for
1102	// applications of an application type. The value is 21.
1103	HealthEvaluationKindApplicationTypeApplications HealthEvaluationKind = "ApplicationTypeApplications"
1104	// HealthEvaluationKindDeltaNodesCheck Indicates that the health evaluation is for the delta of unhealthy
1105	// cluster nodes. The value is 19.
1106	HealthEvaluationKindDeltaNodesCheck HealthEvaluationKind = "DeltaNodesCheck"
1107	// HealthEvaluationKindDeployedApplication Indicates that the health evaluation is for a deployed
1108	// application. The value is 17.
1109	HealthEvaluationKindDeployedApplication HealthEvaluationKind = "DeployedApplication"
1110	// HealthEvaluationKindDeployedApplications Indicates that the health evaluation is for the deployed
1111	// applications of an application. The value is 5.
1112	HealthEvaluationKindDeployedApplications HealthEvaluationKind = "DeployedApplications"
1113	// HealthEvaluationKindDeployedServicePackage Indicates that the health evaluation is for a deployed
1114	// service package. The value is 16.
1115	HealthEvaluationKindDeployedServicePackage HealthEvaluationKind = "DeployedServicePackage"
1116	// HealthEvaluationKindDeployedServicePackages Indicates that the health evaluation is for the deployed
1117	// service packages of a deployed application. The value is 4.
1118	HealthEvaluationKindDeployedServicePackages HealthEvaluationKind = "DeployedServicePackages"
1119	// HealthEvaluationKindEvent Indicates that the health evaluation is for a health event. The value is 1.
1120	HealthEvaluationKindEvent HealthEvaluationKind = "Event"
1121	// HealthEvaluationKindInvalid Indicates that the health evaluation is invalid. The value is zero.
1122	HealthEvaluationKindInvalid HealthEvaluationKind = "Invalid"
1123	// HealthEvaluationKindNode Indicates that the health evaluation is for a node. The value is 12.
1124	HealthEvaluationKindNode HealthEvaluationKind = "Node"
1125	// HealthEvaluationKindNodes Indicates that the health evaluation is for the cluster nodes. The value is 7.
1126	HealthEvaluationKindNodes HealthEvaluationKind = "Nodes"
1127	// HealthEvaluationKindPartition Indicates that the health evaluation is for a partition. The value is 14.
1128	HealthEvaluationKindPartition HealthEvaluationKind = "Partition"
1129	// HealthEvaluationKindPartitions Indicates that the health evaluation is for the partitions of a service.
1130	// The value is 3.
1131	HealthEvaluationKindPartitions HealthEvaluationKind = "Partitions"
1132	// HealthEvaluationKindReplica Indicates that the health evaluation is for a replica. The value is 13.
1133	HealthEvaluationKindReplica HealthEvaluationKind = "Replica"
1134	// HealthEvaluationKindReplicas Indicates that the health evaluation is for the replicas of a partition.
1135	// The value is 2.
1136	HealthEvaluationKindReplicas HealthEvaluationKind = "Replicas"
1137	// HealthEvaluationKindService Indicates that the health evaluation is for a service. The value is 15.
1138	HealthEvaluationKindService HealthEvaluationKind = "Service"
1139	// HealthEvaluationKindServices Indicates that the health evaluation is for services of an application. The
1140	// value is 6.
1141	HealthEvaluationKindServices HealthEvaluationKind = "Services"
1142	// HealthEvaluationKindSystemApplication Indicates that the health evaluation is for the system
1143	// application. The value is 9.
1144	HealthEvaluationKindSystemApplication HealthEvaluationKind = "SystemApplication"
1145	// HealthEvaluationKindUpgradeDomainDeltaNodesCheck Indicates that the health evaluation is for the delta
1146	// of unhealthy upgrade domain cluster nodes. The value is 20.
1147	HealthEvaluationKindUpgradeDomainDeltaNodesCheck HealthEvaluationKind = "UpgradeDomainDeltaNodesCheck"
1148	// HealthEvaluationKindUpgradeDomainDeployedApplications Indicates that the health evaluation is for the
1149	// deployed applications of an application in an upgrade domain. The value is 10.
1150	HealthEvaluationKindUpgradeDomainDeployedApplications HealthEvaluationKind = "UpgradeDomainDeployedApplications"
1151	// HealthEvaluationKindUpgradeDomainNodes Indicates that the health evaluation is for the cluster nodes in
1152	// an upgrade domain. The value is 11.
1153	HealthEvaluationKindUpgradeDomainNodes HealthEvaluationKind = "UpgradeDomainNodes"
1154)
1155
1156// PossibleHealthEvaluationKindValues returns an array of possible values for the HealthEvaluationKind const type.
1157func PossibleHealthEvaluationKindValues() []HealthEvaluationKind {
1158	return []HealthEvaluationKind{HealthEvaluationKindApplication, HealthEvaluationKindApplications, HealthEvaluationKindApplicationTypeApplications, HealthEvaluationKindDeltaNodesCheck, HealthEvaluationKindDeployedApplication, HealthEvaluationKindDeployedApplications, HealthEvaluationKindDeployedServicePackage, HealthEvaluationKindDeployedServicePackages, HealthEvaluationKindEvent, HealthEvaluationKindInvalid, HealthEvaluationKindNode, HealthEvaluationKindNodes, HealthEvaluationKindPartition, HealthEvaluationKindPartitions, HealthEvaluationKindReplica, HealthEvaluationKindReplicas, HealthEvaluationKindService, HealthEvaluationKindServices, HealthEvaluationKindSystemApplication, HealthEvaluationKindUpgradeDomainDeltaNodesCheck, HealthEvaluationKindUpgradeDomainDeployedApplications, HealthEvaluationKindUpgradeDomainNodes}
1159}
1160
1161// HealthState enumerates the values for health state.
1162type HealthState string
1163
1164const (
1165	// HealthStateError Indicates the health state is at an error level. Error health state should be
1166	// investigated, as they can impact the correct functionality of the cluster. The value is 3.
1167	HealthStateError HealthState = "Error"
1168	// HealthStateInvalid Indicates an invalid health state. All Service Fabric enumerations have the invalid
1169	// type. The value is zero.
1170	HealthStateInvalid HealthState = "Invalid"
1171	// HealthStateOk Indicates the health state is okay. The value is 1.
1172	HealthStateOk HealthState = "Ok"
1173	// HealthStateUnknown Indicates an unknown health status. The value is 65535.
1174	HealthStateUnknown HealthState = "Unknown"
1175	// HealthStateWarning Indicates the health state is at a warning level. The value is 2.
1176	HealthStateWarning HealthState = "Warning"
1177)
1178
1179// PossibleHealthStateValues returns an array of possible values for the HealthState const type.
1180func PossibleHealthStateValues() []HealthState {
1181	return []HealthState{HealthStateError, HealthStateInvalid, HealthStateOk, HealthStateUnknown, HealthStateWarning}
1182}
1183
1184// HostIsolationMode enumerates the values for host isolation mode.
1185type HostIsolationMode string
1186
1187const (
1188	// HostIsolationModeHyperV Indicates the ContainerHost is a Hyper-V container. This applies to only Windows
1189	// containers. The value is 2.
1190	HostIsolationModeHyperV HostIsolationMode = "HyperV"
1191	// HostIsolationModeNone Indicates the isolation mode is not applicable for given HostType. The value is 0.
1192	HostIsolationModeNone HostIsolationMode = "None"
1193	// HostIsolationModeProcess This is the default isolation mode for a ContainerHost. The value is 1.
1194	HostIsolationModeProcess HostIsolationMode = "Process"
1195)
1196
1197// PossibleHostIsolationModeValues returns an array of possible values for the HostIsolationMode const type.
1198func PossibleHostIsolationModeValues() []HostIsolationMode {
1199	return []HostIsolationMode{HostIsolationModeHyperV, HostIsolationModeNone, HostIsolationModeProcess}
1200}
1201
1202// HostType enumerates the values for host type.
1203type HostType string
1204
1205const (
1206	// HostTypeContainerHost Indicates the host is a container. The value is 2.
1207	HostTypeContainerHost HostType = "ContainerHost"
1208	// HostTypeExeHost Indicates the host is an executable. The value is 1.
1209	HostTypeExeHost HostType = "ExeHost"
1210	// HostTypeInvalid Indicates the type of host is not known or invalid. The value is 0.
1211	HostTypeInvalid HostType = "Invalid"
1212)
1213
1214// PossibleHostTypeValues returns an array of possible values for the HostType const type.
1215func PossibleHostTypeValues() []HostType {
1216	return []HostType{HostTypeContainerHost, HostTypeExeHost, HostTypeInvalid}
1217}
1218
1219// ImpactLevel enumerates the values for impact level.
1220type ImpactLevel string
1221
1222const (
1223	// ImpactLevelInvalid ...
1224	ImpactLevelInvalid ImpactLevel = "Invalid"
1225	// ImpactLevelNone ...
1226	ImpactLevelNone ImpactLevel = "None"
1227	// ImpactLevelRemoveData ...
1228	ImpactLevelRemoveData ImpactLevel = "RemoveData"
1229	// ImpactLevelRemoveNode ...
1230	ImpactLevelRemoveNode ImpactLevel = "RemoveNode"
1231	// ImpactLevelRestart ...
1232	ImpactLevelRestart ImpactLevel = "Restart"
1233)
1234
1235// PossibleImpactLevelValues returns an array of possible values for the ImpactLevel const type.
1236func PossibleImpactLevelValues() []ImpactLevel {
1237	return []ImpactLevel{ImpactLevelInvalid, ImpactLevelNone, ImpactLevelRemoveData, ImpactLevelRemoveNode, ImpactLevelRestart}
1238}
1239
1240// Kind enumerates the values for kind.
1241type Kind string
1242
1243const (
1244	// KindApplication ...
1245	KindApplication Kind = "Application"
1246	// KindApplications ...
1247	KindApplications Kind = "Applications"
1248	// KindApplicationTypeApplications ...
1249	KindApplicationTypeApplications Kind = "ApplicationTypeApplications"
1250	// KindDeltaNodesCheck ...
1251	KindDeltaNodesCheck Kind = "DeltaNodesCheck"
1252	// KindDeployedApplication ...
1253	KindDeployedApplication Kind = "DeployedApplication"
1254	// KindDeployedApplications ...
1255	KindDeployedApplications Kind = "DeployedApplications"
1256	// KindDeployedServicePackage ...
1257	KindDeployedServicePackage Kind = "DeployedServicePackage"
1258	// KindDeployedServicePackages ...
1259	KindDeployedServicePackages Kind = "DeployedServicePackages"
1260	// KindEvent ...
1261	KindEvent Kind = "Event"
1262	// KindHealthEvaluation ...
1263	KindHealthEvaluation Kind = "HealthEvaluation"
1264	// KindNode ...
1265	KindNode Kind = "Node"
1266	// KindNodes ...
1267	KindNodes Kind = "Nodes"
1268	// KindPartition ...
1269	KindPartition Kind = "Partition"
1270	// KindPartitions ...
1271	KindPartitions Kind = "Partitions"
1272	// KindReplica ...
1273	KindReplica Kind = "Replica"
1274	// KindReplicas ...
1275	KindReplicas Kind = "Replicas"
1276	// KindService ...
1277	KindService Kind = "Service"
1278	// KindServices ...
1279	KindServices Kind = "Services"
1280	// KindSystemApplication ...
1281	KindSystemApplication Kind = "SystemApplication"
1282	// KindUpgradeDomainDeltaNodesCheck ...
1283	KindUpgradeDomainDeltaNodesCheck Kind = "UpgradeDomainDeltaNodesCheck"
1284	// KindUpgradeDomainNodes ...
1285	KindUpgradeDomainNodes Kind = "UpgradeDomainNodes"
1286)
1287
1288// PossibleKindValues returns an array of possible values for the Kind const type.
1289func PossibleKindValues() []Kind {
1290	return []Kind{KindApplication, KindApplications, KindApplicationTypeApplications, KindDeltaNodesCheck, KindDeployedApplication, KindDeployedApplications, KindDeployedServicePackage, KindDeployedServicePackages, KindEvent, KindHealthEvaluation, KindNode, KindNodes, KindPartition, KindPartitions, KindReplica, KindReplicas, KindService, KindServices, KindSystemApplication, KindUpgradeDomainDeltaNodesCheck, KindUpgradeDomainNodes}
1291}
1292
1293// KindBasicBackupConfigurationInfo enumerates the values for kind basic backup configuration info.
1294type KindBasicBackupConfigurationInfo string
1295
1296const (
1297	// KindBasicBackupConfigurationInfoKindApplication ...
1298	KindBasicBackupConfigurationInfoKindApplication KindBasicBackupConfigurationInfo = "Application"
1299	// KindBasicBackupConfigurationInfoKindBackupConfigurationInfo ...
1300	KindBasicBackupConfigurationInfoKindBackupConfigurationInfo KindBasicBackupConfigurationInfo = "BackupConfigurationInfo"
1301	// KindBasicBackupConfigurationInfoKindPartition ...
1302	KindBasicBackupConfigurationInfoKindPartition KindBasicBackupConfigurationInfo = "Partition"
1303	// KindBasicBackupConfigurationInfoKindService ...
1304	KindBasicBackupConfigurationInfoKindService KindBasicBackupConfigurationInfo = "Service"
1305)
1306
1307// PossibleKindBasicBackupConfigurationInfoValues returns an array of possible values for the KindBasicBackupConfigurationInfo const type.
1308func PossibleKindBasicBackupConfigurationInfoValues() []KindBasicBackupConfigurationInfo {
1309	return []KindBasicBackupConfigurationInfo{KindBasicBackupConfigurationInfoKindApplication, KindBasicBackupConfigurationInfoKindBackupConfigurationInfo, KindBasicBackupConfigurationInfoKindPartition, KindBasicBackupConfigurationInfoKindService}
1310}
1311
1312// KindBasicChaosEvent enumerates the values for kind basic chaos event.
1313type KindBasicChaosEvent string
1314
1315const (
1316	// KindChaosEvent ...
1317	KindChaosEvent KindBasicChaosEvent = "ChaosEvent"
1318	// KindExecutingFaults ...
1319	KindExecutingFaults KindBasicChaosEvent = "ExecutingFaults"
1320	// KindStarted ...
1321	KindStarted KindBasicChaosEvent = "Started"
1322	// KindStopped ...
1323	KindStopped KindBasicChaosEvent = "Stopped"
1324	// KindTestError ...
1325	KindTestError KindBasicChaosEvent = "TestError"
1326	// KindValidationFailed ...
1327	KindValidationFailed KindBasicChaosEvent = "ValidationFailed"
1328	// KindWaiting ...
1329	KindWaiting KindBasicChaosEvent = "Waiting"
1330)
1331
1332// PossibleKindBasicChaosEventValues returns an array of possible values for the KindBasicChaosEvent const type.
1333func PossibleKindBasicChaosEventValues() []KindBasicChaosEvent {
1334	return []KindBasicChaosEvent{KindChaosEvent, KindExecutingFaults, KindStarted, KindStopped, KindTestError, KindValidationFailed, KindWaiting}
1335}
1336
1337// KindBasicDiagnosticsSinkProperties enumerates the values for kind basic diagnostics sink properties.
1338type KindBasicDiagnosticsSinkProperties string
1339
1340const (
1341	// KindDiagnosticsSinkProperties ...
1342	KindDiagnosticsSinkProperties KindBasicDiagnosticsSinkProperties = "DiagnosticsSinkProperties"
1343)
1344
1345// PossibleKindBasicDiagnosticsSinkPropertiesValues returns an array of possible values for the KindBasicDiagnosticsSinkProperties const type.
1346func PossibleKindBasicDiagnosticsSinkPropertiesValues() []KindBasicDiagnosticsSinkProperties {
1347	return []KindBasicDiagnosticsSinkProperties{KindDiagnosticsSinkProperties}
1348}
1349
1350// KindBasicFabricEvent enumerates the values for kind basic fabric event.
1351type KindBasicFabricEvent string
1352
1353const (
1354	// KindApplicationCreated ...
1355	KindApplicationCreated KindBasicFabricEvent = "ApplicationCreated"
1356	// KindApplicationDeleted ...
1357	KindApplicationDeleted KindBasicFabricEvent = "ApplicationDeleted"
1358	// KindApplicationEvent ...
1359	KindApplicationEvent KindBasicFabricEvent = "ApplicationEvent"
1360	// KindApplicationHealthReportCreated ...
1361	KindApplicationHealthReportCreated KindBasicFabricEvent = "ApplicationHealthReportCreated"
1362	// KindApplicationHealthReportExpired ...
1363	KindApplicationHealthReportExpired KindBasicFabricEvent = "ApplicationHealthReportExpired"
1364	// KindApplicationUpgradeComplete ...
1365	KindApplicationUpgradeComplete KindBasicFabricEvent = "ApplicationUpgradeComplete"
1366	// KindApplicationUpgradeDomainComplete ...
1367	KindApplicationUpgradeDomainComplete KindBasicFabricEvent = "ApplicationUpgradeDomainComplete"
1368	// KindApplicationUpgradeRollbackComplete ...
1369	KindApplicationUpgradeRollbackComplete KindBasicFabricEvent = "ApplicationUpgradeRollbackComplete"
1370	// KindApplicationUpgradeRollbackStart ...
1371	KindApplicationUpgradeRollbackStart KindBasicFabricEvent = "ApplicationUpgradeRollbackStart"
1372	// KindApplicationUpgradeStart ...
1373	KindApplicationUpgradeStart KindBasicFabricEvent = "ApplicationUpgradeStart"
1374	// KindChaosMovePrimaryFaultScheduled ...
1375	KindChaosMovePrimaryFaultScheduled KindBasicFabricEvent = "ChaosMovePrimaryFaultScheduled"
1376	// KindChaosMoveSecondaryFaultScheduled ...
1377	KindChaosMoveSecondaryFaultScheduled KindBasicFabricEvent = "ChaosMoveSecondaryFaultScheduled"
1378	// KindChaosRemoveReplicaFaultCompleted ...
1379	KindChaosRemoveReplicaFaultCompleted KindBasicFabricEvent = "ChaosRemoveReplicaFaultCompleted"
1380	// KindChaosRemoveReplicaFaultScheduled ...
1381	KindChaosRemoveReplicaFaultScheduled KindBasicFabricEvent = "ChaosRemoveReplicaFaultScheduled"
1382	// KindChaosRestartCodePackageFaultCompleted ...
1383	KindChaosRestartCodePackageFaultCompleted KindBasicFabricEvent = "ChaosRestartCodePackageFaultCompleted"
1384	// KindChaosRestartCodePackageFaultScheduled ...
1385	KindChaosRestartCodePackageFaultScheduled KindBasicFabricEvent = "ChaosRestartCodePackageFaultScheduled"
1386	// KindChaosRestartNodeFaultCompleted ...
1387	KindChaosRestartNodeFaultCompleted KindBasicFabricEvent = "ChaosRestartNodeFaultCompleted"
1388	// KindChaosRestartNodeFaultScheduled ...
1389	KindChaosRestartNodeFaultScheduled KindBasicFabricEvent = "ChaosRestartNodeFaultScheduled"
1390	// KindChaosRestartReplicaFaultScheduled ...
1391	KindChaosRestartReplicaFaultScheduled KindBasicFabricEvent = "ChaosRestartReplicaFaultScheduled"
1392	// KindChaosStarted ...
1393	KindChaosStarted KindBasicFabricEvent = "ChaosStarted"
1394	// KindChaosStopped ...
1395	KindChaosStopped KindBasicFabricEvent = "ChaosStopped"
1396	// KindClusterEvent ...
1397	KindClusterEvent KindBasicFabricEvent = "ClusterEvent"
1398	// KindClusterHealthReportCreated ...
1399	KindClusterHealthReportCreated KindBasicFabricEvent = "ClusterHealthReportCreated"
1400	// KindClusterHealthReportExpired ...
1401	KindClusterHealthReportExpired KindBasicFabricEvent = "ClusterHealthReportExpired"
1402	// KindClusterUpgradeComplete ...
1403	KindClusterUpgradeComplete KindBasicFabricEvent = "ClusterUpgradeComplete"
1404	// KindClusterUpgradeDomainComplete ...
1405	KindClusterUpgradeDomainComplete KindBasicFabricEvent = "ClusterUpgradeDomainComplete"
1406	// KindClusterUpgradeRollbackComplete ...
1407	KindClusterUpgradeRollbackComplete KindBasicFabricEvent = "ClusterUpgradeRollbackComplete"
1408	// KindClusterUpgradeRollbackStart ...
1409	KindClusterUpgradeRollbackStart KindBasicFabricEvent = "ClusterUpgradeRollbackStart"
1410	// KindClusterUpgradeStart ...
1411	KindClusterUpgradeStart KindBasicFabricEvent = "ClusterUpgradeStart"
1412	// KindContainerDeactivated ...
1413	KindContainerDeactivated KindBasicFabricEvent = "ContainerDeactivated"
1414	// KindContainerInstanceEvent ...
1415	KindContainerInstanceEvent KindBasicFabricEvent = "ContainerInstanceEvent"
1416	// KindDeployedApplicationHealthReportCreated ...
1417	KindDeployedApplicationHealthReportCreated KindBasicFabricEvent = "DeployedApplicationHealthReportCreated"
1418	// KindDeployedApplicationHealthReportExpired ...
1419	KindDeployedApplicationHealthReportExpired KindBasicFabricEvent = "DeployedApplicationHealthReportExpired"
1420	// KindDeployedServiceHealthReportCreated ...
1421	KindDeployedServiceHealthReportCreated KindBasicFabricEvent = "DeployedServiceHealthReportCreated"
1422	// KindDeployedServiceHealthReportExpired ...
1423	KindDeployedServiceHealthReportExpired KindBasicFabricEvent = "DeployedServiceHealthReportExpired"
1424	// KindFabricEvent ...
1425	KindFabricEvent KindBasicFabricEvent = "FabricEvent"
1426	// KindNodeAborted ...
1427	KindNodeAborted KindBasicFabricEvent = "NodeAborted"
1428	// KindNodeAborting ...
1429	KindNodeAborting KindBasicFabricEvent = "NodeAborting"
1430	// KindNodeAdded ...
1431	KindNodeAdded KindBasicFabricEvent = "NodeAdded"
1432	// KindNodeClose ...
1433	KindNodeClose KindBasicFabricEvent = "NodeClose"
1434	// KindNodeClosing ...
1435	KindNodeClosing KindBasicFabricEvent = "NodeClosing"
1436	// KindNodeDeactivateComplete ...
1437	KindNodeDeactivateComplete KindBasicFabricEvent = "NodeDeactivateComplete"
1438	// KindNodeDeactivateStart ...
1439	KindNodeDeactivateStart KindBasicFabricEvent = "NodeDeactivateStart"
1440	// KindNodeDown ...
1441	KindNodeDown KindBasicFabricEvent = "NodeDown"
1442	// KindNodeEvent ...
1443	KindNodeEvent KindBasicFabricEvent = "NodeEvent"
1444	// KindNodeHealthReportCreated ...
1445	KindNodeHealthReportCreated KindBasicFabricEvent = "NodeHealthReportCreated"
1446	// KindNodeHealthReportExpired ...
1447	KindNodeHealthReportExpired KindBasicFabricEvent = "NodeHealthReportExpired"
1448	// KindNodeOpenedSuccess ...
1449	KindNodeOpenedSuccess KindBasicFabricEvent = "NodeOpenedSuccess"
1450	// KindNodeOpenFailed ...
1451	KindNodeOpenFailed KindBasicFabricEvent = "NodeOpenFailed"
1452	// KindNodeOpening ...
1453	KindNodeOpening KindBasicFabricEvent = "NodeOpening"
1454	// KindNodeRemoved ...
1455	KindNodeRemoved KindBasicFabricEvent = "NodeRemoved"
1456	// KindNodeUp ...
1457	KindNodeUp KindBasicFabricEvent = "NodeUp"
1458	// KindPartitionAnalysisEvent ...
1459	KindPartitionAnalysisEvent KindBasicFabricEvent = "PartitionAnalysisEvent"
1460	// KindPartitionEvent ...
1461	KindPartitionEvent KindBasicFabricEvent = "PartitionEvent"
1462	// KindPartitionHealthReportCreated ...
1463	KindPartitionHealthReportCreated KindBasicFabricEvent = "PartitionHealthReportCreated"
1464	// KindPartitionHealthReportExpired ...
1465	KindPartitionHealthReportExpired KindBasicFabricEvent = "PartitionHealthReportExpired"
1466	// KindPartitionPrimaryMoveAnalysis ...
1467	KindPartitionPrimaryMoveAnalysis KindBasicFabricEvent = "PartitionPrimaryMoveAnalysis"
1468	// KindPartitionReconfigurationCompleted ...
1469	KindPartitionReconfigurationCompleted KindBasicFabricEvent = "PartitionReconfigurationCompleted"
1470	// KindProcessDeactivated ...
1471	KindProcessDeactivated KindBasicFabricEvent = "ProcessDeactivated"
1472	// KindReplicaEvent ...
1473	KindReplicaEvent KindBasicFabricEvent = "ReplicaEvent"
1474	// KindServiceCreated ...
1475	KindServiceCreated KindBasicFabricEvent = "ServiceCreated"
1476	// KindServiceDeleted ...
1477	KindServiceDeleted KindBasicFabricEvent = "ServiceDeleted"
1478	// KindServiceEvent ...
1479	KindServiceEvent KindBasicFabricEvent = "ServiceEvent"
1480	// KindServiceHealthReportCreated ...
1481	KindServiceHealthReportCreated KindBasicFabricEvent = "ServiceHealthReportCreated"
1482	// KindServiceHealthReportExpired ...
1483	KindServiceHealthReportExpired KindBasicFabricEvent = "ServiceHealthReportExpired"
1484	// KindStatefulReplicaHealthReportCreated ...
1485	KindStatefulReplicaHealthReportCreated KindBasicFabricEvent = "StatefulReplicaHealthReportCreated"
1486	// KindStatefulReplicaHealthReportExpired ...
1487	KindStatefulReplicaHealthReportExpired KindBasicFabricEvent = "StatefulReplicaHealthReportExpired"
1488	// KindStatelessReplicaHealthReportCreated ...
1489	KindStatelessReplicaHealthReportCreated KindBasicFabricEvent = "StatelessReplicaHealthReportCreated"
1490	// KindStatelessReplicaHealthReportExpired ...
1491	KindStatelessReplicaHealthReportExpired KindBasicFabricEvent = "StatelessReplicaHealthReportExpired"
1492)
1493
1494// PossibleKindBasicFabricEventValues returns an array of possible values for the KindBasicFabricEvent const type.
1495func PossibleKindBasicFabricEventValues() []KindBasicFabricEvent {
1496	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}
1497}
1498
1499// KindBasicPropertyBatchInfo enumerates the values for kind basic property batch info.
1500type KindBasicPropertyBatchInfo string
1501
1502const (
1503	// KindFailed ...
1504	KindFailed KindBasicPropertyBatchInfo = "Failed"
1505	// KindPropertyBatchInfo ...
1506	KindPropertyBatchInfo KindBasicPropertyBatchInfo = "PropertyBatchInfo"
1507	// KindSuccessful ...
1508	KindSuccessful KindBasicPropertyBatchInfo = "Successful"
1509)
1510
1511// PossibleKindBasicPropertyBatchInfoValues returns an array of possible values for the KindBasicPropertyBatchInfo const type.
1512func PossibleKindBasicPropertyBatchInfoValues() []KindBasicPropertyBatchInfo {
1513	return []KindBasicPropertyBatchInfo{KindFailed, KindPropertyBatchInfo, KindSuccessful}
1514}
1515
1516// KindBasicPropertyBatchOperation enumerates the values for kind basic property batch operation.
1517type KindBasicPropertyBatchOperation string
1518
1519const (
1520	// KindCheckExists ...
1521	KindCheckExists KindBasicPropertyBatchOperation = "CheckExists"
1522	// KindCheckSequence ...
1523	KindCheckSequence KindBasicPropertyBatchOperation = "CheckSequence"
1524	// KindCheckValue ...
1525	KindCheckValue KindBasicPropertyBatchOperation = "CheckValue"
1526	// KindDelete ...
1527	KindDelete KindBasicPropertyBatchOperation = "Delete"
1528	// KindGet ...
1529	KindGet KindBasicPropertyBatchOperation = "Get"
1530	// KindPropertyBatchOperation ...
1531	KindPropertyBatchOperation KindBasicPropertyBatchOperation = "PropertyBatchOperation"
1532	// KindPut ...
1533	KindPut KindBasicPropertyBatchOperation = "Put"
1534)
1535
1536// PossibleKindBasicPropertyBatchOperationValues returns an array of possible values for the KindBasicPropertyBatchOperation const type.
1537func PossibleKindBasicPropertyBatchOperationValues() []KindBasicPropertyBatchOperation {
1538	return []KindBasicPropertyBatchOperation{KindCheckExists, KindCheckSequence, KindCheckValue, KindDelete, KindGet, KindPropertyBatchOperation, KindPut}
1539}
1540
1541// KindBasicPropertyValue enumerates the values for kind basic property value.
1542type KindBasicPropertyValue string
1543
1544const (
1545	// KindBinary ...
1546	KindBinary KindBasicPropertyValue = "Binary"
1547	// KindDouble ...
1548	KindDouble KindBasicPropertyValue = "Double"
1549	// KindGUID ...
1550	KindGUID KindBasicPropertyValue = "Guid"
1551	// KindInt64 ...
1552	KindInt64 KindBasicPropertyValue = "Int64"
1553	// KindPropertyValue ...
1554	KindPropertyValue KindBasicPropertyValue = "PropertyValue"
1555	// KindString ...
1556	KindString KindBasicPropertyValue = "String"
1557)
1558
1559// PossibleKindBasicPropertyValueValues returns an array of possible values for the KindBasicPropertyValue const type.
1560func PossibleKindBasicPropertyValueValues() []KindBasicPropertyValue {
1561	return []KindBasicPropertyValue{KindBinary, KindDouble, KindGUID, KindInt64, KindPropertyValue, KindString}
1562}
1563
1564// KindBasicProvisionApplicationTypeDescriptionBase enumerates the values for kind basic provision application
1565// type description base.
1566type KindBasicProvisionApplicationTypeDescriptionBase string
1567
1568const (
1569	// KindExternalStore ...
1570	KindExternalStore KindBasicProvisionApplicationTypeDescriptionBase = "ExternalStore"
1571	// KindImageStorePath ...
1572	KindImageStorePath KindBasicProvisionApplicationTypeDescriptionBase = "ImageStorePath"
1573	// KindProvisionApplicationTypeDescriptionBase ...
1574	KindProvisionApplicationTypeDescriptionBase KindBasicProvisionApplicationTypeDescriptionBase = "ProvisionApplicationTypeDescriptionBase"
1575)
1576
1577// PossibleKindBasicProvisionApplicationTypeDescriptionBaseValues returns an array of possible values for the KindBasicProvisionApplicationTypeDescriptionBase const type.
1578func PossibleKindBasicProvisionApplicationTypeDescriptionBaseValues() []KindBasicProvisionApplicationTypeDescriptionBase {
1579	return []KindBasicProvisionApplicationTypeDescriptionBase{KindExternalStore, KindImageStorePath, KindProvisionApplicationTypeDescriptionBase}
1580}
1581
1582// KindBasicRepairImpactDescriptionBase enumerates the values for kind basic repair impact description base.
1583type KindBasicRepairImpactDescriptionBase string
1584
1585const (
1586	// KindBasicRepairImpactDescriptionBaseKindNode ...
1587	KindBasicRepairImpactDescriptionBaseKindNode KindBasicRepairImpactDescriptionBase = "Node"
1588	// KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase ...
1589	KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase KindBasicRepairImpactDescriptionBase = "RepairImpactDescriptionBase"
1590)
1591
1592// PossibleKindBasicRepairImpactDescriptionBaseValues returns an array of possible values for the KindBasicRepairImpactDescriptionBase const type.
1593func PossibleKindBasicRepairImpactDescriptionBaseValues() []KindBasicRepairImpactDescriptionBase {
1594	return []KindBasicRepairImpactDescriptionBase{KindBasicRepairImpactDescriptionBaseKindNode, KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase}
1595}
1596
1597// KindBasicRepairTargetDescriptionBase enumerates the values for kind basic repair target description base.
1598type KindBasicRepairTargetDescriptionBase string
1599
1600const (
1601	// KindBasicRepairTargetDescriptionBaseKindNode ...
1602	KindBasicRepairTargetDescriptionBaseKindNode KindBasicRepairTargetDescriptionBase = "Node"
1603	// KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase ...
1604	KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase KindBasicRepairTargetDescriptionBase = "RepairTargetDescriptionBase"
1605)
1606
1607// PossibleKindBasicRepairTargetDescriptionBaseValues returns an array of possible values for the KindBasicRepairTargetDescriptionBase const type.
1608func PossibleKindBasicRepairTargetDescriptionBaseValues() []KindBasicRepairTargetDescriptionBase {
1609	return []KindBasicRepairTargetDescriptionBase{KindBasicRepairTargetDescriptionBaseKindNode, KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase}
1610}
1611
1612// KindBasicReplicaStatusBase enumerates the values for kind basic replica status base.
1613type KindBasicReplicaStatusBase string
1614
1615const (
1616	// KindKeyValueStore ...
1617	KindKeyValueStore KindBasicReplicaStatusBase = "KeyValueStore"
1618	// KindReplicaStatusBase ...
1619	KindReplicaStatusBase KindBasicReplicaStatusBase = "ReplicaStatusBase"
1620)
1621
1622// PossibleKindBasicReplicaStatusBaseValues returns an array of possible values for the KindBasicReplicaStatusBase const type.
1623func PossibleKindBasicReplicaStatusBaseValues() []KindBasicReplicaStatusBase {
1624	return []KindBasicReplicaStatusBase{KindKeyValueStore, KindReplicaStatusBase}
1625}
1626
1627// KindBasicReplicatorStatus enumerates the values for kind basic replicator status.
1628type KindBasicReplicatorStatus string
1629
1630const (
1631	// KindActiveSecondary ...
1632	KindActiveSecondary KindBasicReplicatorStatus = "ActiveSecondary"
1633	// KindIdleSecondary ...
1634	KindIdleSecondary KindBasicReplicatorStatus = "IdleSecondary"
1635	// KindPrimary ...
1636	KindPrimary KindBasicReplicatorStatus = "Primary"
1637	// KindReplicatorStatus ...
1638	KindReplicatorStatus KindBasicReplicatorStatus = "ReplicatorStatus"
1639	// KindSecondaryReplicatorStatus ...
1640	KindSecondaryReplicatorStatus KindBasicReplicatorStatus = "SecondaryReplicatorStatus"
1641)
1642
1643// PossibleKindBasicReplicatorStatusValues returns an array of possible values for the KindBasicReplicatorStatus const type.
1644func PossibleKindBasicReplicatorStatusValues() []KindBasicReplicatorStatus {
1645	return []KindBasicReplicatorStatus{KindActiveSecondary, KindIdleSecondary, KindPrimary, KindReplicatorStatus, KindSecondaryReplicatorStatus}
1646}
1647
1648// KindBasicSafetyCheck enumerates the values for kind basic safety check.
1649type KindBasicSafetyCheck string
1650
1651const (
1652	// KindEnsureAvailability ...
1653	KindEnsureAvailability KindBasicSafetyCheck = "EnsureAvailability"
1654	// KindEnsurePartitionQuorum ...
1655	KindEnsurePartitionQuorum KindBasicSafetyCheck = "EnsurePartitionQuorum"
1656	// KindEnsureSeedNodeQuorum ...
1657	KindEnsureSeedNodeQuorum KindBasicSafetyCheck = "EnsureSeedNodeQuorum"
1658	// KindPartitionSafetyCheck ...
1659	KindPartitionSafetyCheck KindBasicSafetyCheck = "PartitionSafetyCheck"
1660	// KindSafetyCheck ...
1661	KindSafetyCheck KindBasicSafetyCheck = "SafetyCheck"
1662	// KindWaitForInbuildReplica ...
1663	KindWaitForInbuildReplica KindBasicSafetyCheck = "WaitForInbuildReplica"
1664	// KindWaitForPrimaryPlacement ...
1665	KindWaitForPrimaryPlacement KindBasicSafetyCheck = "WaitForPrimaryPlacement"
1666	// KindWaitForPrimarySwap ...
1667	KindWaitForPrimarySwap KindBasicSafetyCheck = "WaitForPrimarySwap"
1668	// KindWaitForReconfiguration ...
1669	KindWaitForReconfiguration KindBasicSafetyCheck = "WaitForReconfiguration"
1670)
1671
1672// PossibleKindBasicSafetyCheckValues returns an array of possible values for the KindBasicSafetyCheck const type.
1673func PossibleKindBasicSafetyCheckValues() []KindBasicSafetyCheck {
1674	return []KindBasicSafetyCheck{KindEnsureAvailability, KindEnsurePartitionQuorum, KindEnsureSeedNodeQuorum, KindPartitionSafetyCheck, KindSafetyCheck, KindWaitForInbuildReplica, KindWaitForPrimaryPlacement, KindWaitForPrimarySwap, KindWaitForReconfiguration}
1675}
1676
1677// KindBasicScalingMechanismDescription enumerates the values for kind basic scaling mechanism description.
1678type KindBasicScalingMechanismDescription string
1679
1680const (
1681	// KindAddRemoveIncrementalNamedPartition ...
1682	KindAddRemoveIncrementalNamedPartition KindBasicScalingMechanismDescription = "AddRemoveIncrementalNamedPartition"
1683	// KindPartitionInstanceCount ...
1684	KindPartitionInstanceCount KindBasicScalingMechanismDescription = "PartitionInstanceCount"
1685	// KindScalingMechanismDescription ...
1686	KindScalingMechanismDescription KindBasicScalingMechanismDescription = "ScalingMechanismDescription"
1687)
1688
1689// PossibleKindBasicScalingMechanismDescriptionValues returns an array of possible values for the KindBasicScalingMechanismDescription const type.
1690func PossibleKindBasicScalingMechanismDescriptionValues() []KindBasicScalingMechanismDescription {
1691	return []KindBasicScalingMechanismDescription{KindAddRemoveIncrementalNamedPartition, KindPartitionInstanceCount, KindScalingMechanismDescription}
1692}
1693
1694// KindBasicScalingTriggerDescription enumerates the values for kind basic scaling trigger description.
1695type KindBasicScalingTriggerDescription string
1696
1697const (
1698	// KindAveragePartitionLoad ...
1699	KindAveragePartitionLoad KindBasicScalingTriggerDescription = "AveragePartitionLoad"
1700	// KindAverageServiceLoad ...
1701	KindAverageServiceLoad KindBasicScalingTriggerDescription = "AverageServiceLoad"
1702	// KindScalingTriggerDescription ...
1703	KindScalingTriggerDescription KindBasicScalingTriggerDescription = "ScalingTriggerDescription"
1704)
1705
1706// PossibleKindBasicScalingTriggerDescriptionValues returns an array of possible values for the KindBasicScalingTriggerDescription const type.
1707func PossibleKindBasicScalingTriggerDescriptionValues() []KindBasicScalingTriggerDescription {
1708	return []KindBasicScalingTriggerDescription{KindAveragePartitionLoad, KindAverageServiceLoad, KindScalingTriggerDescription}
1709}
1710
1711// KindBasicServiceTypeDescription enumerates the values for kind basic service type description.
1712type KindBasicServiceTypeDescription string
1713
1714const (
1715	// KindServiceTypeDescription ...
1716	KindServiceTypeDescription KindBasicServiceTypeDescription = "ServiceTypeDescription"
1717	// KindStateful ...
1718	KindStateful KindBasicServiceTypeDescription = "Stateful"
1719	// KindStateless ...
1720	KindStateless KindBasicServiceTypeDescription = "Stateless"
1721)
1722
1723// PossibleKindBasicServiceTypeDescriptionValues returns an array of possible values for the KindBasicServiceTypeDescription const type.
1724func PossibleKindBasicServiceTypeDescriptionValues() []KindBasicServiceTypeDescription {
1725	return []KindBasicServiceTypeDescription{KindServiceTypeDescription, KindStateful, KindStateless}
1726}
1727
1728// MoveCost enumerates the values for move cost.
1729type MoveCost string
1730
1731const (
1732	// High Specifies the move cost of the service as High. The value is 3.
1733	High MoveCost = "High"
1734	// Low Specifies the move cost of the service as Low. The value is 1.
1735	Low MoveCost = "Low"
1736	// Medium Specifies the move cost of the service as Medium. The value is 2.
1737	Medium MoveCost = "Medium"
1738	// Zero Zero move cost. This value is zero.
1739	Zero MoveCost = "Zero"
1740)
1741
1742// PossibleMoveCostValues returns an array of possible values for the MoveCost const type.
1743func PossibleMoveCostValues() []MoveCost {
1744	return []MoveCost{High, Low, Medium, Zero}
1745}
1746
1747// NodeDeactivationIntent enumerates the values for node deactivation intent.
1748type NodeDeactivationIntent string
1749
1750const (
1751	// NodeDeactivationIntentInvalid Indicates the node deactivation intent is invalid. All Service Fabric
1752	// enumerations have the invalid type. The value is zero. This value is not used.
1753	NodeDeactivationIntentInvalid NodeDeactivationIntent = "Invalid"
1754	// NodeDeactivationIntentPause Indicates that the node should be paused. The value is 1.
1755	NodeDeactivationIntentPause NodeDeactivationIntent = "Pause"
1756	// NodeDeactivationIntentRemoveData Indicates that the intent is to reimage the node. Service Fabric does
1757	// not reimage the node, this action is done outside of Service Fabric. The value is 3.
1758	NodeDeactivationIntentRemoveData NodeDeactivationIntent = "RemoveData"
1759	// NodeDeactivationIntentRemoveNode Indicates that the node is being decommissioned and is not expected to
1760	// return. Service Fabric does not decommission the node, this action is done outside of Service Fabric.
1761	// The value is 4.
1762	NodeDeactivationIntentRemoveNode NodeDeactivationIntent = "RemoveNode"
1763	// NodeDeactivationIntentRestart Indicates that the intent is for the node to be restarted after a short
1764	// period of time. Service Fabric does not restart the node, this action is done outside of Service Fabric.
1765	// The value is 2.
1766	NodeDeactivationIntentRestart NodeDeactivationIntent = "Restart"
1767)
1768
1769// PossibleNodeDeactivationIntentValues returns an array of possible values for the NodeDeactivationIntent const type.
1770func PossibleNodeDeactivationIntentValues() []NodeDeactivationIntent {
1771	return []NodeDeactivationIntent{NodeDeactivationIntentInvalid, NodeDeactivationIntentPause, NodeDeactivationIntentRemoveData, NodeDeactivationIntentRemoveNode, NodeDeactivationIntentRestart}
1772}
1773
1774// NodeDeactivationStatus enumerates the values for node deactivation status.
1775type NodeDeactivationStatus string
1776
1777const (
1778	// NodeDeactivationStatusCompleted The task is completed. The value is 3.
1779	NodeDeactivationStatusCompleted NodeDeactivationStatus = "Completed"
1780	// NodeDeactivationStatusNone No status is associated with the task. The value is zero.
1781	NodeDeactivationStatusNone NodeDeactivationStatus = "None"
1782	// NodeDeactivationStatusSafetyCheckComplete When a node is deactivated Service Fabric performs checks to
1783	// ensure that the operation is safe to proceed to ensure availability of the service and reliability of
1784	// the state. This value indicates that all safety checks have been completed. The value is 2.
1785	NodeDeactivationStatusSafetyCheckComplete NodeDeactivationStatus = "SafetyCheckComplete"
1786	// NodeDeactivationStatusSafetyCheckInProgress When a node is deactivated Service Fabric performs checks to
1787	// ensure that the operation is safe to proceed to ensure availability of the service and reliability of
1788	// the state. This value indicates that one or more safety checks are in progress. The value is 1.
1789	NodeDeactivationStatusSafetyCheckInProgress NodeDeactivationStatus = "SafetyCheckInProgress"
1790)
1791
1792// PossibleNodeDeactivationStatusValues returns an array of possible values for the NodeDeactivationStatus const type.
1793func PossibleNodeDeactivationStatusValues() []NodeDeactivationStatus {
1794	return []NodeDeactivationStatus{NodeDeactivationStatusCompleted, NodeDeactivationStatusNone, NodeDeactivationStatusSafetyCheckComplete, NodeDeactivationStatusSafetyCheckInProgress}
1795}
1796
1797// NodeDeactivationTaskType enumerates the values for node deactivation task type.
1798type NodeDeactivationTaskType string
1799
1800const (
1801	// NodeDeactivationTaskTypeClient Specifies that the task was created by using the public API. The value is
1802	// 3.
1803	NodeDeactivationTaskTypeClient NodeDeactivationTaskType = "Client"
1804	// NodeDeactivationTaskTypeInfrastructure Specifies the task created by Infrastructure hosting the nodes.
1805	// The value is 1.
1806	NodeDeactivationTaskTypeInfrastructure NodeDeactivationTaskType = "Infrastructure"
1807	// NodeDeactivationTaskTypeInvalid Indicates the node deactivation task type is invalid. All Service Fabric
1808	// enumerations have the invalid type. The value is zero. This value is not used.
1809	NodeDeactivationTaskTypeInvalid NodeDeactivationTaskType = "Invalid"
1810	// NodeDeactivationTaskTypeRepair Specifies the task that was created by the Repair Manager service. The
1811	// value is 2.
1812	NodeDeactivationTaskTypeRepair NodeDeactivationTaskType = "Repair"
1813)
1814
1815// PossibleNodeDeactivationTaskTypeValues returns an array of possible values for the NodeDeactivationTaskType const type.
1816func PossibleNodeDeactivationTaskTypeValues() []NodeDeactivationTaskType {
1817	return []NodeDeactivationTaskType{NodeDeactivationTaskTypeClient, NodeDeactivationTaskTypeInfrastructure, NodeDeactivationTaskTypeInvalid, NodeDeactivationTaskTypeRepair}
1818}
1819
1820// NodeStatus enumerates the values for node status.
1821type NodeStatus string
1822
1823const (
1824	// NodeStatusDisabled Indicates the node is disabled. The value is 5.
1825	NodeStatusDisabled NodeStatus = "Disabled"
1826	// NodeStatusDisabling Indicates the node is in the process of being disabled. The value is 4.
1827	NodeStatusDisabling NodeStatus = "Disabling"
1828	// NodeStatusDown Indicates the node is down. The value is 2.
1829	NodeStatusDown NodeStatus = "Down"
1830	// NodeStatusEnabling Indicates the node is in process of being enabled. The value is 3.
1831	NodeStatusEnabling NodeStatus = "Enabling"
1832	// NodeStatusInvalid Indicates the node status is invalid. All Service Fabric enumerations have the invalid
1833	// type. The value is zero.
1834	NodeStatusInvalid NodeStatus = "Invalid"
1835	// NodeStatusRemoved Indicates the node is removed. A node would be in Removed state if NodeStateRemoved
1836	// API has been called for this node. In other words, Service Fabric has been informed that the persisted
1837	// state on the node has been permanently lost. The value is 7.
1838	NodeStatusRemoved NodeStatus = "Removed"
1839	// NodeStatusUnknown Indicates the node is unknown. A node would be in Unknown state if Service Fabric does
1840	// not have authoritative information about that node. This can happen if the system learns about a node at
1841	// runtime.The value is 6.
1842	NodeStatusUnknown NodeStatus = "Unknown"
1843	// NodeStatusUp Indicates the node is up. The value is 1.
1844	NodeStatusUp NodeStatus = "Up"
1845)
1846
1847// PossibleNodeStatusValues returns an array of possible values for the NodeStatus const type.
1848func PossibleNodeStatusValues() []NodeStatus {
1849	return []NodeStatus{NodeStatusDisabled, NodeStatusDisabling, NodeStatusDown, NodeStatusEnabling, NodeStatusInvalid, NodeStatusRemoved, NodeStatusUnknown, NodeStatusUp}
1850}
1851
1852// NodeStatusFilter enumerates the values for node status filter.
1853type NodeStatusFilter string
1854
1855const (
1856	// All This filter value will match all of the nodes.
1857	All NodeStatusFilter = "all"
1858	// Default This filter value will match all of the nodes excepts the ones with status as Unknown or
1859	// Removed.
1860	Default NodeStatusFilter = "default"
1861	// Disabled This filter value will match nodes that are Disabled.
1862	Disabled NodeStatusFilter = "disabled"
1863	// Disabling This filter value will match nodes that are in the process of being disabled with status as
1864	// Disabling.
1865	Disabling NodeStatusFilter = "disabling"
1866	// Down This filter value will match nodes that are Down.
1867	Down NodeStatusFilter = "down"
1868	// Enabling This filter value will match nodes that are in the process of being enabled with status as
1869	// Enabling.
1870	Enabling NodeStatusFilter = "enabling"
1871	// Removed This filter value will match nodes whose status is Removed. These are the nodes that are removed
1872	// from the cluster using the RemoveNodeState API.
1873	Removed NodeStatusFilter = "removed"
1874	// Unknown This filter value will match nodes whose status is Unknown. A node would be in Unknown state if
1875	// Service Fabric does not have authoritative information about that node. This can happen if the system
1876	// learns about a node at runtime.
1877	Unknown NodeStatusFilter = "unknown"
1878	// Up This filter value will match nodes that are Up.
1879	Up NodeStatusFilter = "up"
1880)
1881
1882// PossibleNodeStatusFilterValues returns an array of possible values for the NodeStatusFilter const type.
1883func PossibleNodeStatusFilterValues() []NodeStatusFilter {
1884	return []NodeStatusFilter{All, Default, Disabled, Disabling, Down, Enabling, Removed, Unknown, Up}
1885}
1886
1887// NodeTransitionType enumerates the values for node transition type.
1888type NodeTransitionType string
1889
1890const (
1891	// NodeTransitionTypeInvalid Reserved.  Do not pass into API.
1892	NodeTransitionTypeInvalid NodeTransitionType = "Invalid"
1893	// NodeTransitionTypeStart Transition a stopped node to up.
1894	NodeTransitionTypeStart NodeTransitionType = "Start"
1895	// NodeTransitionTypeStop Transition an up node to stopped.
1896	NodeTransitionTypeStop NodeTransitionType = "Stop"
1897)
1898
1899// PossibleNodeTransitionTypeValues returns an array of possible values for the NodeTransitionType const type.
1900func PossibleNodeTransitionTypeValues() []NodeTransitionType {
1901	return []NodeTransitionType{NodeTransitionTypeInvalid, NodeTransitionTypeStart, NodeTransitionTypeStop}
1902}
1903
1904// NodeUpgradePhase enumerates the values for node upgrade phase.
1905type NodeUpgradePhase string
1906
1907const (
1908	// NodeUpgradePhaseInvalid Indicates the upgrade state is invalid. All Service Fabric enumerations have the
1909	// invalid type. The value is zero.
1910	NodeUpgradePhaseInvalid NodeUpgradePhase = "Invalid"
1911	// NodeUpgradePhasePostUpgradeSafetyCheck The upgrade has completed and post upgrade safety checks are
1912	// being performed. The value is 3
1913	NodeUpgradePhasePostUpgradeSafetyCheck NodeUpgradePhase = "PostUpgradeSafetyCheck"
1914	// NodeUpgradePhasePreUpgradeSafetyCheck The upgrade has not started yet due to pending safety checks. The
1915	// value is 1
1916	NodeUpgradePhasePreUpgradeSafetyCheck NodeUpgradePhase = "PreUpgradeSafetyCheck"
1917	// NodeUpgradePhaseUpgrading The upgrade is in progress. The value is 2
1918	NodeUpgradePhaseUpgrading NodeUpgradePhase = "Upgrading"
1919)
1920
1921// PossibleNodeUpgradePhaseValues returns an array of possible values for the NodeUpgradePhase const type.
1922func PossibleNodeUpgradePhaseValues() []NodeUpgradePhase {
1923	return []NodeUpgradePhase{NodeUpgradePhaseInvalid, NodeUpgradePhasePostUpgradeSafetyCheck, NodeUpgradePhasePreUpgradeSafetyCheck, NodeUpgradePhaseUpgrading}
1924}
1925
1926// OperatingSystemTypes enumerates the values for operating system types.
1927type OperatingSystemTypes string
1928
1929const (
1930	// Linux ...
1931	Linux OperatingSystemTypes = "Linux"
1932	// Windows ...
1933	Windows OperatingSystemTypes = "Windows"
1934)
1935
1936// PossibleOperatingSystemTypesValues returns an array of possible values for the OperatingSystemTypes const type.
1937func PossibleOperatingSystemTypesValues() []OperatingSystemTypes {
1938	return []OperatingSystemTypes{Linux, Windows}
1939}
1940
1941// OperationState enumerates the values for operation state.
1942type OperationState string
1943
1944const (
1945	// OperationStateCancelled The operation was cancelled by the user using CancelOperation, and is no longer
1946	// running.
1947	OperationStateCancelled OperationState = "Cancelled"
1948	// OperationStateCompleted The operation has completed successfully and is no longer running.
1949	OperationStateCompleted OperationState = "Completed"
1950	// OperationStateFaulted The operation has failed and is no longer running.
1951	OperationStateFaulted OperationState = "Faulted"
1952	// OperationStateForceCancelled The operation was cancelled by the user using CancelOperation, with the
1953	// force parameter set to true.  It is no longer running.  Refer to CancelOperation for more details.
1954	OperationStateForceCancelled OperationState = "ForceCancelled"
1955	// OperationStateInvalid The operation state is invalid.
1956	OperationStateInvalid OperationState = "Invalid"
1957	// OperationStateRollingBack The operation is rolling back internal system state because it encountered a
1958	// fatal error or was cancelled by the user.  "RollingBack"     does not refer to user state.  For example,
1959	// if CancelOperation is called on a command of type PartitionDataLoss, state of "RollingBack" does not
1960	// mean service data is being restored (assuming the command has progressed far enough to cause data loss).
1961	// It means the system is rolling back/cleaning up internal system state associated with the command.
1962	OperationStateRollingBack OperationState = "RollingBack"
1963	// OperationStateRunning The operation is in progress.
1964	OperationStateRunning OperationState = "Running"
1965)
1966
1967// PossibleOperationStateValues returns an array of possible values for the OperationState const type.
1968func PossibleOperationStateValues() []OperationState {
1969	return []OperationState{OperationStateCancelled, OperationStateCompleted, OperationStateFaulted, OperationStateForceCancelled, OperationStateInvalid, OperationStateRollingBack, OperationStateRunning}
1970}
1971
1972// OperationType enumerates the values for operation type.
1973type OperationType string
1974
1975const (
1976	// OperationTypeInvalid The operation state is invalid.
1977	OperationTypeInvalid OperationType = "Invalid"
1978	// OperationTypeNodeTransition An operation started using the StartNodeTransition API.
1979	OperationTypeNodeTransition OperationType = "NodeTransition"
1980	// OperationTypePartitionDataLoss An operation started using the StartDataLoss API.
1981	OperationTypePartitionDataLoss OperationType = "PartitionDataLoss"
1982	// OperationTypePartitionQuorumLoss An operation started using the StartQuorumLoss API.
1983	OperationTypePartitionQuorumLoss OperationType = "PartitionQuorumLoss"
1984	// OperationTypePartitionRestart An operation started using the StartPartitionRestart API.
1985	OperationTypePartitionRestart OperationType = "PartitionRestart"
1986)
1987
1988// PossibleOperationTypeValues returns an array of possible values for the OperationType const type.
1989func PossibleOperationTypeValues() []OperationType {
1990	return []OperationType{OperationTypeInvalid, OperationTypeNodeTransition, OperationTypePartitionDataLoss, OperationTypePartitionQuorumLoss, OperationTypePartitionRestart}
1991}
1992
1993// PackageSharingPolicyScope enumerates the values for package sharing policy scope.
1994type PackageSharingPolicyScope string
1995
1996const (
1997	// PackageSharingPolicyScopeAll Share all code, config and data packages from corresponding service
1998	// manifest. The value is 1.
1999	PackageSharingPolicyScopeAll PackageSharingPolicyScope = "All"
2000	// PackageSharingPolicyScopeCode Share all code packages from corresponding service manifest. The value is
2001	// 2.
2002	PackageSharingPolicyScopeCode PackageSharingPolicyScope = "Code"
2003	// PackageSharingPolicyScopeConfig Share all config packages from corresponding service manifest. The value
2004	// is 3.
2005	PackageSharingPolicyScopeConfig PackageSharingPolicyScope = "Config"
2006	// PackageSharingPolicyScopeData Share all data packages from corresponding service manifest. The value is
2007	// 4.
2008	PackageSharingPolicyScopeData PackageSharingPolicyScope = "Data"
2009	// PackageSharingPolicyScopeNone No package sharing policy scope. The value is 0.
2010	PackageSharingPolicyScopeNone PackageSharingPolicyScope = "None"
2011)
2012
2013// PossiblePackageSharingPolicyScopeValues returns an array of possible values for the PackageSharingPolicyScope const type.
2014func PossiblePackageSharingPolicyScopeValues() []PackageSharingPolicyScope {
2015	return []PackageSharingPolicyScope{PackageSharingPolicyScopeAll, PackageSharingPolicyScopeCode, PackageSharingPolicyScopeConfig, PackageSharingPolicyScopeData, PackageSharingPolicyScopeNone}
2016}
2017
2018// PartitionAccessStatus enumerates the values for partition access status.
2019type PartitionAccessStatus string
2020
2021const (
2022	// PartitionAccessStatusGranted Indicates that the read or write operation access is granted and the
2023	// operation is allowed.
2024	PartitionAccessStatusGranted PartitionAccessStatus = "Granted"
2025	// PartitionAccessStatusInvalid Indicates that the read or write operation access status is not valid. This
2026	// value is not returned to the caller.
2027	PartitionAccessStatusInvalid PartitionAccessStatus = "Invalid"
2028	// PartitionAccessStatusNotPrimary Indicates that this client request was received by a replica that is not
2029	// a Primary replica.
2030	PartitionAccessStatusNotPrimary PartitionAccessStatus = "NotPrimary"
2031	// PartitionAccessStatusNoWriteQuorum Indicates that no write quorum is available and, therefore, no write
2032	// operation can be accepted.
2033	PartitionAccessStatusNoWriteQuorum PartitionAccessStatus = "NoWriteQuorum"
2034	// PartitionAccessStatusReconfigurationPending Indicates that the client should try again later, because a
2035	// reconfiguration is in progress.
2036	PartitionAccessStatusReconfigurationPending PartitionAccessStatus = "ReconfigurationPending"
2037)
2038
2039// PossiblePartitionAccessStatusValues returns an array of possible values for the PartitionAccessStatus const type.
2040func PossiblePartitionAccessStatusValues() []PartitionAccessStatus {
2041	return []PartitionAccessStatus{PartitionAccessStatusGranted, PartitionAccessStatusInvalid, PartitionAccessStatusNotPrimary, PartitionAccessStatusNoWriteQuorum, PartitionAccessStatusReconfigurationPending}
2042}
2043
2044// PartitionScheme enumerates the values for partition scheme.
2045type PartitionScheme string
2046
2047const (
2048	// PartitionSchemeInvalid Indicates the partition kind is invalid. All Service Fabric enumerations have the
2049	// invalid type. The value is zero.
2050	PartitionSchemeInvalid PartitionScheme = "Invalid"
2051	// PartitionSchemeNamed Indicates that the partition is based on string names, and is a
2052	// NamedPartitionSchemeDescription object. The value is 3
2053	PartitionSchemeNamed PartitionScheme = "Named"
2054	// PartitionSchemeSingleton Indicates that the partition is based on string names, and is a
2055	// SingletonPartitionSchemeDescription object, The value is 1.
2056	PartitionSchemeSingleton PartitionScheme = "Singleton"
2057	// PartitionSchemeUniformInt64Range Indicates that the partition is based on Int64 key ranges, and is a
2058	// UniformInt64RangePartitionSchemeDescription object. The value is 2.
2059	PartitionSchemeUniformInt64Range PartitionScheme = "UniformInt64Range"
2060)
2061
2062// PossiblePartitionSchemeValues returns an array of possible values for the PartitionScheme const type.
2063func PossiblePartitionSchemeValues() []PartitionScheme {
2064	return []PartitionScheme{PartitionSchemeInvalid, PartitionSchemeNamed, PartitionSchemeSingleton, PartitionSchemeUniformInt64Range}
2065}
2066
2067// PartitionSchemeBasicPartitionSchemeDescription enumerates the values for partition scheme basic partition
2068// scheme description.
2069type PartitionSchemeBasicPartitionSchemeDescription string
2070
2071const (
2072	// PartitionSchemeNamed1 ...
2073	PartitionSchemeNamed1 PartitionSchemeBasicPartitionSchemeDescription = "Named"
2074	// PartitionSchemePartitionSchemeDescription ...
2075	PartitionSchemePartitionSchemeDescription PartitionSchemeBasicPartitionSchemeDescription = "PartitionSchemeDescription"
2076	// PartitionSchemeSingleton1 ...
2077	PartitionSchemeSingleton1 PartitionSchemeBasicPartitionSchemeDescription = "Singleton"
2078	// PartitionSchemeUniformInt64Range1 ...
2079	PartitionSchemeUniformInt64Range1 PartitionSchemeBasicPartitionSchemeDescription = "UniformInt64Range"
2080)
2081
2082// PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues returns an array of possible values for the PartitionSchemeBasicPartitionSchemeDescription const type.
2083func PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues() []PartitionSchemeBasicPartitionSchemeDescription {
2084	return []PartitionSchemeBasicPartitionSchemeDescription{PartitionSchemeNamed1, PartitionSchemePartitionSchemeDescription, PartitionSchemeSingleton1, PartitionSchemeUniformInt64Range1}
2085}
2086
2087// PropertyBatchInfoKind enumerates the values for property batch info kind.
2088type PropertyBatchInfoKind string
2089
2090const (
2091	// PropertyBatchInfoKindFailed The property batch failed.
2092	PropertyBatchInfoKindFailed PropertyBatchInfoKind = "Failed"
2093	// PropertyBatchInfoKindInvalid Indicates the property batch info is invalid. All Service Fabric
2094	// enumerations have the invalid type.
2095	PropertyBatchInfoKindInvalid PropertyBatchInfoKind = "Invalid"
2096	// PropertyBatchInfoKindSuccessful The property batch succeeded.
2097	PropertyBatchInfoKindSuccessful PropertyBatchInfoKind = "Successful"
2098)
2099
2100// PossiblePropertyBatchInfoKindValues returns an array of possible values for the PropertyBatchInfoKind const type.
2101func PossiblePropertyBatchInfoKindValues() []PropertyBatchInfoKind {
2102	return []PropertyBatchInfoKind{PropertyBatchInfoKindFailed, PropertyBatchInfoKindInvalid, PropertyBatchInfoKindSuccessful}
2103}
2104
2105// PropertyBatchOperationKind enumerates the values for property batch operation kind.
2106type PropertyBatchOperationKind string
2107
2108const (
2109	// PropertyBatchOperationKindCheckExists The operation will check that a property exists or doesn't exists,
2110	// depending on the provided value. The value is 3.
2111	PropertyBatchOperationKindCheckExists PropertyBatchOperationKind = "CheckExists"
2112	// PropertyBatchOperationKindCheckSequence The operation will ensure that the sequence number is equal to
2113	// the provided value. The value is 4.
2114	PropertyBatchOperationKindCheckSequence PropertyBatchOperationKind = "CheckSequence"
2115	// PropertyBatchOperationKindCheckValue The operation will ensure that the value of a property is equal to
2116	// the provided value. The value is 7.
2117	PropertyBatchOperationKindCheckValue PropertyBatchOperationKind = "CheckValue"
2118	// PropertyBatchOperationKindDelete The operation will delete a property. The value is 5.
2119	PropertyBatchOperationKindDelete PropertyBatchOperationKind = "Delete"
2120	// PropertyBatchOperationKindGet The operation will get a property. The value is 2.
2121	PropertyBatchOperationKindGet PropertyBatchOperationKind = "Get"
2122	// PropertyBatchOperationKindInvalid Indicates the property operation is invalid. All Service Fabric
2123	// enumerations have the invalid type. The value is zero.
2124	PropertyBatchOperationKindInvalid PropertyBatchOperationKind = "Invalid"
2125	// PropertyBatchOperationKindPut The operation will create or edit a property. The value is 1.
2126	PropertyBatchOperationKindPut PropertyBatchOperationKind = "Put"
2127)
2128
2129// PossiblePropertyBatchOperationKindValues returns an array of possible values for the PropertyBatchOperationKind const type.
2130func PossiblePropertyBatchOperationKindValues() []PropertyBatchOperationKind {
2131	return []PropertyBatchOperationKind{PropertyBatchOperationKindCheckExists, PropertyBatchOperationKindCheckSequence, PropertyBatchOperationKindCheckValue, PropertyBatchOperationKindDelete, PropertyBatchOperationKindGet, PropertyBatchOperationKindInvalid, PropertyBatchOperationKindPut}
2132}
2133
2134// PropertyValueKind enumerates the values for property value kind.
2135type PropertyValueKind string
2136
2137const (
2138	// PropertyValueKindBinary The data inside the property is a binary blob. The value is 1.
2139	PropertyValueKindBinary PropertyValueKind = "Binary"
2140	// PropertyValueKindDouble The data inside the property is a double. The value is 3.
2141	PropertyValueKindDouble PropertyValueKind = "Double"
2142	// PropertyValueKindGUID The data inside the property is a guid. The value is 5.
2143	PropertyValueKindGUID PropertyValueKind = "Guid"
2144	// PropertyValueKindInt64 The data inside the property is an int64. The value is 2.
2145	PropertyValueKindInt64 PropertyValueKind = "Int64"
2146	// PropertyValueKindInvalid Indicates the property is invalid. All Service Fabric enumerations have the
2147	// invalid type. The value is zero.
2148	PropertyValueKindInvalid PropertyValueKind = "Invalid"
2149	// PropertyValueKindString The data inside the property is a string. The value is 4.
2150	PropertyValueKindString PropertyValueKind = "String"
2151)
2152
2153// PossiblePropertyValueKindValues returns an array of possible values for the PropertyValueKind const type.
2154func PossiblePropertyValueKindValues() []PropertyValueKind {
2155	return []PropertyValueKind{PropertyValueKindBinary, PropertyValueKindDouble, PropertyValueKindGUID, PropertyValueKindInt64, PropertyValueKindInvalid, PropertyValueKindString}
2156}
2157
2158// ProvisionApplicationTypeKind enumerates the values for provision application type kind.
2159type ProvisionApplicationTypeKind string
2160
2161const (
2162	// ProvisionApplicationTypeKindExternalStore Indicates that the provision is for an application package
2163	// that was previously uploaded to an external store. The application package ends with the extension
2164	// *.sfpkg. The value is 2.
2165	ProvisionApplicationTypeKindExternalStore ProvisionApplicationTypeKind = "ExternalStore"
2166	// ProvisionApplicationTypeKindImageStorePath Indicates that the provision is for a package that was
2167	// previously uploaded to the image store. The value is 1.
2168	ProvisionApplicationTypeKindImageStorePath ProvisionApplicationTypeKind = "ImageStorePath"
2169	// ProvisionApplicationTypeKindInvalid Indicates that the provision kind is invalid. This value is default
2170	// and should not be used. The value is zero.
2171	ProvisionApplicationTypeKindInvalid ProvisionApplicationTypeKind = "Invalid"
2172)
2173
2174// PossibleProvisionApplicationTypeKindValues returns an array of possible values for the ProvisionApplicationTypeKind const type.
2175func PossibleProvisionApplicationTypeKindValues() []ProvisionApplicationTypeKind {
2176	return []ProvisionApplicationTypeKind{ProvisionApplicationTypeKindExternalStore, ProvisionApplicationTypeKindImageStorePath, ProvisionApplicationTypeKindInvalid}
2177}
2178
2179// QuorumLossMode enumerates the values for quorum loss mode.
2180type QuorumLossMode string
2181
2182const (
2183	// QuorumLossModeAllReplicas ...
2184	QuorumLossModeAllReplicas QuorumLossMode = "AllReplicas"
2185	// QuorumLossModeInvalid Reserved.  Do not pass into API.
2186	QuorumLossModeInvalid QuorumLossMode = "Invalid"
2187	// QuorumLossModeQuorumReplicas Partial Quorum loss mode : Minimum number of replicas for a partition will
2188	// be down that will cause a quorum loss.
2189	QuorumLossModeQuorumReplicas QuorumLossMode = "QuorumReplicas"
2190)
2191
2192// PossibleQuorumLossModeValues returns an array of possible values for the QuorumLossMode const type.
2193func PossibleQuorumLossModeValues() []QuorumLossMode {
2194	return []QuorumLossMode{QuorumLossModeAllReplicas, QuorumLossModeInvalid, QuorumLossModeQuorumReplicas}
2195}
2196
2197// ReconfigurationPhase enumerates the values for reconfiguration phase.
2198type ReconfigurationPhase string
2199
2200const (
2201	// ReconfigurationPhaseAbortPhaseZero This phase is for internal use only.
2202	ReconfigurationPhaseAbortPhaseZero ReconfigurationPhase = "AbortPhaseZero"
2203	// ReconfigurationPhaseNone Specifies that there is no reconfiguration in progress.
2204	ReconfigurationPhaseNone ReconfigurationPhase = "None"
2205	// ReconfigurationPhasePhase0 Refers to the phase where the reconfiguration is transferring data from the
2206	// previous primary to the new primary.
2207	ReconfigurationPhasePhase0 ReconfigurationPhase = "Phase0"
2208	// ReconfigurationPhasePhase1 Refers to the phase where the reconfiguration is querying the replica set for
2209	// the progress.
2210	ReconfigurationPhasePhase1 ReconfigurationPhase = "Phase1"
2211	// ReconfigurationPhasePhase2 Refers to the phase where the reconfiguration is ensuring that data from the
2212	// current primary is present in a majority of the replica set.
2213	ReconfigurationPhasePhase2 ReconfigurationPhase = "Phase2"
2214	// ReconfigurationPhasePhase3 This phase is for internal use only.
2215	ReconfigurationPhasePhase3 ReconfigurationPhase = "Phase3"
2216	// ReconfigurationPhasePhase4 This phase is for internal use only.
2217	ReconfigurationPhasePhase4 ReconfigurationPhase = "Phase4"
2218	// ReconfigurationPhaseUnknown Indicates the invalid reconfiguration phase.
2219	ReconfigurationPhaseUnknown ReconfigurationPhase = "Unknown"
2220)
2221
2222// PossibleReconfigurationPhaseValues returns an array of possible values for the ReconfigurationPhase const type.
2223func PossibleReconfigurationPhaseValues() []ReconfigurationPhase {
2224	return []ReconfigurationPhase{ReconfigurationPhaseAbortPhaseZero, ReconfigurationPhaseNone, ReconfigurationPhasePhase0, ReconfigurationPhasePhase1, ReconfigurationPhasePhase2, ReconfigurationPhasePhase3, ReconfigurationPhasePhase4, ReconfigurationPhaseUnknown}
2225}
2226
2227// ReconfigurationType enumerates the values for reconfiguration type.
2228type ReconfigurationType string
2229
2230const (
2231	// ReconfigurationTypeFailover Reconfiguration triggered in response to a primary going down. This could be
2232	// due to many reasons such as primary replica crashing etc.
2233	ReconfigurationTypeFailover ReconfigurationType = "Failover"
2234	// ReconfigurationTypeOther Reconfigurations where the primary replica is not changing.
2235	ReconfigurationTypeOther ReconfigurationType = "Other"
2236	// ReconfigurationTypeSwapPrimary Specifies that the primary replica is being swapped with a different
2237	// replica.
2238	ReconfigurationTypeSwapPrimary ReconfigurationType = "SwapPrimary"
2239	// ReconfigurationTypeUnknown Indicates the invalid reconfiguration type.
2240	ReconfigurationTypeUnknown ReconfigurationType = "Unknown"
2241)
2242
2243// PossibleReconfigurationTypeValues returns an array of possible values for the ReconfigurationType const type.
2244func PossibleReconfigurationTypeValues() []ReconfigurationType {
2245	return []ReconfigurationType{ReconfigurationTypeFailover, ReconfigurationTypeOther, ReconfigurationTypeSwapPrimary, ReconfigurationTypeUnknown}
2246}
2247
2248// RepairImpactKind enumerates the values for repair impact kind.
2249type RepairImpactKind string
2250
2251const (
2252	// RepairImpactKindInvalid The repair impact is not valid or is of an unknown type.
2253	RepairImpactKindInvalid RepairImpactKind = "Invalid"
2254	// RepairImpactKindNode The repair impact affects a set of Service Fabric nodes.
2255	RepairImpactKindNode RepairImpactKind = "Node"
2256)
2257
2258// PossibleRepairImpactKindValues returns an array of possible values for the RepairImpactKind const type.
2259func PossibleRepairImpactKindValues() []RepairImpactKind {
2260	return []RepairImpactKind{RepairImpactKindInvalid, RepairImpactKindNode}
2261}
2262
2263// RepairTargetKind enumerates the values for repair target kind.
2264type RepairTargetKind string
2265
2266const (
2267	// RepairTargetKindInvalid The repair target is not valid or is of an unknown type.
2268	RepairTargetKindInvalid RepairTargetKind = "Invalid"
2269	// RepairTargetKindNode The repair target is a set of Service Fabric nodes.
2270	RepairTargetKindNode RepairTargetKind = "Node"
2271)
2272
2273// PossibleRepairTargetKindValues returns an array of possible values for the RepairTargetKind const type.
2274func PossibleRepairTargetKindValues() []RepairTargetKind {
2275	return []RepairTargetKind{RepairTargetKindInvalid, RepairTargetKindNode}
2276}
2277
2278// RepairTaskHealthCheckState enumerates the values for repair task health check state.
2279type RepairTaskHealthCheckState string
2280
2281const (
2282	// InProgress Indicates that the health check is in progress.
2283	InProgress RepairTaskHealthCheckState = "InProgress"
2284	// NotStarted Indicates that the health check has not started.
2285	NotStarted RepairTaskHealthCheckState = "NotStarted"
2286	// Skipped Indicates that the health check was skipped.
2287	Skipped RepairTaskHealthCheckState = "Skipped"
2288	// Succeeded Indicates that the health check succeeded.
2289	Succeeded RepairTaskHealthCheckState = "Succeeded"
2290	// TimedOut Indicates that the health check timed out.
2291	TimedOut RepairTaskHealthCheckState = "TimedOut"
2292)
2293
2294// PossibleRepairTaskHealthCheckStateValues returns an array of possible values for the RepairTaskHealthCheckState const type.
2295func PossibleRepairTaskHealthCheckStateValues() []RepairTaskHealthCheckState {
2296	return []RepairTaskHealthCheckState{InProgress, NotStarted, Skipped, Succeeded, TimedOut}
2297}
2298
2299// ReplicaHealthReportServiceKind enumerates the values for replica health report service kind.
2300type ReplicaHealthReportServiceKind string
2301
2302const (
2303	// Stateful Uses Service Fabric to make its state or part of its state highly available and reliable. The
2304	// value is 2.
2305	Stateful ReplicaHealthReportServiceKind = "Stateful"
2306	// Stateless Does not use Service Fabric to make its state highly available or reliable. The value is 1
2307	Stateless ReplicaHealthReportServiceKind = "Stateless"
2308)
2309
2310// PossibleReplicaHealthReportServiceKindValues returns an array of possible values for the ReplicaHealthReportServiceKind const type.
2311func PossibleReplicaHealthReportServiceKindValues() []ReplicaHealthReportServiceKind {
2312	return []ReplicaHealthReportServiceKind{Stateful, Stateless}
2313}
2314
2315// ReplicaKind enumerates the values for replica kind.
2316type ReplicaKind string
2317
2318const (
2319	// ReplicaKindInvalid Represents an invalid replica kind. The value is zero.
2320	ReplicaKindInvalid ReplicaKind = "Invalid"
2321	// ReplicaKindKeyValueStore Represents a key value store replica. The value is 1
2322	ReplicaKindKeyValueStore ReplicaKind = "KeyValueStore"
2323)
2324
2325// PossibleReplicaKindValues returns an array of possible values for the ReplicaKind const type.
2326func PossibleReplicaKindValues() []ReplicaKind {
2327	return []ReplicaKind{ReplicaKindInvalid, ReplicaKindKeyValueStore}
2328}
2329
2330// ReplicaRole enumerates the values for replica role.
2331type ReplicaRole string
2332
2333const (
2334	// ReplicaRoleActiveSecondary Refers to a replica in the set that receives state updates from the Primary
2335	// replica, applies them, and sends acknowledgements back. Secondary replicas must participate in the write
2336	// quorum for a replica set. There can be multiple active Secondary replicas in a replica set at a time.
2337	// The number of active Secondary replicas is configurable that the reliability subsystem should maintain.
2338	// The value is 4.
2339	ReplicaRoleActiveSecondary ReplicaRole = "ActiveSecondary"
2340	// ReplicaRoleIdleSecondary Refers to a replica in the set that receives a state transfer from the Primary
2341	// replica to prepare for becoming an active Secondary replica. There can be multiple Idle Secondary
2342	// replicas in a replica set at a time. Idle Secondary replicas do not count as a part of a write quorum.
2343	// The value is 3.
2344	ReplicaRoleIdleSecondary ReplicaRole = "IdleSecondary"
2345	// ReplicaRoleNone Specifies that the replica has no responsibility in regard to the replica set. The value
2346	// is 1
2347	ReplicaRoleNone ReplicaRole = "None"
2348	// ReplicaRolePrimary Refers to the replica in the set on which all read and write operations are complete
2349	// in order to enforce strong consistency semantics. Read operations are handled directly by the Primary
2350	// replica, while write operations must be acknowledged by a quorum of the replicas in the replica set.
2351	// There can only be one Primary replica in a replica set at a time. The value is 2.
2352	ReplicaRolePrimary ReplicaRole = "Primary"
2353	// ReplicaRoleUnknown Indicates the initial role that a replica is created in. The value is zero.
2354	ReplicaRoleUnknown ReplicaRole = "Unknown"
2355)
2356
2357// PossibleReplicaRoleValues returns an array of possible values for the ReplicaRole const type.
2358func PossibleReplicaRoleValues() []ReplicaRole {
2359	return []ReplicaRole{ReplicaRoleActiveSecondary, ReplicaRoleIdleSecondary, ReplicaRoleNone, ReplicaRolePrimary, ReplicaRoleUnknown}
2360}
2361
2362// ReplicaStatus enumerates the values for replica status.
2363type ReplicaStatus string
2364
2365const (
2366	// ReplicaStatusDown The replica is down. The value is 4.
2367	ReplicaStatusDown ReplicaStatus = "Down"
2368	// ReplicaStatusDropped Replica is dropped. This means that the replica has been removed from the replica
2369	// set. If it is persisted, its state has been deleted. The value is 5.
2370	ReplicaStatusDropped ReplicaStatus = "Dropped"
2371	// ReplicaStatusInBuild The replica is being built. This means that a primary replica is seeding this
2372	// replica. The value is 1.
2373	ReplicaStatusInBuild ReplicaStatus = "InBuild"
2374	// ReplicaStatusInvalid Indicates the replica status is invalid. All Service Fabric enumerations have the
2375	// invalid type. The value is zero.
2376	ReplicaStatusInvalid ReplicaStatus = "Invalid"
2377	// ReplicaStatusReady The replica is ready. The value is 3.
2378	ReplicaStatusReady ReplicaStatus = "Ready"
2379	// ReplicaStatusStandby The replica is in standby. The value is 2.
2380	ReplicaStatusStandby ReplicaStatus = "Standby"
2381)
2382
2383// PossibleReplicaStatusValues returns an array of possible values for the ReplicaStatus const type.
2384func PossibleReplicaStatusValues() []ReplicaStatus {
2385	return []ReplicaStatus{ReplicaStatusDown, ReplicaStatusDropped, ReplicaStatusInBuild, ReplicaStatusInvalid, ReplicaStatusReady, ReplicaStatusStandby}
2386}
2387
2388// ReplicatorOperationName enumerates the values for replicator operation name.
2389type ReplicatorOperationName string
2390
2391const (
2392	// ReplicatorOperationNameAbort Replicator is being aborted.
2393	ReplicatorOperationNameAbort ReplicatorOperationName = "Abort"
2394	// ReplicatorOperationNameBuild Replicator is in the process of building one or more replicas.
2395	ReplicatorOperationNameBuild ReplicatorOperationName = "Build"
2396	// ReplicatorOperationNameChangeRole Replicator is in the process of changing its role.
2397	ReplicatorOperationNameChangeRole ReplicatorOperationName = "ChangeRole"
2398	// ReplicatorOperationNameClose Replicator is closing.
2399	ReplicatorOperationNameClose ReplicatorOperationName = "Close"
2400	// ReplicatorOperationNameInvalid Default value if the replicator is not yet ready.
2401	ReplicatorOperationNameInvalid ReplicatorOperationName = "Invalid"
2402	// ReplicatorOperationNameNone Replicator is not running any operation from Service Fabric perspective.
2403	ReplicatorOperationNameNone ReplicatorOperationName = "None"
2404	// ReplicatorOperationNameOnDataLoss Replicator is handling the data loss condition, where the user service
2405	// may potentially be recovering state from an external source.
2406	ReplicatorOperationNameOnDataLoss ReplicatorOperationName = "OnDataLoss"
2407	// ReplicatorOperationNameOpen Replicator is opening.
2408	ReplicatorOperationNameOpen ReplicatorOperationName = "Open"
2409	// ReplicatorOperationNameUpdateEpoch Due to a change in the replica set, replicator is being updated with
2410	// its Epoch.
2411	ReplicatorOperationNameUpdateEpoch ReplicatorOperationName = "UpdateEpoch"
2412	// ReplicatorOperationNameWaitForCatchup Replicator is waiting for a quorum of replicas to be caught up to
2413	// the latest state.
2414	ReplicatorOperationNameWaitForCatchup ReplicatorOperationName = "WaitForCatchup"
2415)
2416
2417// PossibleReplicatorOperationNameValues returns an array of possible values for the ReplicatorOperationName const type.
2418func PossibleReplicatorOperationNameValues() []ReplicatorOperationName {
2419	return []ReplicatorOperationName{ReplicatorOperationNameAbort, ReplicatorOperationNameBuild, ReplicatorOperationNameChangeRole, ReplicatorOperationNameClose, ReplicatorOperationNameInvalid, ReplicatorOperationNameNone, ReplicatorOperationNameOnDataLoss, ReplicatorOperationNameOpen, ReplicatorOperationNameUpdateEpoch, ReplicatorOperationNameWaitForCatchup}
2420}
2421
2422// RestartPartitionMode enumerates the values for restart partition mode.
2423type RestartPartitionMode string
2424
2425const (
2426	// RestartPartitionModeAllReplicasOrInstances All replicas or instances in the partition are restarted at
2427	// once.
2428	RestartPartitionModeAllReplicasOrInstances RestartPartitionMode = "AllReplicasOrInstances"
2429	// RestartPartitionModeInvalid Reserved.  Do not pass into API.
2430	RestartPartitionModeInvalid RestartPartitionMode = "Invalid"
2431	// RestartPartitionModeOnlyActiveSecondaries Only the secondary replicas are restarted.
2432	RestartPartitionModeOnlyActiveSecondaries RestartPartitionMode = "OnlyActiveSecondaries"
2433)
2434
2435// PossibleRestartPartitionModeValues returns an array of possible values for the RestartPartitionMode const type.
2436func PossibleRestartPartitionModeValues() []RestartPartitionMode {
2437	return []RestartPartitionMode{RestartPartitionModeAllReplicasOrInstances, RestartPartitionModeInvalid, RestartPartitionModeOnlyActiveSecondaries}
2438}
2439
2440// RestoreState enumerates the values for restore state.
2441type RestoreState string
2442
2443const (
2444	// RestoreStateAccepted Operation has been validated and accepted. Restore is yet to be triggered.
2445	RestoreStateAccepted RestoreState = "Accepted"
2446	// RestoreStateFailure Operation completed with failure.
2447	RestoreStateFailure RestoreState = "Failure"
2448	// RestoreStateInvalid Indicates an invalid restore state. All Service Fabric enumerations have the invalid
2449	// type.
2450	RestoreStateInvalid RestoreState = "Invalid"
2451	// RestoreStateRestoreInProgress Restore operation has been triggered and is under process.
2452	RestoreStateRestoreInProgress RestoreState = "RestoreInProgress"
2453	// RestoreStateSuccess Operation completed with success.
2454	RestoreStateSuccess RestoreState = "Success"
2455	// RestoreStateTimeout Operation timed out.
2456	RestoreStateTimeout RestoreState = "Timeout"
2457)
2458
2459// PossibleRestoreStateValues returns an array of possible values for the RestoreState const type.
2460func PossibleRestoreStateValues() []RestoreState {
2461	return []RestoreState{RestoreStateAccepted, RestoreStateFailure, RestoreStateInvalid, RestoreStateRestoreInProgress, RestoreStateSuccess, RestoreStateTimeout}
2462}
2463
2464// ResultStatus enumerates the values for result status.
2465type ResultStatus string
2466
2467const (
2468	// ResultStatusCancelled Indicates that the repair task was cancelled prior to execution.
2469	ResultStatusCancelled ResultStatus = "Cancelled"
2470	// ResultStatusFailed Indicates that there was a failure during execution of the repair task. Some work may
2471	// have been performed.
2472	ResultStatusFailed ResultStatus = "Failed"
2473	// ResultStatusInterrupted Indicates that execution of the repair task was interrupted by a cancellation
2474	// request after some work had already been performed.
2475	ResultStatusInterrupted ResultStatus = "Interrupted"
2476	// ResultStatusInvalid Indicates that the repair task result is invalid. All Service Fabric enumerations
2477	// have the invalid value.
2478	ResultStatusInvalid ResultStatus = "Invalid"
2479	// ResultStatusPending Indicates that the repair task result is not yet available, because the repair task
2480	// has not finished executing.
2481	ResultStatusPending ResultStatus = "Pending"
2482	// ResultStatusSucceeded Indicates that the repair task completed execution successfully.
2483	ResultStatusSucceeded ResultStatus = "Succeeded"
2484)
2485
2486// PossibleResultStatusValues returns an array of possible values for the ResultStatus const type.
2487func PossibleResultStatusValues() []ResultStatus {
2488	return []ResultStatus{ResultStatusCancelled, ResultStatusFailed, ResultStatusInterrupted, ResultStatusInvalid, ResultStatusPending, ResultStatusSucceeded}
2489}
2490
2491// SafetyCheckKind enumerates the values for safety check kind.
2492type SafetyCheckKind string
2493
2494const (
2495	// SafetyCheckKindEnsureAvailability Indicates that there is either a stateless service partition on the
2496	// node having exactly one instance, or there is a primary replica on the node for which the partition is
2497	// quorum loss. In both cases, bringing down the replicas due to upgrade will result in loss of
2498	// availability. The value is 7.
2499	SafetyCheckKindEnsureAvailability SafetyCheckKind = "EnsureAvailability"
2500	// SafetyCheckKindEnsurePartitionQuorum Indicates that there is some partition for which if we bring down
2501	// the replica on the node, it will result in quorum loss for that partition. The value is 2.
2502	SafetyCheckKindEnsurePartitionQuorum SafetyCheckKind = "EnsurePartitionQuorum"
2503	// SafetyCheckKindEnsureSeedNodeQuorum Indicates that if we bring down the node then this will result in
2504	// global seed node quorum loss. The value is 1.
2505	SafetyCheckKindEnsureSeedNodeQuorum SafetyCheckKind = "EnsureSeedNodeQuorum"
2506	// SafetyCheckKindInvalid Indicates that the upgrade safety check kind is invalid. All Service Fabric
2507	// enumerations have the invalid type. The value is zero.
2508	SafetyCheckKindInvalid SafetyCheckKind = "Invalid"
2509	// SafetyCheckKindWaitForInbuildReplica Indicates that there is either a replica on the node that is going
2510	// through copy, or there is a primary replica on the node that is copying data to some other replica. In
2511	// both cases, bringing down the replica on the node due to upgrade will abort the copy. The value is 6.
2512	SafetyCheckKindWaitForInbuildReplica SafetyCheckKind = "WaitForInbuildReplica"
2513	// SafetyCheckKindWaitForPrimaryPlacement Indicates that there is some replica on the node that was moved
2514	// out of this node due to upgrade. Service Fabric is now waiting for the primary to be moved back to this
2515	// node. The value is 3.
2516	SafetyCheckKindWaitForPrimaryPlacement SafetyCheckKind = "WaitForPrimaryPlacement"
2517	// SafetyCheckKindWaitForPrimarySwap Indicates that Service Fabric is waiting for a primary replica to be
2518	// moved out of the node before starting upgrade on that node. The value is 4.
2519	SafetyCheckKindWaitForPrimarySwap SafetyCheckKind = "WaitForPrimarySwap"
2520	// SafetyCheckKindWaitForReconfiguration Indicates that there is some replica on the node that is involved
2521	// in a reconfiguration. Service Fabric is waiting for the reconfiguration to be complete before staring
2522	// upgrade on that node. The value is 5.
2523	SafetyCheckKindWaitForReconfiguration SafetyCheckKind = "WaitForReconfiguration"
2524)
2525
2526// PossibleSafetyCheckKindValues returns an array of possible values for the SafetyCheckKind const type.
2527func PossibleSafetyCheckKindValues() []SafetyCheckKind {
2528	return []SafetyCheckKind{SafetyCheckKindEnsureAvailability, SafetyCheckKindEnsurePartitionQuorum, SafetyCheckKindEnsureSeedNodeQuorum, SafetyCheckKindInvalid, SafetyCheckKindWaitForInbuildReplica, SafetyCheckKindWaitForPrimaryPlacement, SafetyCheckKindWaitForPrimarySwap, SafetyCheckKindWaitForReconfiguration}
2529}
2530
2531// ScalingMechanismKind enumerates the values for scaling mechanism kind.
2532type ScalingMechanismKind string
2533
2534const (
2535	// ScalingMechanismKindAddRemoveIncrementalNamedPartition Indicates a mechanism for scaling where new named
2536	// partitions are added or removed from a service. The value is 2.
2537	ScalingMechanismKindAddRemoveIncrementalNamedPartition ScalingMechanismKind = "AddRemoveIncrementalNamedPartition"
2538	// ScalingMechanismKindInvalid Indicates the scaling mechanism is invalid. All Service Fabric enumerations
2539	// have the invalid type. The value is zero.
2540	ScalingMechanismKindInvalid ScalingMechanismKind = "Invalid"
2541	// ScalingMechanismKindPartitionInstanceCount Indicates a mechanism for scaling where new instances are
2542	// added or removed from a partition. The value is 1.
2543	ScalingMechanismKindPartitionInstanceCount ScalingMechanismKind = "PartitionInstanceCount"
2544)
2545
2546// PossibleScalingMechanismKindValues returns an array of possible values for the ScalingMechanismKind const type.
2547func PossibleScalingMechanismKindValues() []ScalingMechanismKind {
2548	return []ScalingMechanismKind{ScalingMechanismKindAddRemoveIncrementalNamedPartition, ScalingMechanismKindInvalid, ScalingMechanismKindPartitionInstanceCount}
2549}
2550
2551// ScalingTriggerKind enumerates the values for scaling trigger kind.
2552type ScalingTriggerKind string
2553
2554const (
2555	// ScalingTriggerKindAveragePartitionLoad Indicates a trigger where scaling decisions are made based on
2556	// average load of a partition. The value is 1.
2557	ScalingTriggerKindAveragePartitionLoad ScalingTriggerKind = "AveragePartitionLoad"
2558	// ScalingTriggerKindAverageServiceLoad Indicates a trigger where scaling decisions are made based on
2559	// average load of a service. The value is 2.
2560	ScalingTriggerKindAverageServiceLoad ScalingTriggerKind = "AverageServiceLoad"
2561	// ScalingTriggerKindInvalid Indicates the scaling trigger is invalid. All Service Fabric enumerations have
2562	// the invalid type. The value is zero.
2563	ScalingTriggerKindInvalid ScalingTriggerKind = "Invalid"
2564)
2565
2566// PossibleScalingTriggerKindValues returns an array of possible values for the ScalingTriggerKind const type.
2567func PossibleScalingTriggerKindValues() []ScalingTriggerKind {
2568	return []ScalingTriggerKind{ScalingTriggerKindAveragePartitionLoad, ScalingTriggerKindAverageServiceLoad, ScalingTriggerKindInvalid}
2569}
2570
2571// ScheduleKind enumerates the values for schedule kind.
2572type ScheduleKind string
2573
2574const (
2575	// ScheduleKindBackupScheduleDescription ...
2576	ScheduleKindBackupScheduleDescription ScheduleKind = "BackupScheduleDescription"
2577	// ScheduleKindFrequencyBased ...
2578	ScheduleKindFrequencyBased ScheduleKind = "FrequencyBased"
2579	// ScheduleKindTimeBased ...
2580	ScheduleKindTimeBased ScheduleKind = "TimeBased"
2581)
2582
2583// PossibleScheduleKindValues returns an array of possible values for the ScheduleKind const type.
2584func PossibleScheduleKindValues() []ScheduleKind {
2585	return []ScheduleKind{ScheduleKindBackupScheduleDescription, ScheduleKindFrequencyBased, ScheduleKindTimeBased}
2586}
2587
2588// ServiceCorrelationScheme enumerates the values for service correlation scheme.
2589type ServiceCorrelationScheme string
2590
2591const (
2592	// ServiceCorrelationSchemeAffinity Indicates that this service has an affinity relationship with another
2593	// service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity
2594	// options. The value is 1.
2595	ServiceCorrelationSchemeAffinity ServiceCorrelationScheme = "Affinity"
2596	// ServiceCorrelationSchemeAlignedAffinity Aligned affinity ensures that the primaries of the partitions of
2597	// the affinitized services are collocated on the same nodes. This is the default and is the same as
2598	// selecting the Affinity scheme. The value is 2.
2599	ServiceCorrelationSchemeAlignedAffinity ServiceCorrelationScheme = "AlignedAffinity"
2600	// ServiceCorrelationSchemeInvalid An invalid correlation scheme. Cannot be used. The value is zero.
2601	ServiceCorrelationSchemeInvalid ServiceCorrelationScheme = "Invalid"
2602	// ServiceCorrelationSchemeNonAlignedAffinity Non-Aligned affinity guarantees that all replicas of each
2603	// service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas
2604	// of particular role will be collocated. The value is 3.
2605	ServiceCorrelationSchemeNonAlignedAffinity ServiceCorrelationScheme = "NonAlignedAffinity"
2606)
2607
2608// PossibleServiceCorrelationSchemeValues returns an array of possible values for the ServiceCorrelationScheme const type.
2609func PossibleServiceCorrelationSchemeValues() []ServiceCorrelationScheme {
2610	return []ServiceCorrelationScheme{ServiceCorrelationSchemeAffinity, ServiceCorrelationSchemeAlignedAffinity, ServiceCorrelationSchemeInvalid, ServiceCorrelationSchemeNonAlignedAffinity}
2611}
2612
2613// ServiceEndpointRole enumerates the values for service endpoint role.
2614type ServiceEndpointRole string
2615
2616const (
2617	// ServiceEndpointRoleInvalid Indicates the service endpoint role is invalid. All Service Fabric
2618	// enumerations have the invalid type. The value is zero.
2619	ServiceEndpointRoleInvalid ServiceEndpointRole = "Invalid"
2620	// ServiceEndpointRoleStatefulPrimary Indicates that the service endpoint is of a primary replica of a
2621	// stateful service. The value is 2.
2622	ServiceEndpointRoleStatefulPrimary ServiceEndpointRole = "StatefulPrimary"
2623	// ServiceEndpointRoleStatefulSecondary Indicates that the service endpoint is of a secondary replica of a
2624	// stateful service. The value is 3.
2625	ServiceEndpointRoleStatefulSecondary ServiceEndpointRole = "StatefulSecondary"
2626	// ServiceEndpointRoleStateless Indicates that the service endpoint is of a stateless service. The value is
2627	// 1.
2628	ServiceEndpointRoleStateless ServiceEndpointRole = "Stateless"
2629)
2630
2631// PossibleServiceEndpointRoleValues returns an array of possible values for the ServiceEndpointRole const type.
2632func PossibleServiceEndpointRoleValues() []ServiceEndpointRole {
2633	return []ServiceEndpointRole{ServiceEndpointRoleInvalid, ServiceEndpointRoleStatefulPrimary, ServiceEndpointRoleStatefulSecondary, ServiceEndpointRoleStateless}
2634}
2635
2636// ServiceKind enumerates the values for service kind.
2637type ServiceKind string
2638
2639const (
2640	// ServiceKindInvalid Indicates the service kind is invalid. All Service Fabric enumerations have the
2641	// invalid type. The value is zero.
2642	ServiceKindInvalid ServiceKind = "Invalid"
2643	// ServiceKindStateful Uses Service Fabric to make its state or part of its state highly available and
2644	// reliable. The value is 2.
2645	ServiceKindStateful ServiceKind = "Stateful"
2646	// ServiceKindStateless Does not use Service Fabric to make its state highly available or reliable. The
2647	// value is 1.
2648	ServiceKindStateless ServiceKind = "Stateless"
2649)
2650
2651// PossibleServiceKindValues returns an array of possible values for the ServiceKind const type.
2652func PossibleServiceKindValues() []ServiceKind {
2653	return []ServiceKind{ServiceKindInvalid, ServiceKindStateful, ServiceKindStateless}
2654}
2655
2656// ServiceKindBasicDeployedServiceReplicaDetailInfo enumerates the values for service kind basic deployed
2657// service replica detail info.
2658type ServiceKindBasicDeployedServiceReplicaDetailInfo string
2659
2660const (
2661	// ServiceKindDeployedServiceReplicaDetailInfo ...
2662	ServiceKindDeployedServiceReplicaDetailInfo ServiceKindBasicDeployedServiceReplicaDetailInfo = "DeployedServiceReplicaDetailInfo"
2663	// ServiceKindStateful1 ...
2664	ServiceKindStateful1 ServiceKindBasicDeployedServiceReplicaDetailInfo = "Stateful"
2665	// ServiceKindStateless1 ...
2666	ServiceKindStateless1 ServiceKindBasicDeployedServiceReplicaDetailInfo = "Stateless"
2667)
2668
2669// PossibleServiceKindBasicDeployedServiceReplicaDetailInfoValues returns an array of possible values for the ServiceKindBasicDeployedServiceReplicaDetailInfo const type.
2670func PossibleServiceKindBasicDeployedServiceReplicaDetailInfoValues() []ServiceKindBasicDeployedServiceReplicaDetailInfo {
2671	return []ServiceKindBasicDeployedServiceReplicaDetailInfo{ServiceKindDeployedServiceReplicaDetailInfo, ServiceKindStateful1, ServiceKindStateless1}
2672}
2673
2674// ServiceKindBasicDeployedServiceReplicaInfo enumerates the values for service kind basic deployed service
2675// replica info.
2676type ServiceKindBasicDeployedServiceReplicaInfo string
2677
2678const (
2679	// ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo ...
2680	ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo ServiceKindBasicDeployedServiceReplicaInfo = "DeployedServiceReplicaInfo"
2681	// ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful ...
2682	ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful ServiceKindBasicDeployedServiceReplicaInfo = "Stateful"
2683	// ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless ...
2684	ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless ServiceKindBasicDeployedServiceReplicaInfo = "Stateless"
2685)
2686
2687// PossibleServiceKindBasicDeployedServiceReplicaInfoValues returns an array of possible values for the ServiceKindBasicDeployedServiceReplicaInfo const type.
2688func PossibleServiceKindBasicDeployedServiceReplicaInfoValues() []ServiceKindBasicDeployedServiceReplicaInfo {
2689	return []ServiceKindBasicDeployedServiceReplicaInfo{ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo, ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful, ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless}
2690}
2691
2692// ServiceKindBasicReplicaHealth enumerates the values for service kind basic replica health.
2693type ServiceKindBasicReplicaHealth string
2694
2695const (
2696	// ServiceKindBasicReplicaHealthServiceKindReplicaHealth ...
2697	ServiceKindBasicReplicaHealthServiceKindReplicaHealth ServiceKindBasicReplicaHealth = "ReplicaHealth"
2698	// ServiceKindBasicReplicaHealthServiceKindStateful ...
2699	ServiceKindBasicReplicaHealthServiceKindStateful ServiceKindBasicReplicaHealth = "Stateful"
2700	// ServiceKindBasicReplicaHealthServiceKindStateless ...
2701	ServiceKindBasicReplicaHealthServiceKindStateless ServiceKindBasicReplicaHealth = "Stateless"
2702)
2703
2704// PossibleServiceKindBasicReplicaHealthValues returns an array of possible values for the ServiceKindBasicReplicaHealth const type.
2705func PossibleServiceKindBasicReplicaHealthValues() []ServiceKindBasicReplicaHealth {
2706	return []ServiceKindBasicReplicaHealth{ServiceKindBasicReplicaHealthServiceKindReplicaHealth, ServiceKindBasicReplicaHealthServiceKindStateful, ServiceKindBasicReplicaHealthServiceKindStateless}
2707}
2708
2709// ServiceKindBasicReplicaHealthState enumerates the values for service kind basic replica health state.
2710type ServiceKindBasicReplicaHealthState string
2711
2712const (
2713	// ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState ...
2714	ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState ServiceKindBasicReplicaHealthState = "ReplicaHealthState"
2715	// ServiceKindBasicReplicaHealthStateServiceKindStateful ...
2716	ServiceKindBasicReplicaHealthStateServiceKindStateful ServiceKindBasicReplicaHealthState = "Stateful"
2717	// ServiceKindBasicReplicaHealthStateServiceKindStateless ...
2718	ServiceKindBasicReplicaHealthStateServiceKindStateless ServiceKindBasicReplicaHealthState = "Stateless"
2719)
2720
2721// PossibleServiceKindBasicReplicaHealthStateValues returns an array of possible values for the ServiceKindBasicReplicaHealthState const type.
2722func PossibleServiceKindBasicReplicaHealthStateValues() []ServiceKindBasicReplicaHealthState {
2723	return []ServiceKindBasicReplicaHealthState{ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState, ServiceKindBasicReplicaHealthStateServiceKindStateful, ServiceKindBasicReplicaHealthStateServiceKindStateless}
2724}
2725
2726// ServiceKindBasicReplicaInfo enumerates the values for service kind basic replica info.
2727type ServiceKindBasicReplicaInfo string
2728
2729const (
2730	// ServiceKindBasicReplicaInfoServiceKindReplicaInfo ...
2731	ServiceKindBasicReplicaInfoServiceKindReplicaInfo ServiceKindBasicReplicaInfo = "ReplicaInfo"
2732	// ServiceKindBasicReplicaInfoServiceKindStateful ...
2733	ServiceKindBasicReplicaInfoServiceKindStateful ServiceKindBasicReplicaInfo = "Stateful"
2734	// ServiceKindBasicReplicaInfoServiceKindStateless ...
2735	ServiceKindBasicReplicaInfoServiceKindStateless ServiceKindBasicReplicaInfo = "Stateless"
2736)
2737
2738// PossibleServiceKindBasicReplicaInfoValues returns an array of possible values for the ServiceKindBasicReplicaInfo const type.
2739func PossibleServiceKindBasicReplicaInfoValues() []ServiceKindBasicReplicaInfo {
2740	return []ServiceKindBasicReplicaInfo{ServiceKindBasicReplicaInfoServiceKindReplicaInfo, ServiceKindBasicReplicaInfoServiceKindStateful, ServiceKindBasicReplicaInfoServiceKindStateless}
2741}
2742
2743// ServiceKindBasicServiceDescription enumerates the values for service kind basic service description.
2744type ServiceKindBasicServiceDescription string
2745
2746const (
2747	// ServiceKindBasicServiceDescriptionServiceKindServiceDescription ...
2748	ServiceKindBasicServiceDescriptionServiceKindServiceDescription ServiceKindBasicServiceDescription = "ServiceDescription"
2749	// ServiceKindBasicServiceDescriptionServiceKindStateful ...
2750	ServiceKindBasicServiceDescriptionServiceKindStateful ServiceKindBasicServiceDescription = "Stateful"
2751	// ServiceKindBasicServiceDescriptionServiceKindStateless ...
2752	ServiceKindBasicServiceDescriptionServiceKindStateless ServiceKindBasicServiceDescription = "Stateless"
2753)
2754
2755// PossibleServiceKindBasicServiceDescriptionValues returns an array of possible values for the ServiceKindBasicServiceDescription const type.
2756func PossibleServiceKindBasicServiceDescriptionValues() []ServiceKindBasicServiceDescription {
2757	return []ServiceKindBasicServiceDescription{ServiceKindBasicServiceDescriptionServiceKindServiceDescription, ServiceKindBasicServiceDescriptionServiceKindStateful, ServiceKindBasicServiceDescriptionServiceKindStateless}
2758}
2759
2760// ServiceKindBasicServiceInfo enumerates the values for service kind basic service info.
2761type ServiceKindBasicServiceInfo string
2762
2763const (
2764	// ServiceKindBasicServiceInfoServiceKindServiceInfo ...
2765	ServiceKindBasicServiceInfoServiceKindServiceInfo ServiceKindBasicServiceInfo = "ServiceInfo"
2766	// ServiceKindBasicServiceInfoServiceKindStateful ...
2767	ServiceKindBasicServiceInfoServiceKindStateful ServiceKindBasicServiceInfo = "Stateful"
2768	// ServiceKindBasicServiceInfoServiceKindStateless ...
2769	ServiceKindBasicServiceInfoServiceKindStateless ServiceKindBasicServiceInfo = "Stateless"
2770)
2771
2772// PossibleServiceKindBasicServiceInfoValues returns an array of possible values for the ServiceKindBasicServiceInfo const type.
2773func PossibleServiceKindBasicServiceInfoValues() []ServiceKindBasicServiceInfo {
2774	return []ServiceKindBasicServiceInfo{ServiceKindBasicServiceInfoServiceKindServiceInfo, ServiceKindBasicServiceInfoServiceKindStateful, ServiceKindBasicServiceInfoServiceKindStateless}
2775}
2776
2777// ServiceKindBasicServicePartitionInfo enumerates the values for service kind basic service partition info.
2778type ServiceKindBasicServicePartitionInfo string
2779
2780const (
2781	// ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo ...
2782	ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo ServiceKindBasicServicePartitionInfo = "ServicePartitionInfo"
2783	// ServiceKindBasicServicePartitionInfoServiceKindStateful ...
2784	ServiceKindBasicServicePartitionInfoServiceKindStateful ServiceKindBasicServicePartitionInfo = "Stateful"
2785	// ServiceKindBasicServicePartitionInfoServiceKindStateless ...
2786	ServiceKindBasicServicePartitionInfoServiceKindStateless ServiceKindBasicServicePartitionInfo = "Stateless"
2787)
2788
2789// PossibleServiceKindBasicServicePartitionInfoValues returns an array of possible values for the ServiceKindBasicServicePartitionInfo const type.
2790func PossibleServiceKindBasicServicePartitionInfoValues() []ServiceKindBasicServicePartitionInfo {
2791	return []ServiceKindBasicServicePartitionInfo{ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo, ServiceKindBasicServicePartitionInfoServiceKindStateful, ServiceKindBasicServicePartitionInfoServiceKindStateless}
2792}
2793
2794// ServiceKindBasicServiceUpdateDescription enumerates the values for service kind basic service update
2795// description.
2796type ServiceKindBasicServiceUpdateDescription string
2797
2798const (
2799	// ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription ...
2800	ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription ServiceKindBasicServiceUpdateDescription = "ServiceUpdateDescription"
2801	// ServiceKindBasicServiceUpdateDescriptionServiceKindStateful ...
2802	ServiceKindBasicServiceUpdateDescriptionServiceKindStateful ServiceKindBasicServiceUpdateDescription = "Stateful"
2803	// ServiceKindBasicServiceUpdateDescriptionServiceKindStateless ...
2804	ServiceKindBasicServiceUpdateDescriptionServiceKindStateless ServiceKindBasicServiceUpdateDescription = "Stateless"
2805)
2806
2807// PossibleServiceKindBasicServiceUpdateDescriptionValues returns an array of possible values for the ServiceKindBasicServiceUpdateDescription const type.
2808func PossibleServiceKindBasicServiceUpdateDescriptionValues() []ServiceKindBasicServiceUpdateDescription {
2809	return []ServiceKindBasicServiceUpdateDescription{ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription, ServiceKindBasicServiceUpdateDescriptionServiceKindStateful, ServiceKindBasicServiceUpdateDescriptionServiceKindStateless}
2810}
2811
2812// ServiceLoadMetricWeight enumerates the values for service load metric weight.
2813type ServiceLoadMetricWeight string
2814
2815const (
2816	// ServiceLoadMetricWeightHigh Specifies the metric weight of the service load as High. The value is 3.
2817	ServiceLoadMetricWeightHigh ServiceLoadMetricWeight = "High"
2818	// ServiceLoadMetricWeightLow Specifies the metric weight of the service load as Low. The value is 1.
2819	ServiceLoadMetricWeightLow ServiceLoadMetricWeight = "Low"
2820	// ServiceLoadMetricWeightMedium Specifies the metric weight of the service load as Medium. The value is 2.
2821	ServiceLoadMetricWeightMedium ServiceLoadMetricWeight = "Medium"
2822	// ServiceLoadMetricWeightZero Disables resource balancing for this metric. This value is zero.
2823	ServiceLoadMetricWeightZero ServiceLoadMetricWeight = "Zero"
2824)
2825
2826// PossibleServiceLoadMetricWeightValues returns an array of possible values for the ServiceLoadMetricWeight const type.
2827func PossibleServiceLoadMetricWeightValues() []ServiceLoadMetricWeight {
2828	return []ServiceLoadMetricWeight{ServiceLoadMetricWeightHigh, ServiceLoadMetricWeightLow, ServiceLoadMetricWeightMedium, ServiceLoadMetricWeightZero}
2829}
2830
2831// ServiceOperationName enumerates the values for service operation name.
2832type ServiceOperationName string
2833
2834const (
2835	// ServiceOperationNameAbort The service replica or instance is being aborted.
2836	ServiceOperationNameAbort ServiceOperationName = "Abort"
2837	// ServiceOperationNameChangeRole The service replica is changing roles.
2838	ServiceOperationNameChangeRole ServiceOperationName = "ChangeRole"
2839	// ServiceOperationNameClose The service replica or instance is being closed.
2840	ServiceOperationNameClose ServiceOperationName = "Close"
2841	// ServiceOperationNameNone The service replica or instance is not going through any life-cycle changes.
2842	ServiceOperationNameNone ServiceOperationName = "None"
2843	// ServiceOperationNameOpen The service replica or instance is being opened.
2844	ServiceOperationNameOpen ServiceOperationName = "Open"
2845	// ServiceOperationNameUnknown Reserved for future use.
2846	ServiceOperationNameUnknown ServiceOperationName = "Unknown"
2847)
2848
2849// PossibleServiceOperationNameValues returns an array of possible values for the ServiceOperationName const type.
2850func PossibleServiceOperationNameValues() []ServiceOperationName {
2851	return []ServiceOperationName{ServiceOperationNameAbort, ServiceOperationNameChangeRole, ServiceOperationNameClose, ServiceOperationNameNone, ServiceOperationNameOpen, ServiceOperationNameUnknown}
2852}
2853
2854// ServicePackageActivationMode enumerates the values for service package activation mode.
2855type ServicePackageActivationMode string
2856
2857const (
2858	// ExclusiveProcess With this activation mode, each replica or instance of service, on a given node, will
2859	// have its own dedicated activation of service package on a node. The value is 1.
2860	ExclusiveProcess ServicePackageActivationMode = "ExclusiveProcess"
2861	// SharedProcess This is the default activation mode. With this activation mode, replicas or instances from
2862	// different partition(s) of service, on a given node, will share same activation of service package on a
2863	// node. The value is zero.
2864	SharedProcess ServicePackageActivationMode = "SharedProcess"
2865)
2866
2867// PossibleServicePackageActivationModeValues returns an array of possible values for the ServicePackageActivationMode const type.
2868func PossibleServicePackageActivationModeValues() []ServicePackageActivationMode {
2869	return []ServicePackageActivationMode{ExclusiveProcess, SharedProcess}
2870}
2871
2872// ServicePartitionKind enumerates the values for service partition kind.
2873type ServicePartitionKind string
2874
2875const (
2876	// ServicePartitionKindInt64Range Indicates that the partition is based on Int64 key ranges, and
2877	// UniformInt64RangePartitionSchemeDescription was specified while creating the service. The value is 2.
2878	ServicePartitionKindInt64Range ServicePartitionKind = "Int64Range"
2879	// ServicePartitionKindInvalid Indicates the partition kind is invalid. All Service Fabric enumerations
2880	// have the invalid type. The value is zero.
2881	ServicePartitionKindInvalid ServicePartitionKind = "Invalid"
2882	// ServicePartitionKindNamed Indicates that the partition is based on string names, and
2883	// NamedPartitionInformation  was specified while creating the service. The value is 3.
2884	ServicePartitionKindNamed ServicePartitionKind = "Named"
2885	// ServicePartitionKindSingleton Indicates that there is only one partition, and
2886	// SingletonPartitionSchemeDescription was specified while creating the service. The value is 1.
2887	ServicePartitionKindSingleton ServicePartitionKind = "Singleton"
2888)
2889
2890// PossibleServicePartitionKindValues returns an array of possible values for the ServicePartitionKind const type.
2891func PossibleServicePartitionKindValues() []ServicePartitionKind {
2892	return []ServicePartitionKind{ServicePartitionKindInt64Range, ServicePartitionKindInvalid, ServicePartitionKindNamed, ServicePartitionKindSingleton}
2893}
2894
2895// ServicePartitionKindBasicPartitionInformation enumerates the values for service partition kind basic
2896// partition information.
2897type ServicePartitionKindBasicPartitionInformation string
2898
2899const (
2900	// ServicePartitionKindInt64Range1 ...
2901	ServicePartitionKindInt64Range1 ServicePartitionKindBasicPartitionInformation = "Int64Range"
2902	// ServicePartitionKindNamed1 ...
2903	ServicePartitionKindNamed1 ServicePartitionKindBasicPartitionInformation = "Named"
2904	// ServicePartitionKindPartitionInformation ...
2905	ServicePartitionKindPartitionInformation ServicePartitionKindBasicPartitionInformation = "PartitionInformation"
2906	// ServicePartitionKindSingleton1 ...
2907	ServicePartitionKindSingleton1 ServicePartitionKindBasicPartitionInformation = "Singleton"
2908)
2909
2910// PossibleServicePartitionKindBasicPartitionInformationValues returns an array of possible values for the ServicePartitionKindBasicPartitionInformation const type.
2911func PossibleServicePartitionKindBasicPartitionInformationValues() []ServicePartitionKindBasicPartitionInformation {
2912	return []ServicePartitionKindBasicPartitionInformation{ServicePartitionKindInt64Range1, ServicePartitionKindNamed1, ServicePartitionKindPartitionInformation, ServicePartitionKindSingleton1}
2913}
2914
2915// ServicePartitionStatus enumerates the values for service partition status.
2916type ServicePartitionStatus string
2917
2918const (
2919	// ServicePartitionStatusDeleting Indicates that the partition is being deleted. The value is 5.
2920	ServicePartitionStatusDeleting ServicePartitionStatus = "Deleting"
2921	// ServicePartitionStatusInQuorumLoss Indicates that the partition is in quorum loss. This means that
2922	// number of replicas that are up and participating in a replica set is less than MinReplicaSetSize for
2923	// this partition. The value is 3.
2924	ServicePartitionStatusInQuorumLoss ServicePartitionStatus = "InQuorumLoss"
2925	// ServicePartitionStatusInvalid Indicates the partition status is invalid. All Service Fabric enumerations
2926	// have the invalid type. The value is zero.
2927	ServicePartitionStatusInvalid ServicePartitionStatus = "Invalid"
2928	// ServicePartitionStatusNotReady Indicates that the partition is not ready. This status is returned when
2929	// none of the other states apply. The value is 2.
2930	ServicePartitionStatusNotReady ServicePartitionStatus = "NotReady"
2931	// ServicePartitionStatusReady Indicates that the partition is ready. This means that for a stateless
2932	// service partition there is at least one instance that is up and for a stateful service partition the
2933	// number of ready replicas is greater than or equal to the MinReplicaSetSize. The value is 1.
2934	ServicePartitionStatusReady ServicePartitionStatus = "Ready"
2935	// ServicePartitionStatusReconfiguring Indicates that the partition is undergoing reconfiguration of its
2936	// replica sets. This can happen due to failover, upgrade, load balancing or addition or removal of
2937	// replicas from the replica set. The value is 4.
2938	ServicePartitionStatusReconfiguring ServicePartitionStatus = "Reconfiguring"
2939)
2940
2941// PossibleServicePartitionStatusValues returns an array of possible values for the ServicePartitionStatus const type.
2942func PossibleServicePartitionStatusValues() []ServicePartitionStatus {
2943	return []ServicePartitionStatus{ServicePartitionStatusDeleting, ServicePartitionStatusInQuorumLoss, ServicePartitionStatusInvalid, ServicePartitionStatusNotReady, ServicePartitionStatusReady, ServicePartitionStatusReconfiguring}
2944}
2945
2946// ServicePlacementPolicyType enumerates the values for service placement policy type.
2947type ServicePlacementPolicyType string
2948
2949const (
2950	// ServicePlacementPolicyTypeInvalid Indicates the type of the placement policy is invalid. All Service
2951	// Fabric enumerations have the invalid type. The value is zero.
2952	ServicePlacementPolicyTypeInvalid ServicePlacementPolicyType = "Invalid"
2953	// ServicePlacementPolicyTypeInvalidDomain Indicates that the ServicePlacementPolicyDescription is of type
2954	// ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade
2955	// domain cannot be used for placement of this service. The value is 1.
2956	ServicePlacementPolicyTypeInvalidDomain ServicePlacementPolicyType = "InvalidDomain"
2957	// ServicePlacementPolicyTypeNonPartiallyPlaceService Indicates that the ServicePlacementPolicyDescription
2958	// is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible
2959	// all replicas of a particular partition of the service should be placed atomically. The value is 5.
2960	ServicePlacementPolicyTypeNonPartiallyPlaceService ServicePlacementPolicyType = "NonPartiallyPlaceService"
2961	// ServicePlacementPolicyTypePreferredPrimaryDomain Indicates that the ServicePlacementPolicyDescription is
2962	// of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the
2963	// Primary replica for the partitions of the service should be located in a particular domain as an
2964	// optimization. The value is 3.
2965	ServicePlacementPolicyTypePreferredPrimaryDomain ServicePlacementPolicyType = "PreferredPrimaryDomain"
2966	// ServicePlacementPolicyTypeRequiredDomain Indicates that the ServicePlacementPolicyDescription is of type
2967	// ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service
2968	// must be placed in a specific domain. The value is 2.
2969	ServicePlacementPolicyTypeRequiredDomain ServicePlacementPolicyType = "RequiredDomain"
2970	// ServicePlacementPolicyTypeRequiredDomainDistribution Indicates that the
2971	// ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription,
2972	// indicating that the system will disallow placement of any two replicas from the same partition in the
2973	// same domain at any time. The value is 4.
2974	ServicePlacementPolicyTypeRequiredDomainDistribution ServicePlacementPolicyType = "RequiredDomainDistribution"
2975)
2976
2977// PossibleServicePlacementPolicyTypeValues returns an array of possible values for the ServicePlacementPolicyType const type.
2978func PossibleServicePlacementPolicyTypeValues() []ServicePlacementPolicyType {
2979	return []ServicePlacementPolicyType{ServicePlacementPolicyTypeInvalid, ServicePlacementPolicyTypeInvalidDomain, ServicePlacementPolicyTypeNonPartiallyPlaceService, ServicePlacementPolicyTypePreferredPrimaryDomain, ServicePlacementPolicyTypeRequiredDomain, ServicePlacementPolicyTypeRequiredDomainDistribution}
2980}
2981
2982// ServiceResourceStatus enumerates the values for service resource status.
2983type ServiceResourceStatus string
2984
2985const (
2986	// ServiceResourceStatusActive ...
2987	ServiceResourceStatusActive ServiceResourceStatus = "Active"
2988	// ServiceResourceStatusCreating ...
2989	ServiceResourceStatusCreating ServiceResourceStatus = "Creating"
2990	// ServiceResourceStatusDeleting ...
2991	ServiceResourceStatusDeleting ServiceResourceStatus = "Deleting"
2992	// ServiceResourceStatusFailed ...
2993	ServiceResourceStatusFailed ServiceResourceStatus = "Failed"
2994	// ServiceResourceStatusUnknown ...
2995	ServiceResourceStatusUnknown ServiceResourceStatus = "Unknown"
2996	// ServiceResourceStatusUpgrading ...
2997	ServiceResourceStatusUpgrading ServiceResourceStatus = "Upgrading"
2998)
2999
3000// PossibleServiceResourceStatusValues returns an array of possible values for the ServiceResourceStatus const type.
3001func PossibleServiceResourceStatusValues() []ServiceResourceStatus {
3002	return []ServiceResourceStatus{ServiceResourceStatusActive, ServiceResourceStatusCreating, ServiceResourceStatusDeleting, ServiceResourceStatusFailed, ServiceResourceStatusUnknown, ServiceResourceStatusUpgrading}
3003}
3004
3005// ServiceStatus enumerates the values for service status.
3006type ServiceStatus string
3007
3008const (
3009	// ServiceStatusActive Indicates the service status is active. The value is 1.
3010	ServiceStatusActive ServiceStatus = "Active"
3011	// ServiceStatusCreating Indicates the service is being created. The value is 4.
3012	ServiceStatusCreating ServiceStatus = "Creating"
3013	// ServiceStatusDeleting Indicates the service is being deleted. The value is 3.
3014	ServiceStatusDeleting ServiceStatus = "Deleting"
3015	// ServiceStatusFailed Indicates creation or deletion was terminated due to persistent failures. Another
3016	// create/delete request can be accepted. The value is 5.
3017	ServiceStatusFailed ServiceStatus = "Failed"
3018	// ServiceStatusUnknown Indicates the service status is unknown. The value is zero.
3019	ServiceStatusUnknown ServiceStatus = "Unknown"
3020	// ServiceStatusUpgrading Indicates the service is upgrading. The value is 2.
3021	ServiceStatusUpgrading ServiceStatus = "Upgrading"
3022)
3023
3024// PossibleServiceStatusValues returns an array of possible values for the ServiceStatus const type.
3025func PossibleServiceStatusValues() []ServiceStatus {
3026	return []ServiceStatus{ServiceStatusActive, ServiceStatusCreating, ServiceStatusDeleting, ServiceStatusFailed, ServiceStatusUnknown, ServiceStatusUpgrading}
3027}
3028
3029// ServiceTypeRegistrationStatus enumerates the values for service type registration status.
3030type ServiceTypeRegistrationStatus string
3031
3032const (
3033	// ServiceTypeRegistrationStatusDisabled Indicates that the service type is disabled on this node. A type
3034	// gets disabled when there are too many failures of the code package hosting the service type. If the
3035	// service type is disabled, new replicas of that service type will not be placed on the node until it is
3036	// enabled again. The service type is enabled again after the process hosting it comes up and re-registers
3037	// the type or a preconfigured time interval has passed. The value is 1.
3038	ServiceTypeRegistrationStatusDisabled ServiceTypeRegistrationStatus = "Disabled"
3039	// ServiceTypeRegistrationStatusEnabled Indicates that the service type is enabled on this node. Replicas
3040	// of this service type can be placed on this node when the code package registers the service type. The
3041	// value is 2.
3042	ServiceTypeRegistrationStatusEnabled ServiceTypeRegistrationStatus = "Enabled"
3043	// ServiceTypeRegistrationStatusInvalid Indicates the registration status is invalid. All Service Fabric
3044	// enumerations have the invalid type. The value is zero.
3045	ServiceTypeRegistrationStatusInvalid ServiceTypeRegistrationStatus = "Invalid"
3046	// ServiceTypeRegistrationStatusRegistered Indicates that the service type is enabled and registered on the
3047	// node by a code package. Replicas of this service type can now be placed on this node. The value is 3.
3048	ServiceTypeRegistrationStatusRegistered ServiceTypeRegistrationStatus = "Registered"
3049)
3050
3051// PossibleServiceTypeRegistrationStatusValues returns an array of possible values for the ServiceTypeRegistrationStatus const type.
3052func PossibleServiceTypeRegistrationStatusValues() []ServiceTypeRegistrationStatus {
3053	return []ServiceTypeRegistrationStatus{ServiceTypeRegistrationStatusDisabled, ServiceTypeRegistrationStatusEnabled, ServiceTypeRegistrationStatusInvalid, ServiceTypeRegistrationStatusRegistered}
3054}
3055
3056// State enumerates the values for state.
3057type State string
3058
3059const (
3060	// StateApproved Indicates that the repair task has been approved by the Repair Manager and is safe to
3061	// execute.
3062	StateApproved State = "Approved"
3063	// StateClaimed Indicates that the repair task has been claimed by a repair executor.
3064	StateClaimed State = "Claimed"
3065	// StateCompleted Indicates that the repair task has completed, and no further state changes will occur.
3066	StateCompleted State = "Completed"
3067	// StateCreated Indicates that the repair task has been created.
3068	StateCreated State = "Created"
3069	// StateExecuting Indicates that execution of the repair task is in progress.
3070	StateExecuting State = "Executing"
3071	// StateInvalid Indicates that the repair task state is invalid. All Service Fabric enumerations have the
3072	// invalid value.
3073	StateInvalid State = "Invalid"
3074	// StatePreparing Indicates that the Repair Manager is preparing the system to handle the impact of the
3075	// repair task, usually by taking resources offline gracefully.
3076	StatePreparing State = "Preparing"
3077	// StateRestoring Indicates that the Repair Manager is restoring the system to its pre-repair state,
3078	// usually by bringing resources back online.
3079	StateRestoring State = "Restoring"
3080)
3081
3082// PossibleStateValues returns an array of possible values for the State const type.
3083func PossibleStateValues() []State {
3084	return []State{StateApproved, StateClaimed, StateCompleted, StateCreated, StateExecuting, StateInvalid, StatePreparing, StateRestoring}
3085}
3086
3087// StorageKind enumerates the values for storage kind.
3088type StorageKind string
3089
3090const (
3091	// StorageKindAzureBlobStore ...
3092	StorageKindAzureBlobStore StorageKind = "AzureBlobStore"
3093	// StorageKindBackupStorageDescription ...
3094	StorageKindBackupStorageDescription StorageKind = "BackupStorageDescription"
3095	// StorageKindFileShare ...
3096	StorageKindFileShare StorageKind = "FileShare"
3097)
3098
3099// PossibleStorageKindValues returns an array of possible values for the StorageKind const type.
3100func PossibleStorageKindValues() []StorageKind {
3101	return []StorageKind{StorageKindAzureBlobStore, StorageKindBackupStorageDescription, StorageKindFileShare}
3102}
3103
3104// Type enumerates the values for type.
3105type Type string
3106
3107const (
3108	// TypeInvalidDomain ...
3109	TypeInvalidDomain Type = "InvalidDomain"
3110	// TypeNonPartiallyPlaceService ...
3111	TypeNonPartiallyPlaceService Type = "NonPartiallyPlaceService"
3112	// TypePreferredPrimaryDomain ...
3113	TypePreferredPrimaryDomain Type = "PreferredPrimaryDomain"
3114	// TypeRequiredDomain ...
3115	TypeRequiredDomain Type = "RequiredDomain"
3116	// TypeRequiredDomainDistribution ...
3117	TypeRequiredDomainDistribution Type = "RequiredDomainDistribution"
3118	// TypeServicePlacementPolicyDescription ...
3119	TypeServicePlacementPolicyDescription Type = "ServicePlacementPolicyDescription"
3120)
3121
3122// PossibleTypeValues returns an array of possible values for the Type const type.
3123func PossibleTypeValues() []Type {
3124	return []Type{TypeInvalidDomain, TypeNonPartiallyPlaceService, TypePreferredPrimaryDomain, TypeRequiredDomain, TypeRequiredDomainDistribution, TypeServicePlacementPolicyDescription}
3125}
3126
3127// UpgradeDomainState enumerates the values for upgrade domain state.
3128type UpgradeDomainState string
3129
3130const (
3131	// UpgradeDomainStateCompleted The upgrade domain has completed upgrade. The value is 3
3132	UpgradeDomainStateCompleted UpgradeDomainState = "Completed"
3133	// UpgradeDomainStateInProgress The upgrade domain is being upgraded but not complete yet. The value is 2
3134	UpgradeDomainStateInProgress UpgradeDomainState = "InProgress"
3135	// UpgradeDomainStateInvalid Indicates the upgrade domain state is invalid. All Service Fabric enumerations
3136	// have the invalid type. The value is zero.
3137	UpgradeDomainStateInvalid UpgradeDomainState = "Invalid"
3138	// UpgradeDomainStatePending The upgrade domain has not started upgrading yet. The value is 1
3139	UpgradeDomainStatePending UpgradeDomainState = "Pending"
3140)
3141
3142// PossibleUpgradeDomainStateValues returns an array of possible values for the UpgradeDomainState const type.
3143func PossibleUpgradeDomainStateValues() []UpgradeDomainState {
3144	return []UpgradeDomainState{UpgradeDomainStateCompleted, UpgradeDomainStateInProgress, UpgradeDomainStateInvalid, UpgradeDomainStatePending}
3145}
3146
3147// UpgradeKind enumerates the values for upgrade kind.
3148type UpgradeKind string
3149
3150const (
3151	// UpgradeKindInvalid Indicates the upgrade kind is invalid. All Service Fabric enumerations have the
3152	// invalid type. The value is zero.
3153	UpgradeKindInvalid UpgradeKind = "Invalid"
3154	// UpgradeKindRolling The upgrade progresses one upgrade domain at a time. The value is 1
3155	UpgradeKindRolling UpgradeKind = "Rolling"
3156)
3157
3158// PossibleUpgradeKindValues returns an array of possible values for the UpgradeKind const type.
3159func PossibleUpgradeKindValues() []UpgradeKind {
3160	return []UpgradeKind{UpgradeKindInvalid, UpgradeKindRolling}
3161}
3162
3163// UpgradeMode enumerates the values for upgrade mode.
3164type UpgradeMode string
3165
3166const (
3167	// UpgradeModeInvalid Indicates the upgrade mode is invalid. All Service Fabric enumerations have the
3168	// invalid type. The value is zero.
3169	UpgradeModeInvalid UpgradeMode = "Invalid"
3170	// UpgradeModeMonitored The upgrade will stop after completing each upgrade domain and automatically
3171	// monitor health before proceeding. The value is 3
3172	UpgradeModeMonitored UpgradeMode = "Monitored"
3173	// UpgradeModeUnmonitoredAuto The upgrade will proceed automatically without performing any health
3174	// monitoring. The value is 1
3175	UpgradeModeUnmonitoredAuto UpgradeMode = "UnmonitoredAuto"
3176	// UpgradeModeUnmonitoredManual The upgrade will stop after completing each upgrade domain, giving the
3177	// opportunity to manually monitor health before proceeding. The value is 2
3178	UpgradeModeUnmonitoredManual UpgradeMode = "UnmonitoredManual"
3179)
3180
3181// PossibleUpgradeModeValues returns an array of possible values for the UpgradeMode const type.
3182func PossibleUpgradeModeValues() []UpgradeMode {
3183	return []UpgradeMode{UpgradeModeInvalid, UpgradeModeMonitored, UpgradeModeUnmonitoredAuto, UpgradeModeUnmonitoredManual}
3184}
3185
3186// UpgradeState enumerates the values for upgrade state.
3187type UpgradeState string
3188
3189const (
3190	// UpgradeStateFailed The upgrade has failed and is unable to execute FailureAction. The value is 6
3191	UpgradeStateFailed UpgradeState = "Failed"
3192	// UpgradeStateInvalid Indicates the upgrade state is invalid. All Service Fabric enumerations have the
3193	// invalid type. The value is zero.
3194	UpgradeStateInvalid UpgradeState = "Invalid"
3195	// UpgradeStateRollingBackCompleted The upgrade has finished rolling back. The value is 2
3196	UpgradeStateRollingBackCompleted UpgradeState = "RollingBackCompleted"
3197	// UpgradeStateRollingBackInProgress The upgrade is rolling back to the previous version but is not
3198	// complete yet. The value is 1
3199	UpgradeStateRollingBackInProgress UpgradeState = "RollingBackInProgress"
3200	// UpgradeStateRollingForwardCompleted The upgrade has finished rolling forward. The value is 5
3201	UpgradeStateRollingForwardCompleted UpgradeState = "RollingForwardCompleted"
3202	// UpgradeStateRollingForwardInProgress The upgrade is rolling forward to the target version but is not
3203	// complete yet. The value is 4
3204	UpgradeStateRollingForwardInProgress UpgradeState = "RollingForwardInProgress"
3205	// UpgradeStateRollingForwardPending The current upgrade domain has finished upgrading. The overall upgrade
3206	// is waiting for an explicit move next request in UnmonitoredManual mode or performing health checks in
3207	// Monitored mode. The value is 3
3208	UpgradeStateRollingForwardPending UpgradeState = "RollingForwardPending"
3209)
3210
3211// PossibleUpgradeStateValues returns an array of possible values for the UpgradeState const type.
3212func PossibleUpgradeStateValues() []UpgradeState {
3213	return []UpgradeState{UpgradeStateFailed, UpgradeStateInvalid, UpgradeStateRollingBackCompleted, UpgradeStateRollingBackInProgress, UpgradeStateRollingForwardCompleted, UpgradeStateRollingForwardInProgress, UpgradeStateRollingForwardPending}
3214}
3215
3216// UpgradeType enumerates the values for upgrade type.
3217type UpgradeType string
3218
3219const (
3220	// UpgradeTypeInvalid Indicates the upgrade kind is invalid. All Service Fabric enumerations have the
3221	// invalid type. The value is zero.
3222	UpgradeTypeInvalid UpgradeType = "Invalid"
3223	// UpgradeTypeRolling The upgrade progresses one upgrade domain at a time. The value is 1.
3224	UpgradeTypeRolling UpgradeType = "Rolling"
3225	// UpgradeTypeRollingForceRestart The upgrade gets restarted by force. The value is 2.
3226	UpgradeTypeRollingForceRestart UpgradeType = "Rolling_ForceRestart"
3227)
3228
3229// PossibleUpgradeTypeValues returns an array of possible values for the UpgradeType const type.
3230func PossibleUpgradeTypeValues() []UpgradeType {
3231	return []UpgradeType{UpgradeTypeInvalid, UpgradeTypeRolling, UpgradeTypeRollingForceRestart}
3232}
3233
3234// AadMetadata azure Active Directory metadata used for secured connection to cluster.
3235type AadMetadata struct {
3236	// Authority - The AAD authority url.
3237	Authority *string `json:"authority,omitempty"`
3238	// Client - The AAD client application Id.
3239	Client *string `json:"client,omitempty"`
3240	// Cluster - The AAD cluster application Id.
3241	Cluster *string `json:"cluster,omitempty"`
3242	// Login - The AAD login url.
3243	Login *string `json:"login,omitempty"`
3244	// Redirect - The client application redirect address.
3245	Redirect *string `json:"redirect,omitempty"`
3246	// Tenant - The AAD tenant Id.
3247	Tenant *string `json:"tenant,omitempty"`
3248}
3249
3250// AadMetadataObject azure Active Directory metadata object used for secured connection to cluster.
3251type AadMetadataObject struct {
3252	autorest.Response `json:"-"`
3253	// Type - The client authentication method.
3254	Type *string `json:"type,omitempty"`
3255	// Metadata - Azure Active Directory metadata used for secured connection to cluster.
3256	Metadata *AadMetadata `json:"metadata,omitempty"`
3257}
3258
3259// AddRemoveIncrementalNamedPartitionScalingMechanism represents a scaling mechanism for adding or removing
3260// named partitions of a stateless service. Partition names are in the format '0','1''N-1'
3261type AddRemoveIncrementalNamedPartitionScalingMechanism struct {
3262	// MinPartitionCount - Minimum number of named partitions of the service.
3263	MinPartitionCount *int32 `json:"MinPartitionCount,omitempty"`
3264	// MaxPartitionCount - Maximum number of named partitions of the service.
3265	MaxPartitionCount *int32 `json:"MaxPartitionCount,omitempty"`
3266	// ScaleIncrement - The number of instances to add or remove during a scaling operation.
3267	ScaleIncrement *int32 `json:"ScaleIncrement,omitempty"`
3268	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
3269	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
3270}
3271
3272// MarshalJSON is the custom marshaler for AddRemoveIncrementalNamedPartitionScalingMechanism.
3273func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) MarshalJSON() ([]byte, error) {
3274	arinpsm.Kind = KindAddRemoveIncrementalNamedPartition
3275	objectMap := make(map[string]interface{})
3276	if arinpsm.MinPartitionCount != nil {
3277		objectMap["MinPartitionCount"] = arinpsm.MinPartitionCount
3278	}
3279	if arinpsm.MaxPartitionCount != nil {
3280		objectMap["MaxPartitionCount"] = arinpsm.MaxPartitionCount
3281	}
3282	if arinpsm.ScaleIncrement != nil {
3283		objectMap["ScaleIncrement"] = arinpsm.ScaleIncrement
3284	}
3285	if arinpsm.Kind != "" {
3286		objectMap["Kind"] = arinpsm.Kind
3287	}
3288	return json.Marshal(objectMap)
3289}
3290
3291// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3292func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
3293	return nil, false
3294}
3295
3296// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3297func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
3298	return &arinpsm, true
3299}
3300
3301// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3302func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
3303	return nil, false
3304}
3305
3306// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for AddRemoveIncrementalNamedPartitionScalingMechanism.
3307func (arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
3308	return &arinpsm, true
3309}
3310
3311// AnalysisEventMetadata metadata about an Analysis Event.
3312type AnalysisEventMetadata struct {
3313	// Delay - The analysis delay.
3314	Delay *string `json:"Delay,omitempty"`
3315	// Duration - The duration of analysis.
3316	Duration *string `json:"Duration,omitempty"`
3317}
3318
3319// ApplicationBackupConfigurationInfo backup configuration information for a specific Service Fabric
3320// application specifying what backup policy is being applied and suspend description, if any.
3321type ApplicationBackupConfigurationInfo struct {
3322	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
3323	ApplicationName *string `json:"ApplicationName,omitempty"`
3324	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
3325	PolicyName *string `json:"PolicyName,omitempty"`
3326	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
3327	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
3328	// SuspensionInfo - Describes the backup suspension details.
3329	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
3330	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
3331	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
3332}
3333
3334// MarshalJSON is the custom marshaler for ApplicationBackupConfigurationInfo.
3335func (abci ApplicationBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
3336	abci.Kind = KindBasicBackupConfigurationInfoKindApplication
3337	objectMap := make(map[string]interface{})
3338	if abci.ApplicationName != nil {
3339		objectMap["ApplicationName"] = abci.ApplicationName
3340	}
3341	if abci.PolicyName != nil {
3342		objectMap["PolicyName"] = abci.PolicyName
3343	}
3344	if abci.PolicyInheritedFrom != "" {
3345		objectMap["PolicyInheritedFrom"] = abci.PolicyInheritedFrom
3346	}
3347	if abci.SuspensionInfo != nil {
3348		objectMap["SuspensionInfo"] = abci.SuspensionInfo
3349	}
3350	if abci.Kind != "" {
3351		objectMap["Kind"] = abci.Kind
3352	}
3353	return json.Marshal(objectMap)
3354}
3355
3356// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3357func (abci ApplicationBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
3358	return &abci, true
3359}
3360
3361// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3362func (abci ApplicationBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
3363	return nil, false
3364}
3365
3366// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3367func (abci ApplicationBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
3368	return nil, false
3369}
3370
3371// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3372func (abci ApplicationBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
3373	return nil, false
3374}
3375
3376// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ApplicationBackupConfigurationInfo.
3377func (abci ApplicationBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
3378	return &abci, true
3379}
3380
3381// ApplicationBackupEntity identifies the Service Fabric application which is being backed up.
3382type ApplicationBackupEntity struct {
3383	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
3384	ApplicationName *string `json:"ApplicationName,omitempty"`
3385	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
3386	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
3387}
3388
3389// MarshalJSON is the custom marshaler for ApplicationBackupEntity.
3390func (abe ApplicationBackupEntity) MarshalJSON() ([]byte, error) {
3391	abe.EntityKind = EntityKindApplication1
3392	objectMap := make(map[string]interface{})
3393	if abe.ApplicationName != nil {
3394		objectMap["ApplicationName"] = abe.ApplicationName
3395	}
3396	if abe.EntityKind != "" {
3397		objectMap["EntityKind"] = abe.EntityKind
3398	}
3399	return json.Marshal(objectMap)
3400}
3401
3402// AsApplicationBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3403func (abe ApplicationBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
3404	return &abe, true
3405}
3406
3407// AsServiceBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3408func (abe ApplicationBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
3409	return nil, false
3410}
3411
3412// AsPartitionBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3413func (abe ApplicationBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
3414	return nil, false
3415}
3416
3417// AsBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3418func (abe ApplicationBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
3419	return nil, false
3420}
3421
3422// AsBasicBackupEntity is the BasicBackupEntity implementation for ApplicationBackupEntity.
3423func (abe ApplicationBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
3424	return &abe, true
3425}
3426
3427// ApplicationCapacityDescription describes capacity information for services of this application. This
3428// description can be used for describing the following.
3429// - Reserving the capacity for the services on the nodes
3430// - Limiting the total number of nodes that services of this application can run on
3431// - Limiting the custom capacity metrics to limit the total consumption of this metric by the services of
3432// this application
3433type ApplicationCapacityDescription struct {
3434	// 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.
3435	MinimumNodes *int64 `json:"MinimumNodes,omitempty"`
3436	// 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.
3437	MaximumNodes *int64 `json:"MaximumNodes,omitempty"`
3438	// ApplicationMetrics - List of application capacity metric description.
3439	ApplicationMetrics *[]ApplicationMetricDescription `json:"ApplicationMetrics,omitempty"`
3440}
3441
3442// ApplicationCreatedEvent application Created event.
3443type ApplicationCreatedEvent struct {
3444	// ApplicationTypeName - Application type name.
3445	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3446	// ApplicationTypeVersion - Application type version.
3447	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3448	// ApplicationDefinitionKind - Application definition kind.
3449	ApplicationDefinitionKind *string `json:"ApplicationDefinitionKind,omitempty"`
3450	// 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.
3451	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3452	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3453	ApplicationID *string `json:"ApplicationId,omitempty"`
3454	// EventInstanceID - The identifier for the FabricEvent instance.
3455	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3456	// TimeStamp - The time event was logged.
3457	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3458	// HasCorrelatedEvents - Shows there is existing related events available.
3459	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3460	// 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'
3461	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3462}
3463
3464// MarshalJSON is the custom marshaler for ApplicationCreatedEvent.
3465func (ace ApplicationCreatedEvent) MarshalJSON() ([]byte, error) {
3466	ace.Kind = KindApplicationCreated
3467	objectMap := make(map[string]interface{})
3468	if ace.ApplicationTypeName != nil {
3469		objectMap["ApplicationTypeName"] = ace.ApplicationTypeName
3470	}
3471	if ace.ApplicationTypeVersion != nil {
3472		objectMap["ApplicationTypeVersion"] = ace.ApplicationTypeVersion
3473	}
3474	if ace.ApplicationDefinitionKind != nil {
3475		objectMap["ApplicationDefinitionKind"] = ace.ApplicationDefinitionKind
3476	}
3477	if ace.ApplicationID != nil {
3478		objectMap["ApplicationId"] = ace.ApplicationID
3479	}
3480	if ace.EventInstanceID != nil {
3481		objectMap["EventInstanceId"] = ace.EventInstanceID
3482	}
3483	if ace.TimeStamp != nil {
3484		objectMap["TimeStamp"] = ace.TimeStamp
3485	}
3486	if ace.HasCorrelatedEvents != nil {
3487		objectMap["HasCorrelatedEvents"] = ace.HasCorrelatedEvents
3488	}
3489	if ace.Kind != "" {
3490		objectMap["Kind"] = ace.Kind
3491	}
3492	return json.Marshal(objectMap)
3493}
3494
3495// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3496func (ace ApplicationCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3497	return nil, false
3498}
3499
3500// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3501func (ace ApplicationCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3502	return &ace, true
3503}
3504
3505// AsClusterEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3506func (ace ApplicationCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
3507	return nil, false
3508}
3509
3510// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3511func (ace ApplicationCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3512	return nil, false
3513}
3514
3515// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3516func (ace ApplicationCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3517	return nil, false
3518}
3519
3520// AsNodeEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3521func (ace ApplicationCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
3522	return nil, false
3523}
3524
3525// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3526func (ace ApplicationCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3527	return nil, false
3528}
3529
3530// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3531func (ace ApplicationCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3532	return nil, false
3533}
3534
3535// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3536func (ace ApplicationCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3537	return nil, false
3538}
3539
3540// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3541func (ace ApplicationCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3542	return nil, false
3543}
3544
3545// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3546func (ace ApplicationCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3547	return nil, false
3548}
3549
3550// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3551func (ace ApplicationCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3552	return nil, false
3553}
3554
3555// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3556func (ace ApplicationCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
3557	return nil, false
3558}
3559
3560// AsServiceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3561func (ace ApplicationCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
3562	return nil, false
3563}
3564
3565// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3566func (ace ApplicationCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
3567	return nil, false
3568}
3569
3570// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3571func (ace ApplicationCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
3572	return &ace, true
3573}
3574
3575// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3576func (ace ApplicationCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
3577	return nil, false
3578}
3579
3580// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3581func (ace ApplicationCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
3582	return nil, false
3583}
3584
3585// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3586func (ace ApplicationCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
3587	return nil, false
3588}
3589
3590// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3591func (ace ApplicationCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
3592	return nil, false
3593}
3594
3595// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3596func (ace ApplicationCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
3597	return nil, false
3598}
3599
3600// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3601func (ace ApplicationCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
3602	return nil, false
3603}
3604
3605// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3606func (ace ApplicationCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
3607	return nil, false
3608}
3609
3610// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3611func (ace ApplicationCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
3612	return nil, false
3613}
3614
3615// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3616func (ace ApplicationCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
3617	return nil, false
3618}
3619
3620// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3621func (ace ApplicationCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
3622	return nil, false
3623}
3624
3625// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3626func (ace ApplicationCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
3627	return nil, false
3628}
3629
3630// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3631func (ace ApplicationCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
3632	return nil, false
3633}
3634
3635// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3636func (ace ApplicationCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
3637	return nil, false
3638}
3639
3640// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3641func (ace ApplicationCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
3642	return nil, false
3643}
3644
3645// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3646func (ace ApplicationCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
3647	return nil, false
3648}
3649
3650// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3651func (ace ApplicationCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
3652	return nil, false
3653}
3654
3655// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3656func (ace ApplicationCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
3657	return nil, false
3658}
3659
3660// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3661func (ace ApplicationCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
3662	return nil, false
3663}
3664
3665// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3666func (ace ApplicationCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
3667	return nil, false
3668}
3669
3670// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3671func (ace ApplicationCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
3672	return nil, false
3673}
3674
3675// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3676func (ace ApplicationCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
3677	return nil, false
3678}
3679
3680// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3681func (ace ApplicationCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
3682	return nil, false
3683}
3684
3685// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3686func (ace ApplicationCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
3687	return nil, false
3688}
3689
3690// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3691func (ace ApplicationCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
3692	return nil, false
3693}
3694
3695// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3696func (ace ApplicationCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
3697	return nil, false
3698}
3699
3700// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3701func (ace ApplicationCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
3702	return nil, false
3703}
3704
3705// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3706func (ace ApplicationCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
3707	return nil, false
3708}
3709
3710// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3711func (ace ApplicationCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
3712	return nil, false
3713}
3714
3715// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3716func (ace ApplicationCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
3717	return nil, false
3718}
3719
3720// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3721func (ace ApplicationCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
3722	return nil, false
3723}
3724
3725// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3726func (ace ApplicationCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
3727	return nil, false
3728}
3729
3730// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3731func (ace ApplicationCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
3732	return nil, false
3733}
3734
3735// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3736func (ace ApplicationCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
3737	return nil, false
3738}
3739
3740// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3741func (ace ApplicationCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
3742	return nil, false
3743}
3744
3745// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3746func (ace ApplicationCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
3747	return nil, false
3748}
3749
3750// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3751func (ace ApplicationCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
3752	return nil, false
3753}
3754
3755// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3756func (ace ApplicationCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
3757	return nil, false
3758}
3759
3760// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3761func (ace ApplicationCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
3762	return nil, false
3763}
3764
3765// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3766func (ace ApplicationCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
3767	return nil, false
3768}
3769
3770// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3771func (ace ApplicationCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
3772	return nil, false
3773}
3774
3775// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3776func (ace ApplicationCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
3777	return nil, false
3778}
3779
3780// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3781func (ace ApplicationCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
3782	return nil, false
3783}
3784
3785// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3786func (ace ApplicationCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
3787	return nil, false
3788}
3789
3790// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3791func (ace ApplicationCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
3792	return nil, false
3793}
3794
3795// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3796func (ace ApplicationCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
3797	return nil, false
3798}
3799
3800// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3801func (ace ApplicationCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
3802	return nil, false
3803}
3804
3805// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3806func (ace ApplicationCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
3807	return nil, false
3808}
3809
3810// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3811func (ace ApplicationCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
3812	return nil, false
3813}
3814
3815// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3816func (ace ApplicationCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
3817	return nil, false
3818}
3819
3820// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3821func (ace ApplicationCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
3822	return nil, false
3823}
3824
3825// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3826func (ace ApplicationCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
3827	return nil, false
3828}
3829
3830// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3831func (ace ApplicationCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
3832	return nil, false
3833}
3834
3835// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3836func (ace ApplicationCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
3837	return nil, false
3838}
3839
3840// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3841func (ace ApplicationCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
3842	return nil, false
3843}
3844
3845// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3846func (ace ApplicationCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
3847	return nil, false
3848}
3849
3850// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3851func (ace ApplicationCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
3852	return nil, false
3853}
3854
3855// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3856func (ace ApplicationCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
3857	return nil, false
3858}
3859
3860// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3861func (ace ApplicationCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
3862	return nil, false
3863}
3864
3865// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3866func (ace ApplicationCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
3867	return nil, false
3868}
3869
3870// AsFabricEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3871func (ace ApplicationCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
3872	return nil, false
3873}
3874
3875// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationCreatedEvent.
3876func (ace ApplicationCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
3877	return &ace, true
3878}
3879
3880// ApplicationDeletedEvent application Deleted event.
3881type ApplicationDeletedEvent struct {
3882	// ApplicationTypeName - Application type name.
3883	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
3884	// ApplicationTypeVersion - Application type version.
3885	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
3886	// 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.
3887	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
3888	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
3889	ApplicationID *string `json:"ApplicationId,omitempty"`
3890	// EventInstanceID - The identifier for the FabricEvent instance.
3891	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
3892	// TimeStamp - The time event was logged.
3893	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
3894	// HasCorrelatedEvents - Shows there is existing related events available.
3895	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
3896	// 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'
3897	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
3898}
3899
3900// MarshalJSON is the custom marshaler for ApplicationDeletedEvent.
3901func (ade ApplicationDeletedEvent) MarshalJSON() ([]byte, error) {
3902	ade.Kind = KindApplicationDeleted
3903	objectMap := make(map[string]interface{})
3904	if ade.ApplicationTypeName != nil {
3905		objectMap["ApplicationTypeName"] = ade.ApplicationTypeName
3906	}
3907	if ade.ApplicationTypeVersion != nil {
3908		objectMap["ApplicationTypeVersion"] = ade.ApplicationTypeVersion
3909	}
3910	if ade.ApplicationID != nil {
3911		objectMap["ApplicationId"] = ade.ApplicationID
3912	}
3913	if ade.EventInstanceID != nil {
3914		objectMap["EventInstanceId"] = ade.EventInstanceID
3915	}
3916	if ade.TimeStamp != nil {
3917		objectMap["TimeStamp"] = ade.TimeStamp
3918	}
3919	if ade.HasCorrelatedEvents != nil {
3920		objectMap["HasCorrelatedEvents"] = ade.HasCorrelatedEvents
3921	}
3922	if ade.Kind != "" {
3923		objectMap["Kind"] = ade.Kind
3924	}
3925	return json.Marshal(objectMap)
3926}
3927
3928// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3929func (ade ApplicationDeletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
3930	return nil, false
3931}
3932
3933// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3934func (ade ApplicationDeletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
3935	return &ade, true
3936}
3937
3938// AsClusterEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3939func (ade ApplicationDeletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
3940	return nil, false
3941}
3942
3943// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3944func (ade ApplicationDeletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
3945	return nil, false
3946}
3947
3948// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3949func (ade ApplicationDeletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
3950	return nil, false
3951}
3952
3953// AsNodeEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3954func (ade ApplicationDeletedEvent) AsNodeEvent() (*NodeEvent, bool) {
3955	return nil, false
3956}
3957
3958// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3959func (ade ApplicationDeletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
3960	return nil, false
3961}
3962
3963// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3964func (ade ApplicationDeletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
3965	return nil, false
3966}
3967
3968// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3969func (ade ApplicationDeletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
3970	return nil, false
3971}
3972
3973// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3974func (ade ApplicationDeletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
3975	return nil, false
3976}
3977
3978// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3979func (ade ApplicationDeletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
3980	return nil, false
3981}
3982
3983// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3984func (ade ApplicationDeletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
3985	return nil, false
3986}
3987
3988// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3989func (ade ApplicationDeletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
3990	return nil, false
3991}
3992
3993// AsServiceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3994func (ade ApplicationDeletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
3995	return nil, false
3996}
3997
3998// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
3999func (ade ApplicationDeletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4000	return nil, false
4001}
4002
4003// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4004func (ade ApplicationDeletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4005	return nil, false
4006}
4007
4008// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4009func (ade ApplicationDeletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4010	return &ade, true
4011}
4012
4013// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4014func (ade ApplicationDeletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4015	return nil, false
4016}
4017
4018// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4019func (ade ApplicationDeletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4020	return nil, false
4021}
4022
4023// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4024func (ade ApplicationDeletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4025	return nil, false
4026}
4027
4028// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4029func (ade ApplicationDeletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4030	return nil, false
4031}
4032
4033// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4034func (ade ApplicationDeletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4035	return nil, false
4036}
4037
4038// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4039func (ade ApplicationDeletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4040	return nil, false
4041}
4042
4043// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4044func (ade ApplicationDeletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4045	return nil, false
4046}
4047
4048// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4049func (ade ApplicationDeletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4050	return nil, false
4051}
4052
4053// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4054func (ade ApplicationDeletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4055	return nil, false
4056}
4057
4058// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4059func (ade ApplicationDeletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
4060	return nil, false
4061}
4062
4063// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4064func (ade ApplicationDeletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
4065	return nil, false
4066}
4067
4068// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4069func (ade ApplicationDeletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
4070	return nil, false
4071}
4072
4073// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4074func (ade ApplicationDeletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
4075	return nil, false
4076}
4077
4078// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4079func (ade ApplicationDeletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
4080	return nil, false
4081}
4082
4083// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4084func (ade ApplicationDeletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4085	return nil, false
4086}
4087
4088// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4089func (ade ApplicationDeletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4090	return nil, false
4091}
4092
4093// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4094func (ade ApplicationDeletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4095	return nil, false
4096}
4097
4098// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4099func (ade ApplicationDeletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4100	return nil, false
4101}
4102
4103// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4104func (ade ApplicationDeletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4105	return nil, false
4106}
4107
4108// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4109func (ade ApplicationDeletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4110	return nil, false
4111}
4112
4113// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4114func (ade ApplicationDeletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4115	return nil, false
4116}
4117
4118// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4119func (ade ApplicationDeletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4120	return nil, false
4121}
4122
4123// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4124func (ade ApplicationDeletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4125	return nil, false
4126}
4127
4128// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4129func (ade ApplicationDeletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4130	return nil, false
4131}
4132
4133// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4134func (ade ApplicationDeletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4135	return nil, false
4136}
4137
4138// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4139func (ade ApplicationDeletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4140	return nil, false
4141}
4142
4143// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4144func (ade ApplicationDeletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4145	return nil, false
4146}
4147
4148// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4149func (ade ApplicationDeletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4150	return nil, false
4151}
4152
4153// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4154func (ade ApplicationDeletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4155	return nil, false
4156}
4157
4158// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4159func (ade ApplicationDeletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4160	return nil, false
4161}
4162
4163// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4164func (ade ApplicationDeletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4165	return nil, false
4166}
4167
4168// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4169func (ade ApplicationDeletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4170	return nil, false
4171}
4172
4173// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4174func (ade ApplicationDeletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4175	return nil, false
4176}
4177
4178// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4179func (ade ApplicationDeletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4180	return nil, false
4181}
4182
4183// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4184func (ade ApplicationDeletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4185	return nil, false
4186}
4187
4188// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4189func (ade ApplicationDeletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4190	return nil, false
4191}
4192
4193// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4194func (ade ApplicationDeletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4195	return nil, false
4196}
4197
4198// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4199func (ade ApplicationDeletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4200	return nil, false
4201}
4202
4203// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4204func (ade ApplicationDeletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4205	return nil, false
4206}
4207
4208// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4209func (ade ApplicationDeletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4210	return nil, false
4211}
4212
4213// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4214func (ade ApplicationDeletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4215	return nil, false
4216}
4217
4218// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4219func (ade ApplicationDeletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4220	return nil, false
4221}
4222
4223// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4224func (ade ApplicationDeletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4225	return nil, false
4226}
4227
4228// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4229func (ade ApplicationDeletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4230	return nil, false
4231}
4232
4233// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4234func (ade ApplicationDeletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4235	return nil, false
4236}
4237
4238// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4239func (ade ApplicationDeletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4240	return nil, false
4241}
4242
4243// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4244func (ade ApplicationDeletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4245	return nil, false
4246}
4247
4248// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4249func (ade ApplicationDeletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4250	return nil, false
4251}
4252
4253// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4254func (ade ApplicationDeletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4255	return nil, false
4256}
4257
4258// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4259func (ade ApplicationDeletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4260	return nil, false
4261}
4262
4263// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4264func (ade ApplicationDeletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4265	return nil, false
4266}
4267
4268// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4269func (ade ApplicationDeletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4270	return nil, false
4271}
4272
4273// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4274func (ade ApplicationDeletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4275	return nil, false
4276}
4277
4278// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4279func (ade ApplicationDeletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4280	return nil, false
4281}
4282
4283// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4284func (ade ApplicationDeletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4285	return nil, false
4286}
4287
4288// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4289func (ade ApplicationDeletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4290	return nil, false
4291}
4292
4293// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4294func (ade ApplicationDeletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4295	return nil, false
4296}
4297
4298// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4299func (ade ApplicationDeletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4300	return nil, false
4301}
4302
4303// AsFabricEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4304func (ade ApplicationDeletedEvent) AsFabricEvent() (*FabricEvent, bool) {
4305	return nil, false
4306}
4307
4308// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationDeletedEvent.
4309func (ade ApplicationDeletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4310	return &ade, true
4311}
4312
4313// ApplicationDescription describes a Service Fabric application.
4314type ApplicationDescription struct {
4315	// Name - The name of the application, including the 'fabric:' URI scheme.
4316	Name *string `json:"Name,omitempty"`
4317	// TypeName - The application type name as defined in the application manifest.
4318	TypeName *string `json:"TypeName,omitempty"`
4319	// TypeVersion - The version of the application type as defined in the application manifest.
4320	TypeVersion *string `json:"TypeVersion,omitempty"`
4321	// ParameterList - List of application parameters with overridden values from their default values specified in the application manifest.
4322	ParameterList *[]ApplicationParameter `json:"ParameterList,omitempty"`
4323	// ApplicationCapacity - Describes capacity information for services of this application. This description can be used for describing the following.
4324	// - Reserving the capacity for the services on the nodes
4325	// - Limiting the total number of nodes that services of this application can run on
4326	// - Limiting the custom capacity metrics to limit the total consumption of this metric by the services of this application
4327	ApplicationCapacity *ApplicationCapacityDescription `json:"ApplicationCapacity,omitempty"`
4328}
4329
4330// BasicApplicationEvent represents the base for all Application Events.
4331type BasicApplicationEvent interface {
4332	AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool)
4333	AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool)
4334	AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool)
4335	AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool)
4336	AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool)
4337	AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool)
4338	AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool)
4339	AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool)
4340	AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool)
4341	AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool)
4342	AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool)
4343	AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool)
4344	AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool)
4345	AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool)
4346	AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool)
4347	AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool)
4348	AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool)
4349	AsApplicationEvent() (*ApplicationEvent, bool)
4350}
4351
4352// ApplicationEvent represents the base for all Application Events.
4353type ApplicationEvent struct {
4354	// 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.
4355	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
4356	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
4357	ApplicationID *string `json:"ApplicationId,omitempty"`
4358	// EventInstanceID - The identifier for the FabricEvent instance.
4359	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
4360	// TimeStamp - The time event was logged.
4361	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
4362	// HasCorrelatedEvents - Shows there is existing related events available.
4363	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
4364	// 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'
4365	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
4366}
4367
4368func unmarshalBasicApplicationEvent(body []byte) (BasicApplicationEvent, error) {
4369	var m map[string]interface{}
4370	err := json.Unmarshal(body, &m)
4371	if err != nil {
4372		return nil, err
4373	}
4374
4375	switch m["Kind"] {
4376	case string(KindApplicationCreated):
4377		var ace ApplicationCreatedEvent
4378		err := json.Unmarshal(body, &ace)
4379		return ace, err
4380	case string(KindApplicationDeleted):
4381		var ade ApplicationDeletedEvent
4382		err := json.Unmarshal(body, &ade)
4383		return ade, err
4384	case string(KindApplicationHealthReportCreated):
4385		var ahrce ApplicationHealthReportCreatedEvent
4386		err := json.Unmarshal(body, &ahrce)
4387		return ahrce, err
4388	case string(KindApplicationHealthReportExpired):
4389		var ahree ApplicationHealthReportExpiredEvent
4390		err := json.Unmarshal(body, &ahree)
4391		return ahree, err
4392	case string(KindApplicationUpgradeComplete):
4393		var auce ApplicationUpgradeCompleteEvent
4394		err := json.Unmarshal(body, &auce)
4395		return auce, err
4396	case string(KindApplicationUpgradeDomainComplete):
4397		var audce ApplicationUpgradeDomainCompleteEvent
4398		err := json.Unmarshal(body, &audce)
4399		return audce, err
4400	case string(KindApplicationUpgradeRollbackComplete):
4401		var aurce ApplicationUpgradeRollbackCompleteEvent
4402		err := json.Unmarshal(body, &aurce)
4403		return aurce, err
4404	case string(KindApplicationUpgradeRollbackStart):
4405		var aurse ApplicationUpgradeRollbackStartEvent
4406		err := json.Unmarshal(body, &aurse)
4407		return aurse, err
4408	case string(KindApplicationUpgradeStart):
4409		var ause ApplicationUpgradeStartEvent
4410		err := json.Unmarshal(body, &ause)
4411		return ause, err
4412	case string(KindDeployedApplicationHealthReportCreated):
4413		var dahrce DeployedApplicationHealthReportCreatedEvent
4414		err := json.Unmarshal(body, &dahrce)
4415		return dahrce, err
4416	case string(KindDeployedApplicationHealthReportExpired):
4417		var dahree DeployedApplicationHealthReportExpiredEvent
4418		err := json.Unmarshal(body, &dahree)
4419		return dahree, err
4420	case string(KindProcessDeactivated):
4421		var pde ProcessDeactivatedEvent
4422		err := json.Unmarshal(body, &pde)
4423		return pde, err
4424	case string(KindContainerDeactivated):
4425		var cde ContainerDeactivatedEvent
4426		err := json.Unmarshal(body, &cde)
4427		return cde, err
4428	case string(KindDeployedServiceHealthReportCreated):
4429		var dshrce DeployedServiceHealthReportCreatedEvent
4430		err := json.Unmarshal(body, &dshrce)
4431		return dshrce, err
4432	case string(KindDeployedServiceHealthReportExpired):
4433		var dshree DeployedServiceHealthReportExpiredEvent
4434		err := json.Unmarshal(body, &dshree)
4435		return dshree, err
4436	case string(KindChaosRestartCodePackageFaultScheduled):
4437		var crcpfse ChaosRestartCodePackageFaultScheduledEvent
4438		err := json.Unmarshal(body, &crcpfse)
4439		return crcpfse, err
4440	case string(KindChaosRestartCodePackageFaultCompleted):
4441		var crcpfce ChaosRestartCodePackageFaultCompletedEvent
4442		err := json.Unmarshal(body, &crcpfce)
4443		return crcpfce, err
4444	default:
4445		var ae ApplicationEvent
4446		err := json.Unmarshal(body, &ae)
4447		return ae, err
4448	}
4449}
4450func unmarshalBasicApplicationEventArray(body []byte) ([]BasicApplicationEvent, error) {
4451	var rawMessages []*json.RawMessage
4452	err := json.Unmarshal(body, &rawMessages)
4453	if err != nil {
4454		return nil, err
4455	}
4456
4457	aeArray := make([]BasicApplicationEvent, len(rawMessages))
4458
4459	for index, rawMessage := range rawMessages {
4460		ae, err := unmarshalBasicApplicationEvent(*rawMessage)
4461		if err != nil {
4462			return nil, err
4463		}
4464		aeArray[index] = ae
4465	}
4466	return aeArray, nil
4467}
4468
4469// MarshalJSON is the custom marshaler for ApplicationEvent.
4470func (ae ApplicationEvent) MarshalJSON() ([]byte, error) {
4471	ae.Kind = KindApplicationEvent
4472	objectMap := make(map[string]interface{})
4473	if ae.ApplicationID != nil {
4474		objectMap["ApplicationId"] = ae.ApplicationID
4475	}
4476	if ae.EventInstanceID != nil {
4477		objectMap["EventInstanceId"] = ae.EventInstanceID
4478	}
4479	if ae.TimeStamp != nil {
4480		objectMap["TimeStamp"] = ae.TimeStamp
4481	}
4482	if ae.HasCorrelatedEvents != nil {
4483		objectMap["HasCorrelatedEvents"] = ae.HasCorrelatedEvents
4484	}
4485	if ae.Kind != "" {
4486		objectMap["Kind"] = ae.Kind
4487	}
4488	return json.Marshal(objectMap)
4489}
4490
4491// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationEvent.
4492func (ae ApplicationEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
4493	return &ae, true
4494}
4495
4496// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationEvent.
4497func (ae ApplicationEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
4498	return &ae, true
4499}
4500
4501// AsClusterEvent is the BasicFabricEvent implementation for ApplicationEvent.
4502func (ae ApplicationEvent) AsClusterEvent() (*ClusterEvent, bool) {
4503	return nil, false
4504}
4505
4506// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationEvent.
4507func (ae ApplicationEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
4508	return nil, false
4509}
4510
4511// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationEvent.
4512func (ae ApplicationEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
4513	return nil, false
4514}
4515
4516// AsNodeEvent is the BasicFabricEvent implementation for ApplicationEvent.
4517func (ae ApplicationEvent) AsNodeEvent() (*NodeEvent, bool) {
4518	return nil, false
4519}
4520
4521// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationEvent.
4522func (ae ApplicationEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
4523	return nil, false
4524}
4525
4526// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
4527func (ae ApplicationEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
4528	return nil, false
4529}
4530
4531// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
4532func (ae ApplicationEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
4533	return nil, false
4534}
4535
4536// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationEvent.
4537func (ae ApplicationEvent) AsPartitionEvent() (*PartitionEvent, bool) {
4538	return nil, false
4539}
4540
4541// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationEvent.
4542func (ae ApplicationEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
4543	return nil, false
4544}
4545
4546// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationEvent.
4547func (ae ApplicationEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
4548	return nil, false
4549}
4550
4551// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationEvent.
4552func (ae ApplicationEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
4553	return nil, false
4554}
4555
4556// AsServiceEvent is the BasicFabricEvent implementation for ApplicationEvent.
4557func (ae ApplicationEvent) AsServiceEvent() (*ServiceEvent, bool) {
4558	return nil, false
4559}
4560
4561// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationEvent.
4562func (ae ApplicationEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
4563	return nil, false
4564}
4565
4566// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4567func (ae ApplicationEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
4568	return nil, false
4569}
4570
4571// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4572func (ae ApplicationEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
4573	return nil, false
4574}
4575
4576// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4577func (ae ApplicationEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
4578	return nil, false
4579}
4580
4581// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4582func (ae ApplicationEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
4583	return nil, false
4584}
4585
4586// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4587func (ae ApplicationEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
4588	return nil, false
4589}
4590
4591// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4592func (ae ApplicationEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
4593	return nil, false
4594}
4595
4596// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4597func (ae ApplicationEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
4598	return nil, false
4599}
4600
4601// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4602func (ae ApplicationEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
4603	return nil, false
4604}
4605
4606// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4607func (ae ApplicationEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
4608	return nil, false
4609}
4610
4611// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4612func (ae ApplicationEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
4613	return nil, false
4614}
4615
4616// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4617func (ae ApplicationEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
4618	return nil, false
4619}
4620
4621// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4622func (ae ApplicationEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
4623	return nil, false
4624}
4625
4626// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4627func (ae ApplicationEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
4628	return nil, false
4629}
4630
4631// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4632func (ae ApplicationEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
4633	return nil, false
4634}
4635
4636// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationEvent.
4637func (ae ApplicationEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
4638	return nil, false
4639}
4640
4641// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4642func (ae ApplicationEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
4643	return nil, false
4644}
4645
4646// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationEvent.
4647func (ae ApplicationEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
4648	return nil, false
4649}
4650
4651// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationEvent.
4652func (ae ApplicationEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
4653	return nil, false
4654}
4655
4656// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4657func (ae ApplicationEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
4658	return nil, false
4659}
4660
4661// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4662func (ae ApplicationEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
4663	return nil, false
4664}
4665
4666// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationEvent.
4667func (ae ApplicationEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
4668	return nil, false
4669}
4670
4671// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4672func (ae ApplicationEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
4673	return nil, false
4674}
4675
4676// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4677func (ae ApplicationEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
4678	return nil, false
4679}
4680
4681// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationEvent.
4682func (ae ApplicationEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
4683	return nil, false
4684}
4685
4686// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4687func (ae ApplicationEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
4688	return nil, false
4689}
4690
4691// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationEvent.
4692func (ae ApplicationEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
4693	return nil, false
4694}
4695
4696// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4697func (ae ApplicationEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
4698	return nil, false
4699}
4700
4701// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationEvent.
4702func (ae ApplicationEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
4703	return nil, false
4704}
4705
4706// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4707func (ae ApplicationEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
4708	return nil, false
4709}
4710
4711// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4712func (ae ApplicationEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
4713	return nil, false
4714}
4715
4716// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4717func (ae ApplicationEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
4718	return nil, false
4719}
4720
4721// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationEvent.
4722func (ae ApplicationEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
4723	return nil, false
4724}
4725
4726// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4727func (ae ApplicationEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
4728	return nil, false
4729}
4730
4731// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4732func (ae ApplicationEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
4733	return nil, false
4734}
4735
4736// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4737func (ae ApplicationEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
4738	return nil, false
4739}
4740
4741// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4742func (ae ApplicationEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
4743	return nil, false
4744}
4745
4746// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4747func (ae ApplicationEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
4748	return nil, false
4749}
4750
4751// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4752func (ae ApplicationEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
4753	return nil, false
4754}
4755
4756// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4757func (ae ApplicationEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
4758	return nil, false
4759}
4760
4761// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4762func (ae ApplicationEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
4763	return nil, false
4764}
4765
4766// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4767func (ae ApplicationEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
4768	return nil, false
4769}
4770
4771// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4772func (ae ApplicationEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
4773	return nil, false
4774}
4775
4776// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4777func (ae ApplicationEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
4778	return nil, false
4779}
4780
4781// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationEvent.
4782func (ae ApplicationEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
4783	return nil, false
4784}
4785
4786// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4787func (ae ApplicationEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
4788	return nil, false
4789}
4790
4791// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4792func (ae ApplicationEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
4793	return nil, false
4794}
4795
4796// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationEvent.
4797func (ae ApplicationEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
4798	return nil, false
4799}
4800
4801// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4802func (ae ApplicationEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
4803	return nil, false
4804}
4805
4806// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationEvent.
4807func (ae ApplicationEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
4808	return nil, false
4809}
4810
4811// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4812func (ae ApplicationEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
4813	return nil, false
4814}
4815
4816// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4817func (ae ApplicationEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
4818	return nil, false
4819}
4820
4821// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4822func (ae ApplicationEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
4823	return nil, false
4824}
4825
4826// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4827func (ae ApplicationEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
4828	return nil, false
4829}
4830
4831// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4832func (ae ApplicationEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
4833	return nil, false
4834}
4835
4836// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4837func (ae ApplicationEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
4838	return nil, false
4839}
4840
4841// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationEvent.
4842func (ae ApplicationEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
4843	return nil, false
4844}
4845
4846// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4847func (ae ApplicationEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
4848	return nil, false
4849}
4850
4851// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4852func (ae ApplicationEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
4853	return nil, false
4854}
4855
4856// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4857func (ae ApplicationEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
4858	return nil, false
4859}
4860
4861// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationEvent.
4862func (ae ApplicationEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
4863	return nil, false
4864}
4865
4866// AsFabricEvent is the BasicFabricEvent implementation for ApplicationEvent.
4867func (ae ApplicationEvent) AsFabricEvent() (*FabricEvent, bool) {
4868	return nil, false
4869}
4870
4871// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationEvent.
4872func (ae ApplicationEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
4873	return &ae, true
4874}
4875
4876// ApplicationHealth represents the health of the application. Contains the application aggregated health
4877// state and the service and deployed application health states.
4878type ApplicationHealth struct {
4879	autorest.Response `json:"-"`
4880	// Name - The name of the application, including the 'fabric:' URI scheme.
4881	Name *string `json:"Name,omitempty"`
4882	// ServiceHealthStates - Service health states as found in the health store.
4883	ServiceHealthStates *[]ServiceHealthState `json:"ServiceHealthStates,omitempty"`
4884	// DeployedApplicationHealthStates - Deployed application health states as found in the health store.
4885	DeployedApplicationHealthStates *[]DeployedApplicationHealthState `json:"DeployedApplicationHealthStates,omitempty"`
4886	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
4887	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
4888	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
4889	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
4890	// HealthEvents - The list of health events reported on the entity.
4891	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
4892	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
4893	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
4894	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
4895	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
4896}
4897
4898// ApplicationHealthEvaluation represents health evaluation for an application, containing information
4899// about the data and the algorithm used by the health store to evaluate health.
4900type ApplicationHealthEvaluation struct {
4901	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
4902	ApplicationName *string `json:"ApplicationName,omitempty"`
4903	// 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.
4904	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
4905	// 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'
4906	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
4907	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
4908	Description *string `json:"Description,omitempty"`
4909	// 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'
4910	Kind Kind `json:"Kind,omitempty"`
4911}
4912
4913// MarshalJSON is the custom marshaler for ApplicationHealthEvaluation.
4914func (ahe ApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
4915	ahe.Kind = KindApplication
4916	objectMap := make(map[string]interface{})
4917	if ahe.ApplicationName != nil {
4918		objectMap["ApplicationName"] = ahe.ApplicationName
4919	}
4920	if ahe.UnhealthyEvaluations != nil {
4921		objectMap["UnhealthyEvaluations"] = ahe.UnhealthyEvaluations
4922	}
4923	if ahe.AggregatedHealthState != "" {
4924		objectMap["AggregatedHealthState"] = ahe.AggregatedHealthState
4925	}
4926	if ahe.Description != nil {
4927		objectMap["Description"] = ahe.Description
4928	}
4929	if ahe.Kind != "" {
4930		objectMap["Kind"] = ahe.Kind
4931	}
4932	return json.Marshal(objectMap)
4933}
4934
4935// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4936func (ahe ApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
4937	return &ahe, true
4938}
4939
4940// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4941func (ahe ApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
4942	return nil, false
4943}
4944
4945// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4946func (ahe ApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
4947	return nil, false
4948}
4949
4950// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4951func (ahe ApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
4952	return nil, false
4953}
4954
4955// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4956func (ahe ApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
4957	return nil, false
4958}
4959
4960// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4961func (ahe ApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
4962	return nil, false
4963}
4964
4965// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4966func (ahe ApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
4967	return nil, false
4968}
4969
4970// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4971func (ahe ApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
4972	return nil, false
4973}
4974
4975// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4976func (ahe ApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
4977	return nil, false
4978}
4979
4980// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4981func (ahe ApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
4982	return nil, false
4983}
4984
4985// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4986func (ahe ApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
4987	return nil, false
4988}
4989
4990// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4991func (ahe ApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
4992	return nil, false
4993}
4994
4995// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
4996func (ahe ApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
4997	return nil, false
4998}
4999
5000// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5001func (ahe ApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
5002	return nil, false
5003}
5004
5005// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5006func (ahe ApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
5007	return nil, false
5008}
5009
5010// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5011func (ahe ApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
5012	return nil, false
5013}
5014
5015// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5016func (ahe ApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
5017	return nil, false
5018}
5019
5020// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5021func (ahe ApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
5022	return nil, false
5023}
5024
5025// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5026func (ahe ApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
5027	return nil, false
5028}
5029
5030// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5031func (ahe ApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
5032	return nil, false
5033}
5034
5035// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5036func (ahe ApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
5037	return nil, false
5038}
5039
5040// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationHealthEvaluation.
5041func (ahe ApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
5042	return &ahe, true
5043}
5044
5045// ApplicationHealthPolicies defines the application health policy map used to evaluate the health of an
5046// application or one of its children entities.
5047type ApplicationHealthPolicies struct {
5048	// ApplicationHealthPolicyMap - The wrapper that contains the map with application health policies used to evaluate specific applications in the cluster.
5049	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
5050}
5051
5052// ApplicationHealthPolicy defines a health policy used to evaluate the health of an application or one of
5053// its children entities.
5054type ApplicationHealthPolicy struct {
5055	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors.
5056	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
5057	// MaxPercentUnhealthyDeployedApplications - The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.
5058	// The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.
5059	// 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.
5060	// The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
5061	MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"`
5062	// DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type.
5063	DefaultServiceTypeHealthPolicy *ServiceTypeHealthPolicy `json:"DefaultServiceTypeHealthPolicy,omitempty"`
5064	// ServiceTypeHealthPolicyMap - The map with service type health policy per service type name. The map is empty by default.
5065	ServiceTypeHealthPolicyMap *[]ServiceTypeHealthPolicyMapItem `json:"ServiceTypeHealthPolicyMap,omitempty"`
5066}
5067
5068// ApplicationHealthPolicyMapItem defines an item in ApplicationHealthPolicyMap.
5069type ApplicationHealthPolicyMapItem struct {
5070	// Key - The key of the application health policy map item. This is the name of the application.
5071	Key *string `json:"Key,omitempty"`
5072	// Value - The value of the application health policy map item. This is the ApplicationHealthPolicy for this application.
5073	Value *ApplicationHealthPolicy `json:"Value,omitempty"`
5074}
5075
5076// ApplicationHealthReportCreatedEvent application Health Report Created event.
5077type ApplicationHealthReportCreatedEvent struct {
5078	// ApplicationInstanceID - Id of Application instance.
5079	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
5080	// SourceID - Id of report source.
5081	SourceID *string `json:"SourceId,omitempty"`
5082	// Property - Describes the property.
5083	Property *string `json:"Property,omitempty"`
5084	// HealthState - Describes the property health state.
5085	HealthState *string `json:"HealthState,omitempty"`
5086	// TimeToLiveMs - Time to live in milli-seconds.
5087	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
5088	// SequenceNumber - Sequence number of report.
5089	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
5090	// Description - Description of report.
5091	Description *string `json:"Description,omitempty"`
5092	// RemoveWhenExpired - Indicates the removal when it expires.
5093	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
5094	// SourceUtcTimestamp - Source time.
5095	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
5096	// 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.
5097	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
5098	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
5099	ApplicationID *string `json:"ApplicationId,omitempty"`
5100	// EventInstanceID - The identifier for the FabricEvent instance.
5101	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
5102	// TimeStamp - The time event was logged.
5103	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
5104	// HasCorrelatedEvents - Shows there is existing related events available.
5105	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
5106	// 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'
5107	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
5108}
5109
5110// MarshalJSON is the custom marshaler for ApplicationHealthReportCreatedEvent.
5111func (ahrce ApplicationHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
5112	ahrce.Kind = KindApplicationHealthReportCreated
5113	objectMap := make(map[string]interface{})
5114	if ahrce.ApplicationInstanceID != nil {
5115		objectMap["ApplicationInstanceId"] = ahrce.ApplicationInstanceID
5116	}
5117	if ahrce.SourceID != nil {
5118		objectMap["SourceId"] = ahrce.SourceID
5119	}
5120	if ahrce.Property != nil {
5121		objectMap["Property"] = ahrce.Property
5122	}
5123	if ahrce.HealthState != nil {
5124		objectMap["HealthState"] = ahrce.HealthState
5125	}
5126	if ahrce.TimeToLiveMs != nil {
5127		objectMap["TimeToLiveMs"] = ahrce.TimeToLiveMs
5128	}
5129	if ahrce.SequenceNumber != nil {
5130		objectMap["SequenceNumber"] = ahrce.SequenceNumber
5131	}
5132	if ahrce.Description != nil {
5133		objectMap["Description"] = ahrce.Description
5134	}
5135	if ahrce.RemoveWhenExpired != nil {
5136		objectMap["RemoveWhenExpired"] = ahrce.RemoveWhenExpired
5137	}
5138	if ahrce.SourceUtcTimestamp != nil {
5139		objectMap["SourceUtcTimestamp"] = ahrce.SourceUtcTimestamp
5140	}
5141	if ahrce.ApplicationID != nil {
5142		objectMap["ApplicationId"] = ahrce.ApplicationID
5143	}
5144	if ahrce.EventInstanceID != nil {
5145		objectMap["EventInstanceId"] = ahrce.EventInstanceID
5146	}
5147	if ahrce.TimeStamp != nil {
5148		objectMap["TimeStamp"] = ahrce.TimeStamp
5149	}
5150	if ahrce.HasCorrelatedEvents != nil {
5151		objectMap["HasCorrelatedEvents"] = ahrce.HasCorrelatedEvents
5152	}
5153	if ahrce.Kind != "" {
5154		objectMap["Kind"] = ahrce.Kind
5155	}
5156	return json.Marshal(objectMap)
5157}
5158
5159// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5160func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
5161	return nil, false
5162}
5163
5164// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5165func (ahrce ApplicationHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
5166	return &ahrce, true
5167}
5168
5169// AsClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5170func (ahrce ApplicationHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
5171	return nil, false
5172}
5173
5174// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5175func (ahrce ApplicationHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
5176	return nil, false
5177}
5178
5179// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5180func (ahrce ApplicationHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
5181	return nil, false
5182}
5183
5184// AsNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5185func (ahrce ApplicationHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
5186	return nil, false
5187}
5188
5189// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5190func (ahrce ApplicationHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
5191	return nil, false
5192}
5193
5194// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5195func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
5196	return nil, false
5197}
5198
5199// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5200func (ahrce ApplicationHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
5201	return nil, false
5202}
5203
5204// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5205func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
5206	return nil, false
5207}
5208
5209// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5210func (ahrce ApplicationHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
5211	return nil, false
5212}
5213
5214// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5215func (ahrce ApplicationHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
5216	return nil, false
5217}
5218
5219// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5220func (ahrce ApplicationHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
5221	return nil, false
5222}
5223
5224// AsServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5225func (ahrce ApplicationHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
5226	return nil, false
5227}
5228
5229// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5230func (ahrce ApplicationHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
5231	return nil, false
5232}
5233
5234// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5235func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
5236	return nil, false
5237}
5238
5239// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5240func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
5241	return nil, false
5242}
5243
5244// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5245func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
5246	return &ahrce, true
5247}
5248
5249// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5250func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
5251	return nil, false
5252}
5253
5254// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5255func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
5256	return nil, false
5257}
5258
5259// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5260func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
5261	return nil, false
5262}
5263
5264// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5265func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
5266	return nil, false
5267}
5268
5269// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5270func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
5271	return nil, false
5272}
5273
5274// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5275func (ahrce ApplicationHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
5276	return nil, false
5277}
5278
5279// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5280func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
5281	return nil, false
5282}
5283
5284// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5285func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
5286	return nil, false
5287}
5288
5289// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5290func (ahrce ApplicationHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
5291	return nil, false
5292}
5293
5294// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5295func (ahrce ApplicationHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
5296	return nil, false
5297}
5298
5299// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5300func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
5301	return nil, false
5302}
5303
5304// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5305func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
5306	return nil, false
5307}
5308
5309// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5310func (ahrce ApplicationHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
5311	return nil, false
5312}
5313
5314// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5315func (ahrce ApplicationHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
5316	return nil, false
5317}
5318
5319// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5320func (ahrce ApplicationHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
5321	return nil, false
5322}
5323
5324// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5325func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
5326	return nil, false
5327}
5328
5329// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5330func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
5331	return nil, false
5332}
5333
5334// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5335func (ahrce ApplicationHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
5336	return nil, false
5337}
5338
5339// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5340func (ahrce ApplicationHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
5341	return nil, false
5342}
5343
5344// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5345func (ahrce ApplicationHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
5346	return nil, false
5347}
5348
5349// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5350func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
5351	return nil, false
5352}
5353
5354// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5355func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
5356	return nil, false
5357}
5358
5359// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5360func (ahrce ApplicationHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
5361	return nil, false
5362}
5363
5364// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5365func (ahrce ApplicationHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
5366	return nil, false
5367}
5368
5369// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5370func (ahrce ApplicationHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
5371	return nil, false
5372}
5373
5374// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5375func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
5376	return nil, false
5377}
5378
5379// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5380func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
5381	return nil, false
5382}
5383
5384// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5385func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5386	return nil, false
5387}
5388
5389// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5390func (ahrce ApplicationHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5391	return nil, false
5392}
5393
5394// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5395func (ahrce ApplicationHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5396	return nil, false
5397}
5398
5399// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5400func (ahrce ApplicationHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5401	return nil, false
5402}
5403
5404// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5405func (ahrce ApplicationHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5406	return nil, false
5407}
5408
5409// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5410func (ahrce ApplicationHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5411	return nil, false
5412}
5413
5414// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5415func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5416	return nil, false
5417}
5418
5419// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5420func (ahrce ApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5421	return nil, false
5422}
5423
5424// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5425func (ahrce ApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5426	return nil, false
5427}
5428
5429// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5430func (ahrce ApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5431	return nil, false
5432}
5433
5434// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5435func (ahrce ApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5436	return nil, false
5437}
5438
5439// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5440func (ahrce ApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5441	return nil, false
5442}
5443
5444// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5445func (ahrce ApplicationHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5446	return nil, false
5447}
5448
5449// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5450func (ahrce ApplicationHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5451	return nil, false
5452}
5453
5454// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5455func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5456	return nil, false
5457}
5458
5459// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5460func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5461	return nil, false
5462}
5463
5464// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5465func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5466	return nil, false
5467}
5468
5469// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5470func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5471	return nil, false
5472}
5473
5474// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5475func (ahrce ApplicationHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5476	return nil, false
5477}
5478
5479// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5480func (ahrce ApplicationHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5481	return nil, false
5482}
5483
5484// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5485func (ahrce ApplicationHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5486	return nil, false
5487}
5488
5489// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5490func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5491	return nil, false
5492}
5493
5494// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5495func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5496	return nil, false
5497}
5498
5499// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5500func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5501	return nil, false
5502}
5503
5504// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5505func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5506	return nil, false
5507}
5508
5509// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5510func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5511	return nil, false
5512}
5513
5514// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5515func (ahrce ApplicationHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5516	return nil, false
5517}
5518
5519// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5520func (ahrce ApplicationHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5521	return nil, false
5522}
5523
5524// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5525func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5526	return nil, false
5527}
5528
5529// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5530func (ahrce ApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5531	return nil, false
5532}
5533
5534// AsFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5535func (ahrce ApplicationHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
5536	return nil, false
5537}
5538
5539// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportCreatedEvent.
5540func (ahrce ApplicationHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
5541	return &ahrce, true
5542}
5543
5544// ApplicationHealthReportExpiredEvent application Health Report Expired event.
5545type ApplicationHealthReportExpiredEvent struct {
5546	// ApplicationInstanceID - Id of Application instance.
5547	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
5548	// SourceID - Id of report source.
5549	SourceID *string `json:"SourceId,omitempty"`
5550	// Property - Describes the property.
5551	Property *string `json:"Property,omitempty"`
5552	// HealthState - Describes the property health state.
5553	HealthState *string `json:"HealthState,omitempty"`
5554	// TimeToLiveMs - Time to live in milli-seconds.
5555	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
5556	// SequenceNumber - Sequence number of report.
5557	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
5558	// Description - Description of report.
5559	Description *string `json:"Description,omitempty"`
5560	// RemoveWhenExpired - Indicates the removal when it expires.
5561	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
5562	// SourceUtcTimestamp - Source time.
5563	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
5564	// 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.
5565	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
5566	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
5567	ApplicationID *string `json:"ApplicationId,omitempty"`
5568	// EventInstanceID - The identifier for the FabricEvent instance.
5569	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
5570	// TimeStamp - The time event was logged.
5571	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
5572	// HasCorrelatedEvents - Shows there is existing related events available.
5573	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
5574	// 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'
5575	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
5576}
5577
5578// MarshalJSON is the custom marshaler for ApplicationHealthReportExpiredEvent.
5579func (ahree ApplicationHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
5580	ahree.Kind = KindApplicationHealthReportExpired
5581	objectMap := make(map[string]interface{})
5582	if ahree.ApplicationInstanceID != nil {
5583		objectMap["ApplicationInstanceId"] = ahree.ApplicationInstanceID
5584	}
5585	if ahree.SourceID != nil {
5586		objectMap["SourceId"] = ahree.SourceID
5587	}
5588	if ahree.Property != nil {
5589		objectMap["Property"] = ahree.Property
5590	}
5591	if ahree.HealthState != nil {
5592		objectMap["HealthState"] = ahree.HealthState
5593	}
5594	if ahree.TimeToLiveMs != nil {
5595		objectMap["TimeToLiveMs"] = ahree.TimeToLiveMs
5596	}
5597	if ahree.SequenceNumber != nil {
5598		objectMap["SequenceNumber"] = ahree.SequenceNumber
5599	}
5600	if ahree.Description != nil {
5601		objectMap["Description"] = ahree.Description
5602	}
5603	if ahree.RemoveWhenExpired != nil {
5604		objectMap["RemoveWhenExpired"] = ahree.RemoveWhenExpired
5605	}
5606	if ahree.SourceUtcTimestamp != nil {
5607		objectMap["SourceUtcTimestamp"] = ahree.SourceUtcTimestamp
5608	}
5609	if ahree.ApplicationID != nil {
5610		objectMap["ApplicationId"] = ahree.ApplicationID
5611	}
5612	if ahree.EventInstanceID != nil {
5613		objectMap["EventInstanceId"] = ahree.EventInstanceID
5614	}
5615	if ahree.TimeStamp != nil {
5616		objectMap["TimeStamp"] = ahree.TimeStamp
5617	}
5618	if ahree.HasCorrelatedEvents != nil {
5619		objectMap["HasCorrelatedEvents"] = ahree.HasCorrelatedEvents
5620	}
5621	if ahree.Kind != "" {
5622		objectMap["Kind"] = ahree.Kind
5623	}
5624	return json.Marshal(objectMap)
5625}
5626
5627// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5628func (ahree ApplicationHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
5629	return nil, false
5630}
5631
5632// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5633func (ahree ApplicationHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
5634	return &ahree, true
5635}
5636
5637// AsClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5638func (ahree ApplicationHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
5639	return nil, false
5640}
5641
5642// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5643func (ahree ApplicationHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
5644	return nil, false
5645}
5646
5647// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5648func (ahree ApplicationHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
5649	return nil, false
5650}
5651
5652// AsNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5653func (ahree ApplicationHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
5654	return nil, false
5655}
5656
5657// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5658func (ahree ApplicationHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
5659	return nil, false
5660}
5661
5662// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5663func (ahree ApplicationHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
5664	return nil, false
5665}
5666
5667// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5668func (ahree ApplicationHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
5669	return nil, false
5670}
5671
5672// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5673func (ahree ApplicationHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
5674	return nil, false
5675}
5676
5677// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5678func (ahree ApplicationHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
5679	return nil, false
5680}
5681
5682// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5683func (ahree ApplicationHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
5684	return nil, false
5685}
5686
5687// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5688func (ahree ApplicationHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
5689	return nil, false
5690}
5691
5692// AsServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5693func (ahree ApplicationHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
5694	return nil, false
5695}
5696
5697// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5698func (ahree ApplicationHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
5699	return nil, false
5700}
5701
5702// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5703func (ahree ApplicationHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
5704	return nil, false
5705}
5706
5707// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5708func (ahree ApplicationHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
5709	return nil, false
5710}
5711
5712// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5713func (ahree ApplicationHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
5714	return nil, false
5715}
5716
5717// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5718func (ahree ApplicationHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
5719	return &ahree, true
5720}
5721
5722// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5723func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
5724	return nil, false
5725}
5726
5727// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5728func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
5729	return nil, false
5730}
5731
5732// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5733func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
5734	return nil, false
5735}
5736
5737// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5738func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
5739	return nil, false
5740}
5741
5742// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5743func (ahree ApplicationHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
5744	return nil, false
5745}
5746
5747// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5748func (ahree ApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
5749	return nil, false
5750}
5751
5752// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5753func (ahree ApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
5754	return nil, false
5755}
5756
5757// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5758func (ahree ApplicationHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
5759	return nil, false
5760}
5761
5762// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5763func (ahree ApplicationHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
5764	return nil, false
5765}
5766
5767// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5768func (ahree ApplicationHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
5769	return nil, false
5770}
5771
5772// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5773func (ahree ApplicationHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
5774	return nil, false
5775}
5776
5777// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5778func (ahree ApplicationHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
5779	return nil, false
5780}
5781
5782// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5783func (ahree ApplicationHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
5784	return nil, false
5785}
5786
5787// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5788func (ahree ApplicationHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
5789	return nil, false
5790}
5791
5792// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5793func (ahree ApplicationHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
5794	return nil, false
5795}
5796
5797// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5798func (ahree ApplicationHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
5799	return nil, false
5800}
5801
5802// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5803func (ahree ApplicationHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
5804	return nil, false
5805}
5806
5807// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5808func (ahree ApplicationHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
5809	return nil, false
5810}
5811
5812// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5813func (ahree ApplicationHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
5814	return nil, false
5815}
5816
5817// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5818func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
5819	return nil, false
5820}
5821
5822// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5823func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
5824	return nil, false
5825}
5826
5827// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5828func (ahree ApplicationHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
5829	return nil, false
5830}
5831
5832// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5833func (ahree ApplicationHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
5834	return nil, false
5835}
5836
5837// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5838func (ahree ApplicationHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
5839	return nil, false
5840}
5841
5842// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5843func (ahree ApplicationHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
5844	return nil, false
5845}
5846
5847// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5848func (ahree ApplicationHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
5849	return nil, false
5850}
5851
5852// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5853func (ahree ApplicationHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
5854	return nil, false
5855}
5856
5857// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5858func (ahree ApplicationHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
5859	return nil, false
5860}
5861
5862// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5863func (ahree ApplicationHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
5864	return nil, false
5865}
5866
5867// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5868func (ahree ApplicationHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
5869	return nil, false
5870}
5871
5872// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5873func (ahree ApplicationHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
5874	return nil, false
5875}
5876
5877// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5878func (ahree ApplicationHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
5879	return nil, false
5880}
5881
5882// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5883func (ahree ApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
5884	return nil, false
5885}
5886
5887// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5888func (ahree ApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
5889	return nil, false
5890}
5891
5892// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5893func (ahree ApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
5894	return nil, false
5895}
5896
5897// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5898func (ahree ApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
5899	return nil, false
5900}
5901
5902// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5903func (ahree ApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
5904	return nil, false
5905}
5906
5907// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5908func (ahree ApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
5909	return nil, false
5910}
5911
5912// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5913func (ahree ApplicationHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
5914	return nil, false
5915}
5916
5917// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5918func (ahree ApplicationHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
5919	return nil, false
5920}
5921
5922// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5923func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
5924	return nil, false
5925}
5926
5927// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5928func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
5929	return nil, false
5930}
5931
5932// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5933func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
5934	return nil, false
5935}
5936
5937// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5938func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
5939	return nil, false
5940}
5941
5942// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5943func (ahree ApplicationHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
5944	return nil, false
5945}
5946
5947// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5948func (ahree ApplicationHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
5949	return nil, false
5950}
5951
5952// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5953func (ahree ApplicationHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
5954	return nil, false
5955}
5956
5957// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5958func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
5959	return nil, false
5960}
5961
5962// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5963func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
5964	return nil, false
5965}
5966
5967// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5968func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
5969	return nil, false
5970}
5971
5972// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5973func (ahree ApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
5974	return nil, false
5975}
5976
5977// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5978func (ahree ApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
5979	return nil, false
5980}
5981
5982// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5983func (ahree ApplicationHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
5984	return nil, false
5985}
5986
5987// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5988func (ahree ApplicationHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
5989	return nil, false
5990}
5991
5992// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5993func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
5994	return nil, false
5995}
5996
5997// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
5998func (ahree ApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
5999	return nil, false
6000}
6001
6002// AsFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
6003func (ahree ApplicationHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
6004	return nil, false
6005}
6006
6007// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationHealthReportExpiredEvent.
6008func (ahree ApplicationHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
6009	return &ahree, true
6010}
6011
6012// ApplicationHealthState represents the health state of an application, which contains the application
6013// identifier and the aggregated health state.
6014type ApplicationHealthState struct {
6015	// Name - The name of the application, including the 'fabric:' URI scheme.
6016	Name *string `json:"Name,omitempty"`
6017	// 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'
6018	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
6019}
6020
6021// ApplicationHealthStateChunk represents the health state chunk of a application.
6022// The application health state chunk contains the application name, its aggregated health state and any
6023// children services and deployed applications that respect the filters in cluster health chunk query
6024// description.
6025type ApplicationHealthStateChunk struct {
6026	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
6027	ApplicationName *string `json:"ApplicationName,omitempty"`
6028	// ApplicationTypeName - The application type name as defined in the application manifest.
6029	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
6030	// ServiceHealthStateChunks - The list of service health state chunks in the cluster that respect the filters in the cluster health chunk query description.
6031	ServiceHealthStateChunks *ServiceHealthStateChunkList `json:"ServiceHealthStateChunks,omitempty"`
6032	// DeployedApplicationHealthStateChunks - The list of deployed application health state chunks in the cluster that respect the filters in the cluster health chunk query description.
6033	DeployedApplicationHealthStateChunks *DeployedApplicationHealthStateChunkList `json:"DeployedApplicationHealthStateChunks,omitempty"`
6034	// 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'
6035	HealthState HealthState `json:"HealthState,omitempty"`
6036}
6037
6038// ApplicationHealthStateChunkList the list of application health state chunks in the cluster that respect
6039// the input filters in the chunk query. Returned by get cluster health state chunks query.
6040type ApplicationHealthStateChunkList struct {
6041	// Items - The list of application health state chunks that respect the input filters in the chunk query.
6042	Items *[]ApplicationHealthStateChunk `json:"Items,omitempty"`
6043	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
6044	TotalCount *int64 `json:"TotalCount,omitempty"`
6045}
6046
6047// ApplicationHealthStateFilter defines matching criteria to determine whether a application should be
6048// included in the cluster health chunk.
6049// One filter can match zero, one or multiple applications, depending on its properties.
6050type ApplicationHealthStateFilter struct {
6051	// 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.
6052	// If the application doesn't exist, no application is returned in the cluster health chunk based on this filter.
6053	// If the application exists, it is included in the cluster health chunk if it respects the other filter properties.
6054	// If not specified, all applications are matched against the other filter members, like health state filter.
6055	ApplicationNameFilter *string `json:"ApplicationNameFilter,omitempty"`
6056	// ApplicationTypeNameFilter - The name of the application type that matches the filter.
6057	// If specified, the filter is applied only to applications of the selected application type, if any exists.
6058	// If no applications of the specified application type exists, no application is returned in the cluster health chunk based on this filter.
6059	// Each application of the specified application type is included in the cluster health chunk if it respects the other filter properties.
6060	// If not specified, all applications are matched against the other filter members, like health state filter.
6061	ApplicationTypeNameFilter *string `json:"ApplicationTypeNameFilter,omitempty"`
6062	// HealthStateFilter - The filter for the health state of the applications. It allows selecting applications if they match the desired health states.
6063	// 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.
6064	// 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.
6065	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
6066	// For example, if the provided value is 6, it matches applications with HealthState value of OK (2) and Warning (4).
6067	// - Default - Default value. Matches any HealthState. The value is zero.
6068	// - 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.
6069	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
6070	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
6071	// - Error - Filter that matches input with HealthState value Error. The value is 8.
6072	// - All - Filter that matches input with any HealthState value. The value is 65535.
6073	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
6074	// 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.
6075	// 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.
6076	// The application filter may specify multiple service filters.
6077	// 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.
6078	ServiceFilters *[]ServiceHealthStateFilter `json:"ServiceFilters,omitempty"`
6079	// 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.
6080	// 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.
6081	// The application filter may specify multiple deployed application filters.
6082	// 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.
6083	DeployedApplicationFilters *[]DeployedApplicationHealthStateFilter `json:"DeployedApplicationFilters,omitempty"`
6084}
6085
6086// ApplicationInfo information about a Service Fabric application.
6087type ApplicationInfo struct {
6088	autorest.Response `json:"-"`
6089	// 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.
6090	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6091	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6092	ID *string `json:"Id,omitempty"`
6093	// Name - The name of the application, including the 'fabric:' URI scheme.
6094	Name *string `json:"Name,omitempty"`
6095	// TypeName - The application type name as defined in the application manifest.
6096	TypeName *string `json:"TypeName,omitempty"`
6097	// TypeVersion - The version of the application type as defined in the application manifest.
6098	TypeVersion *string `json:"TypeVersion,omitempty"`
6099	// Status - The status of the application. Possible values include: 'ApplicationStatusInvalid', 'ApplicationStatusReady', 'ApplicationStatusUpgrading', 'ApplicationStatusCreating', 'ApplicationStatusDeleting', 'ApplicationStatusFailed'
6100	Status ApplicationStatus `json:"Status,omitempty"`
6101	// Parameters - List of application parameters with overridden values from their default values specified in the application manifest.
6102	Parameters *[]ApplicationParameter `json:"Parameters,omitempty"`
6103	// 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'
6104	HealthState HealthState `json:"HealthState,omitempty"`
6105	// ApplicationDefinitionKind - The mechanism used to define a Service Fabric application. Possible values include: 'Invalid', 'ServiceFabricApplicationDescription', 'Compose'
6106	ApplicationDefinitionKind ApplicationDefinitionKind `json:"ApplicationDefinitionKind,omitempty"`
6107}
6108
6109// ApplicationLoadInfo load Information about a Service Fabric application.
6110type ApplicationLoadInfo struct {
6111	autorest.Response `json:"-"`
6112	// 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.
6113	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6114	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6115	ID *string `json:"Id,omitempty"`
6116	// MinimumNodes - The minimum number of nodes for this application.
6117	// It is the number of nodes where Service Fabric will reserve Capacity in the cluster which equals to ReservedLoad * MinimumNodes for this Application instance.
6118	// For applications that do not have application capacity defined this value will be zero.
6119	MinimumNodes *int64 `json:"MinimumNodes,omitempty"`
6120	// MaximumNodes - The maximum number of nodes where this application can be instantiated.
6121	// It is the number of nodes this application is allowed to span.
6122	// For applications that do not have application capacity defined this value will be zero.
6123	MaximumNodes *int64 `json:"MaximumNodes,omitempty"`
6124	// NodeCount - The number of nodes on which this application is instantiated.
6125	// For applications that do not have application capacity defined this value will be zero.
6126	NodeCount *int64 `json:"NodeCount,omitempty"`
6127	// ApplicationLoadMetricInformation - List of application capacity metric description.
6128	ApplicationLoadMetricInformation *[]ApplicationMetricDescription `json:"ApplicationLoadMetricInformation,omitempty"`
6129}
6130
6131// ApplicationMetricDescription describes capacity information for a custom resource balancing metric. This
6132// can be used to limit the total consumption of this metric by the services of this application.
6133type ApplicationMetricDescription struct {
6134	// Name - The name of the metric.
6135	Name *string `json:"Name,omitempty"`
6136	// MaximumCapacity - The maximum node capacity for Service Fabric application.
6137	// 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.
6138	// If set to zero, capacity for this metric is unlimited on each node.
6139	// 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.
6140	// When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity.
6141	MaximumCapacity *int64 `json:"MaximumCapacity,omitempty"`
6142	// ReservationCapacity - The node reservation capacity for Service Fabric application.
6143	// This is the amount of load which is reserved on nodes which have instances of this application.
6144	// If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application.
6145	// If set to zero, no capacity is reserved for this metric.
6146	// When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric.
6147	ReservationCapacity *int64 `json:"ReservationCapacity,omitempty"`
6148	// TotalApplicationCapacity - The total metric capacity for Service Fabric application.
6149	// 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.
6150	// 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.
6151	TotalApplicationCapacity *int64 `json:"TotalApplicationCapacity,omitempty"`
6152}
6153
6154// ApplicationNameInfo information about the application name.
6155type ApplicationNameInfo struct {
6156	autorest.Response `json:"-"`
6157	// 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.
6158	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6159	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6160	ID *string `json:"Id,omitempty"`
6161	// Name - The name of the application, including the 'fabric:' URI scheme.
6162	Name *string `json:"Name,omitempty"`
6163}
6164
6165// ApplicationParameter describes an application parameter override to be applied when creating or
6166// upgrading an application.
6167type ApplicationParameter struct {
6168	// Key - The name of the parameter.
6169	Key *string `json:"Key,omitempty"`
6170	// Value - The value of the parameter.
6171	Value *string `json:"Value,omitempty"`
6172}
6173
6174// ApplicationProperties this type describes properties of an application resource.
6175type ApplicationProperties struct {
6176	// Description - User readable description of the application.
6177	Description *string `json:"description,omitempty"`
6178	// DebugParams - Internal use.
6179	DebugParams *string `json:"debugParams,omitempty"`
6180	// Services - describes the services in the application.
6181	Services *[]ServiceResourceDescription `json:"services,omitempty"`
6182	// HealthState - READ-ONLY; Describes the health state of an application resource. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
6183	HealthState HealthState `json:"healthState,omitempty"`
6184	// UnhealthyEvaluation - READ-ONLY; When the application's health state is not 'Ok', this additional details from service fabric Health Manager for the user to know why the application is marked unhealthy.
6185	UnhealthyEvaluation *string `json:"unhealthyEvaluation,omitempty"`
6186	// Status - READ-ONLY; Status of the application resource. Possible values include: 'ApplicationResourceStatusInvalid', 'ApplicationResourceStatusReady', 'ApplicationResourceStatusUpgrading', 'ApplicationResourceStatusCreating', 'ApplicationResourceStatusDeleting', 'ApplicationResourceStatusFailed'
6187	Status ApplicationResourceStatus `json:"status,omitempty"`
6188	// StatusDetails - READ-ONLY; Gives additional information about the current status of the application deployment.
6189	StatusDetails *string `json:"statusDetails,omitempty"`
6190	// ServiceNames - READ-ONLY; Names of the services in the application.
6191	ServiceNames *[]string `json:"serviceNames,omitempty"`
6192	// Diagnostics - Describes the diagnostics definition and usage for an application resource.
6193	Diagnostics *DiagnosticsDescription `json:"diagnostics,omitempty"`
6194}
6195
6196// ApplicationResourceDescription describes a service fabric application resource.
6197type ApplicationResourceDescription struct {
6198	autorest.Response `json:"-"`
6199	// ApplicationProperties - This type describes properties of an application resource.
6200	*ApplicationProperties `json:"properties,omitempty"`
6201	// Name - Application resource name.
6202	Name *string `json:"name,omitempty"`
6203}
6204
6205// MarshalJSON is the custom marshaler for ApplicationResourceDescription.
6206func (ard ApplicationResourceDescription) MarshalJSON() ([]byte, error) {
6207	objectMap := make(map[string]interface{})
6208	if ard.ApplicationProperties != nil {
6209		objectMap["properties"] = ard.ApplicationProperties
6210	}
6211	if ard.Name != nil {
6212		objectMap["name"] = ard.Name
6213	}
6214	return json.Marshal(objectMap)
6215}
6216
6217// UnmarshalJSON is the custom unmarshaler for ApplicationResourceDescription struct.
6218func (ard *ApplicationResourceDescription) UnmarshalJSON(body []byte) error {
6219	var m map[string]*json.RawMessage
6220	err := json.Unmarshal(body, &m)
6221	if err != nil {
6222		return err
6223	}
6224	for k, v := range m {
6225		switch k {
6226		case "properties":
6227			if v != nil {
6228				var applicationProperties ApplicationProperties
6229				err = json.Unmarshal(*v, &applicationProperties)
6230				if err != nil {
6231					return err
6232				}
6233				ard.ApplicationProperties = &applicationProperties
6234			}
6235		case "name":
6236			if v != nil {
6237				var name string
6238				err = json.Unmarshal(*v, &name)
6239				if err != nil {
6240					return err
6241				}
6242				ard.Name = &name
6243			}
6244		}
6245	}
6246
6247	return nil
6248}
6249
6250// ApplicationsHealthEvaluation represents health evaluation for applications, containing health
6251// evaluations for each unhealthy application that impacted current aggregated health state.
6252type ApplicationsHealthEvaluation struct {
6253	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications from the ClusterHealthPolicy.
6254	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
6255	// TotalCount - Total number of applications from the health store.
6256	TotalCount *int64 `json:"TotalCount,omitempty"`
6257	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ApplicationHealthEvaluation that impacted the aggregated health.
6258	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
6259	// 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'
6260	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
6261	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
6262	Description *string `json:"Description,omitempty"`
6263	// 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'
6264	Kind Kind `json:"Kind,omitempty"`
6265}
6266
6267// MarshalJSON is the custom marshaler for ApplicationsHealthEvaluation.
6268func (ahe ApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
6269	ahe.Kind = KindApplications
6270	objectMap := make(map[string]interface{})
6271	if ahe.MaxPercentUnhealthyApplications != nil {
6272		objectMap["MaxPercentUnhealthyApplications"] = ahe.MaxPercentUnhealthyApplications
6273	}
6274	if ahe.TotalCount != nil {
6275		objectMap["TotalCount"] = ahe.TotalCount
6276	}
6277	if ahe.UnhealthyEvaluations != nil {
6278		objectMap["UnhealthyEvaluations"] = ahe.UnhealthyEvaluations
6279	}
6280	if ahe.AggregatedHealthState != "" {
6281		objectMap["AggregatedHealthState"] = ahe.AggregatedHealthState
6282	}
6283	if ahe.Description != nil {
6284		objectMap["Description"] = ahe.Description
6285	}
6286	if ahe.Kind != "" {
6287		objectMap["Kind"] = ahe.Kind
6288	}
6289	return json.Marshal(objectMap)
6290}
6291
6292// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6293func (ahe ApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
6294	return nil, false
6295}
6296
6297// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6298func (ahe ApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
6299	return &ahe, true
6300}
6301
6302// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6303func (ahe ApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
6304	return nil, false
6305}
6306
6307// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6308func (ahe ApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
6309	return nil, false
6310}
6311
6312// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6313func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
6314	return nil, false
6315}
6316
6317// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6318func (ahe ApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
6319	return nil, false
6320}
6321
6322// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6323func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
6324	return nil, false
6325}
6326
6327// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6328func (ahe ApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
6329	return nil, false
6330}
6331
6332// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6333func (ahe ApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
6334	return nil, false
6335}
6336
6337// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6338func (ahe ApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
6339	return nil, false
6340}
6341
6342// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6343func (ahe ApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
6344	return nil, false
6345}
6346
6347// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6348func (ahe ApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
6349	return nil, false
6350}
6351
6352// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6353func (ahe ApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
6354	return nil, false
6355}
6356
6357// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6358func (ahe ApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
6359	return nil, false
6360}
6361
6362// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6363func (ahe ApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
6364	return nil, false
6365}
6366
6367// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6368func (ahe ApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
6369	return nil, false
6370}
6371
6372// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6373func (ahe ApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
6374	return nil, false
6375}
6376
6377// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6378func (ahe ApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
6379	return nil, false
6380}
6381
6382// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6383func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
6384	return nil, false
6385}
6386
6387// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6388func (ahe ApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
6389	return nil, false
6390}
6391
6392// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6393func (ahe ApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
6394	return nil, false
6395}
6396
6397// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationsHealthEvaluation.
6398func (ahe ApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
6399	return &ahe, true
6400}
6401
6402// ApplicationTypeApplicationsHealthEvaluation represents health evaluation for applications of a
6403// particular application type. The application type applications evaluation can be returned when cluster
6404// health evaluation returns unhealthy aggregated health state, either Error or Warning. It contains health
6405// evaluations for each unhealthy application of the included application type that impacted current
6406// aggregated health state.
6407type ApplicationTypeApplicationsHealthEvaluation struct {
6408	// ApplicationTypeName - The application type name as defined in the application manifest.
6409	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
6410	// MaxPercentUnhealthyApplications - Maximum allowed percentage of unhealthy applications for the application type, specified as an entry in ApplicationTypeHealthPolicyMap.
6411	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
6412	// TotalCount - Total number of applications of the application type found in the health store.
6413	TotalCount *int64 `json:"TotalCount,omitempty"`
6414	// 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.
6415	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
6416	// 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'
6417	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
6418	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
6419	Description *string `json:"Description,omitempty"`
6420	// 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'
6421	Kind Kind `json:"Kind,omitempty"`
6422}
6423
6424// MarshalJSON is the custom marshaler for ApplicationTypeApplicationsHealthEvaluation.
6425func (atahe ApplicationTypeApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
6426	atahe.Kind = KindApplicationTypeApplications
6427	objectMap := make(map[string]interface{})
6428	if atahe.ApplicationTypeName != nil {
6429		objectMap["ApplicationTypeName"] = atahe.ApplicationTypeName
6430	}
6431	if atahe.MaxPercentUnhealthyApplications != nil {
6432		objectMap["MaxPercentUnhealthyApplications"] = atahe.MaxPercentUnhealthyApplications
6433	}
6434	if atahe.TotalCount != nil {
6435		objectMap["TotalCount"] = atahe.TotalCount
6436	}
6437	if atahe.UnhealthyEvaluations != nil {
6438		objectMap["UnhealthyEvaluations"] = atahe.UnhealthyEvaluations
6439	}
6440	if atahe.AggregatedHealthState != "" {
6441		objectMap["AggregatedHealthState"] = atahe.AggregatedHealthState
6442	}
6443	if atahe.Description != nil {
6444		objectMap["Description"] = atahe.Description
6445	}
6446	if atahe.Kind != "" {
6447		objectMap["Kind"] = atahe.Kind
6448	}
6449	return json.Marshal(objectMap)
6450}
6451
6452// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6453func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
6454	return nil, false
6455}
6456
6457// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6458func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
6459	return nil, false
6460}
6461
6462// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6463func (atahe ApplicationTypeApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
6464	return &atahe, true
6465}
6466
6467// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6468func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
6469	return nil, false
6470}
6471
6472// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6473func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
6474	return nil, false
6475}
6476
6477// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6478func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
6479	return nil, false
6480}
6481
6482// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6483func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
6484	return nil, false
6485}
6486
6487// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6488func (atahe ApplicationTypeApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
6489	return nil, false
6490}
6491
6492// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6493func (atahe ApplicationTypeApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
6494	return nil, false
6495}
6496
6497// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6498func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
6499	return nil, false
6500}
6501
6502// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6503func (atahe ApplicationTypeApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
6504	return nil, false
6505}
6506
6507// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6508func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
6509	return nil, false
6510}
6511
6512// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6513func (atahe ApplicationTypeApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
6514	return nil, false
6515}
6516
6517// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6518func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
6519	return nil, false
6520}
6521
6522// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6523func (atahe ApplicationTypeApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
6524	return nil, false
6525}
6526
6527// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6528func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
6529	return nil, false
6530}
6531
6532// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6533func (atahe ApplicationTypeApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
6534	return nil, false
6535}
6536
6537// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6538func (atahe ApplicationTypeApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
6539	return nil, false
6540}
6541
6542// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6543func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
6544	return nil, false
6545}
6546
6547// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6548func (atahe ApplicationTypeApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
6549	return nil, false
6550}
6551
6552// AsHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6553func (atahe ApplicationTypeApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
6554	return nil, false
6555}
6556
6557// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ApplicationTypeApplicationsHealthEvaluation.
6558func (atahe ApplicationTypeApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
6559	return &atahe, true
6560}
6561
6562// ApplicationTypeHealthPolicyMapItem defines an item in ApplicationTypeHealthPolicyMap.
6563type ApplicationTypeHealthPolicyMapItem struct {
6564	// Key - The key of the application type health policy map item. This is the name of the application type.
6565	Key *string `json:"Key,omitempty"`
6566	// Value - The value of the application type health policy map item.
6567	// The max percent unhealthy applications allowed for the application type. Must be between zero and 100.
6568	Value *int32 `json:"Value,omitempty"`
6569}
6570
6571// ApplicationTypeImageStorePath path description for the application package in the image store specified
6572// during the prior copy operation.
6573type ApplicationTypeImageStorePath struct {
6574	// ApplicationTypeBuildPath - The relative image store path to the application package.
6575	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
6576}
6577
6578// ApplicationTypeInfo information about an application type.
6579type ApplicationTypeInfo struct {
6580	// Name - The application type name as defined in the application manifest.
6581	Name *string `json:"Name,omitempty"`
6582	// Version - The version of the application type as defined in the application manifest.
6583	Version *string `json:"Version,omitempty"`
6584	// DefaultParameterList - List of application type parameters that can be overridden when creating or updating the application.
6585	DefaultParameterList *[]ApplicationParameter `json:"DefaultParameterList,omitempty"`
6586	// Status - The status of the application type. Possible values include: 'ApplicationTypeStatusInvalid', 'ApplicationTypeStatusProvisioning', 'ApplicationTypeStatusAvailable', 'ApplicationTypeStatusUnprovisioning', 'ApplicationTypeStatusFailed'
6587	Status ApplicationTypeStatus `json:"Status,omitempty"`
6588	// StatusDetails - Additional detailed information about the status of the application type.
6589	StatusDetails *string `json:"StatusDetails,omitempty"`
6590	// ApplicationTypeDefinitionKind - The mechanism used to define a Service Fabric application type. Possible values include: 'ApplicationTypeDefinitionKindInvalid', 'ApplicationTypeDefinitionKindServiceFabricApplicationPackage', 'ApplicationTypeDefinitionKindCompose'
6591	ApplicationTypeDefinitionKind ApplicationTypeDefinitionKind `json:"ApplicationTypeDefinitionKind,omitempty"`
6592}
6593
6594// ApplicationTypeManifest contains the manifest describing an application type registered in a Service
6595// Fabric cluster.
6596type ApplicationTypeManifest struct {
6597	autorest.Response `json:"-"`
6598	// Manifest - The XML manifest as a string.
6599	Manifest *string `json:"Manifest,omitempty"`
6600}
6601
6602// ApplicationUpgradeCompleteEvent application Upgrade Complete event.
6603type ApplicationUpgradeCompleteEvent struct {
6604	// ApplicationTypeName - Application type name.
6605	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
6606	// ApplicationTypeVersion - Application type version.
6607	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
6608	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
6609	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
6610	// 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.
6611	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
6612	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
6613	ApplicationID *string `json:"ApplicationId,omitempty"`
6614	// EventInstanceID - The identifier for the FabricEvent instance.
6615	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
6616	// TimeStamp - The time event was logged.
6617	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
6618	// HasCorrelatedEvents - Shows there is existing related events available.
6619	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
6620	// 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'
6621	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
6622}
6623
6624// MarshalJSON is the custom marshaler for ApplicationUpgradeCompleteEvent.
6625func (auce ApplicationUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
6626	auce.Kind = KindApplicationUpgradeComplete
6627	objectMap := make(map[string]interface{})
6628	if auce.ApplicationTypeName != nil {
6629		objectMap["ApplicationTypeName"] = auce.ApplicationTypeName
6630	}
6631	if auce.ApplicationTypeVersion != nil {
6632		objectMap["ApplicationTypeVersion"] = auce.ApplicationTypeVersion
6633	}
6634	if auce.OverallUpgradeElapsedTimeInMs != nil {
6635		objectMap["OverallUpgradeElapsedTimeInMs"] = auce.OverallUpgradeElapsedTimeInMs
6636	}
6637	if auce.ApplicationID != nil {
6638		objectMap["ApplicationId"] = auce.ApplicationID
6639	}
6640	if auce.EventInstanceID != nil {
6641		objectMap["EventInstanceId"] = auce.EventInstanceID
6642	}
6643	if auce.TimeStamp != nil {
6644		objectMap["TimeStamp"] = auce.TimeStamp
6645	}
6646	if auce.HasCorrelatedEvents != nil {
6647		objectMap["HasCorrelatedEvents"] = auce.HasCorrelatedEvents
6648	}
6649	if auce.Kind != "" {
6650		objectMap["Kind"] = auce.Kind
6651	}
6652	return json.Marshal(objectMap)
6653}
6654
6655// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6656func (auce ApplicationUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
6657	return nil, false
6658}
6659
6660// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6661func (auce ApplicationUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
6662	return &auce, true
6663}
6664
6665// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6666func (auce ApplicationUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
6667	return nil, false
6668}
6669
6670// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6671func (auce ApplicationUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
6672	return nil, false
6673}
6674
6675// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6676func (auce ApplicationUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
6677	return nil, false
6678}
6679
6680// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6681func (auce ApplicationUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
6682	return nil, false
6683}
6684
6685// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6686func (auce ApplicationUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
6687	return nil, false
6688}
6689
6690// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6691func (auce ApplicationUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
6692	return nil, false
6693}
6694
6695// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6696func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
6697	return nil, false
6698}
6699
6700// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6701func (auce ApplicationUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
6702	return nil, false
6703}
6704
6705// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6706func (auce ApplicationUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
6707	return nil, false
6708}
6709
6710// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6711func (auce ApplicationUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
6712	return nil, false
6713}
6714
6715// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6716func (auce ApplicationUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
6717	return nil, false
6718}
6719
6720// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6721func (auce ApplicationUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
6722	return nil, false
6723}
6724
6725// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6726func (auce ApplicationUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
6727	return nil, false
6728}
6729
6730// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6731func (auce ApplicationUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
6732	return nil, false
6733}
6734
6735// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6736func (auce ApplicationUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
6737	return nil, false
6738}
6739
6740// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6741func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
6742	return nil, false
6743}
6744
6745// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6746func (auce ApplicationUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
6747	return nil, false
6748}
6749
6750// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6751func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
6752	return &auce, true
6753}
6754
6755// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6756func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
6757	return nil, false
6758}
6759
6760// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6761func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
6762	return nil, false
6763}
6764
6765// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6766func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
6767	return nil, false
6768}
6769
6770// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6771func (auce ApplicationUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
6772	return nil, false
6773}
6774
6775// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6776func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
6777	return nil, false
6778}
6779
6780// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6781func (auce ApplicationUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
6782	return nil, false
6783}
6784
6785// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6786func (auce ApplicationUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
6787	return nil, false
6788}
6789
6790// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6791func (auce ApplicationUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
6792	return nil, false
6793}
6794
6795// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6796func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
6797	return nil, false
6798}
6799
6800// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6801func (auce ApplicationUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
6802	return nil, false
6803}
6804
6805// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6806func (auce ApplicationUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
6807	return nil, false
6808}
6809
6810// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6811func (auce ApplicationUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
6812	return nil, false
6813}
6814
6815// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6816func (auce ApplicationUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
6817	return nil, false
6818}
6819
6820// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6821func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
6822	return nil, false
6823}
6824
6825// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6826func (auce ApplicationUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
6827	return nil, false
6828}
6829
6830// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6831func (auce ApplicationUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
6832	return nil, false
6833}
6834
6835// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6836func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
6837	return nil, false
6838}
6839
6840// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6841func (auce ApplicationUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
6842	return nil, false
6843}
6844
6845// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6846func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
6847	return nil, false
6848}
6849
6850// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6851func (auce ApplicationUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
6852	return nil, false
6853}
6854
6855// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6856func (auce ApplicationUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
6857	return nil, false
6858}
6859
6860// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6861func (auce ApplicationUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
6862	return nil, false
6863}
6864
6865// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6866func (auce ApplicationUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
6867	return nil, false
6868}
6869
6870// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6871func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
6872	return nil, false
6873}
6874
6875// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6876func (auce ApplicationUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
6877	return nil, false
6878}
6879
6880// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6881func (auce ApplicationUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
6882	return nil, false
6883}
6884
6885// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6886func (auce ApplicationUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
6887	return nil, false
6888}
6889
6890// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6891func (auce ApplicationUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
6892	return nil, false
6893}
6894
6895// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6896func (auce ApplicationUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
6897	return nil, false
6898}
6899
6900// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6901func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
6902	return nil, false
6903}
6904
6905// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6906func (auce ApplicationUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
6907	return nil, false
6908}
6909
6910// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6911func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
6912	return nil, false
6913}
6914
6915// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6916func (auce ApplicationUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
6917	return nil, false
6918}
6919
6920// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6921func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
6922	return nil, false
6923}
6924
6925// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6926func (auce ApplicationUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
6927	return nil, false
6928}
6929
6930// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6931func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
6932	return nil, false
6933}
6934
6935// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6936func (auce ApplicationUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
6937	return nil, false
6938}
6939
6940// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6941func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
6942	return nil, false
6943}
6944
6945// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6946func (auce ApplicationUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
6947	return nil, false
6948}
6949
6950// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6951func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
6952	return nil, false
6953}
6954
6955// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6956func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
6957	return nil, false
6958}
6959
6960// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6961func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
6962	return nil, false
6963}
6964
6965// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6966func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
6967	return nil, false
6968}
6969
6970// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6971func (auce ApplicationUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
6972	return nil, false
6973}
6974
6975// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6976func (auce ApplicationUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
6977	return nil, false
6978}
6979
6980// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6981func (auce ApplicationUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
6982	return nil, false
6983}
6984
6985// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6986func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
6987	return nil, false
6988}
6989
6990// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6991func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
6992	return nil, false
6993}
6994
6995// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
6996func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
6997	return nil, false
6998}
6999
7000// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7001func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7002	return nil, false
7003}
7004
7005// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7006func (auce ApplicationUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7007	return nil, false
7008}
7009
7010// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7011func (auce ApplicationUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7012	return nil, false
7013}
7014
7015// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7016func (auce ApplicationUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7017	return nil, false
7018}
7019
7020// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7021func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7022	return nil, false
7023}
7024
7025// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7026func (auce ApplicationUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7027	return nil, false
7028}
7029
7030// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7031func (auce ApplicationUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
7032	return nil, false
7033}
7034
7035// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeCompleteEvent.
7036func (auce ApplicationUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7037	return &auce, true
7038}
7039
7040// ApplicationUpgradeDescription describes the parameters for an application upgrade. Note that upgrade
7041// description replaces the existing application description. This means that if the parameters are not
7042// specified, the existing parameters on the applications will be overwritten with the empty parameters
7043// list. This would result in the application using the default value of the parameters from the
7044// application manifest. If you do not want to change any existing parameter values, please get the
7045// application parameters first using the GetApplicationInfo query and then supply those values as
7046// Parameters in this ApplicationUpgradeDescription.
7047type ApplicationUpgradeDescription struct {
7048	// Name - The name of the target application, including the 'fabric:' URI scheme.
7049	Name *string `json:"Name,omitempty"`
7050	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
7051	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
7052	// Parameters - List of application parameters with overridden values from their default values specified in the application manifest.
7053	Parameters *[]ApplicationParameter `json:"Parameters,omitempty"`
7054	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
7055	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
7056	// 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'
7057	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
7058	// 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).
7059	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
7060	// 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).
7061	ForceRestart *bool `json:"ForceRestart,omitempty"`
7062	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
7063	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
7064	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
7065	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
7066}
7067
7068// ApplicationUpgradeDomainCompleteEvent application Upgrade Domain Complete event.
7069type ApplicationUpgradeDomainCompleteEvent struct {
7070	// ApplicationTypeName - Application type name.
7071	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
7072	// CurrentApplicationTypeVersion - Current Application type version.
7073	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
7074	// ApplicationTypeVersion - Target Application type version.
7075	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
7076	// UpgradeState - State of upgrade.
7077	UpgradeState *string `json:"UpgradeState,omitempty"`
7078	// UpgradeDomains - Upgrade domains.
7079	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
7080	// UpgradeDomainElapsedTimeInMs - Upgrade time of domain in milli-seconds.
7081	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
7082	// 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.
7083	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
7084	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
7085	ApplicationID *string `json:"ApplicationId,omitempty"`
7086	// EventInstanceID - The identifier for the FabricEvent instance.
7087	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7088	// TimeStamp - The time event was logged.
7089	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7090	// HasCorrelatedEvents - Shows there is existing related events available.
7091	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7092	// 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'
7093	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7094}
7095
7096// MarshalJSON is the custom marshaler for ApplicationUpgradeDomainCompleteEvent.
7097func (audce ApplicationUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
7098	audce.Kind = KindApplicationUpgradeDomainComplete
7099	objectMap := make(map[string]interface{})
7100	if audce.ApplicationTypeName != nil {
7101		objectMap["ApplicationTypeName"] = audce.ApplicationTypeName
7102	}
7103	if audce.CurrentApplicationTypeVersion != nil {
7104		objectMap["CurrentApplicationTypeVersion"] = audce.CurrentApplicationTypeVersion
7105	}
7106	if audce.ApplicationTypeVersion != nil {
7107		objectMap["ApplicationTypeVersion"] = audce.ApplicationTypeVersion
7108	}
7109	if audce.UpgradeState != nil {
7110		objectMap["UpgradeState"] = audce.UpgradeState
7111	}
7112	if audce.UpgradeDomains != nil {
7113		objectMap["UpgradeDomains"] = audce.UpgradeDomains
7114	}
7115	if audce.UpgradeDomainElapsedTimeInMs != nil {
7116		objectMap["UpgradeDomainElapsedTimeInMs"] = audce.UpgradeDomainElapsedTimeInMs
7117	}
7118	if audce.ApplicationID != nil {
7119		objectMap["ApplicationId"] = audce.ApplicationID
7120	}
7121	if audce.EventInstanceID != nil {
7122		objectMap["EventInstanceId"] = audce.EventInstanceID
7123	}
7124	if audce.TimeStamp != nil {
7125		objectMap["TimeStamp"] = audce.TimeStamp
7126	}
7127	if audce.HasCorrelatedEvents != nil {
7128		objectMap["HasCorrelatedEvents"] = audce.HasCorrelatedEvents
7129	}
7130	if audce.Kind != "" {
7131		objectMap["Kind"] = audce.Kind
7132	}
7133	return json.Marshal(objectMap)
7134}
7135
7136// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7137func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7138	return nil, false
7139}
7140
7141// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7142func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7143	return &audce, true
7144}
7145
7146// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7147func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
7148	return nil, false
7149}
7150
7151// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7152func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7153	return nil, false
7154}
7155
7156// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7157func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7158	return nil, false
7159}
7160
7161// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7162func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
7163	return nil, false
7164}
7165
7166// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7167func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7168	return nil, false
7169}
7170
7171// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7172func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7173	return nil, false
7174}
7175
7176// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7177func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7178	return nil, false
7179}
7180
7181// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7182func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7183	return nil, false
7184}
7185
7186// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7187func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7188	return nil, false
7189}
7190
7191// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7192func (audce ApplicationUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7193	return nil, false
7194}
7195
7196// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7197func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7198	return nil, false
7199}
7200
7201// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7202func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
7203	return nil, false
7204}
7205
7206// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7207func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7208	return nil, false
7209}
7210
7211// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7212func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7213	return nil, false
7214}
7215
7216// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7217func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7218	return nil, false
7219}
7220
7221// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7222func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7223	return nil, false
7224}
7225
7226// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7227func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7228	return nil, false
7229}
7230
7231// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7232func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7233	return nil, false
7234}
7235
7236// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7237func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7238	return &audce, true
7239}
7240
7241// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7242func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7243	return nil, false
7244}
7245
7246// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7247func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7248	return nil, false
7249}
7250
7251// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7252func (audce ApplicationUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7253	return nil, false
7254}
7255
7256// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7257func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7258	return nil, false
7259}
7260
7261// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7262func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7263	return nil, false
7264}
7265
7266// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7267func (audce ApplicationUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7268	return nil, false
7269}
7270
7271// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7272func (audce ApplicationUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7273	return nil, false
7274}
7275
7276// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7277func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7278	return nil, false
7279}
7280
7281// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7282func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7283	return nil, false
7284}
7285
7286// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7287func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7288	return nil, false
7289}
7290
7291// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7292func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7293	return nil, false
7294}
7295
7296// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7297func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7298	return nil, false
7299}
7300
7301// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7302func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7303	return nil, false
7304}
7305
7306// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7307func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7308	return nil, false
7309}
7310
7311// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7312func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7313	return nil, false
7314}
7315
7316// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7317func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7318	return nil, false
7319}
7320
7321// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7322func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7323	return nil, false
7324}
7325
7326// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7327func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7328	return nil, false
7329}
7330
7331// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7332func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7333	return nil, false
7334}
7335
7336// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7337func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7338	return nil, false
7339}
7340
7341// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7342func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7343	return nil, false
7344}
7345
7346// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7347func (audce ApplicationUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7348	return nil, false
7349}
7350
7351// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7352func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7353	return nil, false
7354}
7355
7356// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7357func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7358	return nil, false
7359}
7360
7361// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7362func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7363	return nil, false
7364}
7365
7366// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7367func (audce ApplicationUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7368	return nil, false
7369}
7370
7371// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7372func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7373	return nil, false
7374}
7375
7376// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7377func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7378	return nil, false
7379}
7380
7381// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7382func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7383	return nil, false
7384}
7385
7386// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7387func (audce ApplicationUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7388	return nil, false
7389}
7390
7391// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7392func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7393	return nil, false
7394}
7395
7396// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7397func (audce ApplicationUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7398	return nil, false
7399}
7400
7401// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7402func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7403	return nil, false
7404}
7405
7406// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7407func (audce ApplicationUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7408	return nil, false
7409}
7410
7411// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7412func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7413	return nil, false
7414}
7415
7416// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7417func (audce ApplicationUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7418	return nil, false
7419}
7420
7421// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7422func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7423	return nil, false
7424}
7425
7426// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7427func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7428	return nil, false
7429}
7430
7431// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7432func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7433	return nil, false
7434}
7435
7436// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7437func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7438	return nil, false
7439}
7440
7441// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7442func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7443	return nil, false
7444}
7445
7446// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7447func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7448	return nil, false
7449}
7450
7451// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7452func (audce ApplicationUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7453	return nil, false
7454}
7455
7456// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7457func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7458	return nil, false
7459}
7460
7461// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7462func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7463	return nil, false
7464}
7465
7466// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7467func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7468	return nil, false
7469}
7470
7471// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7472func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7473	return nil, false
7474}
7475
7476// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7477func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7478	return nil, false
7479}
7480
7481// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7482func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7483	return nil, false
7484}
7485
7486// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7487func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7488	return nil, false
7489}
7490
7491// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7492func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7493	return nil, false
7494}
7495
7496// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7497func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7498	return nil, false
7499}
7500
7501// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7502func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7503	return nil, false
7504}
7505
7506// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7507func (audce ApplicationUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7508	return nil, false
7509}
7510
7511// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7512func (audce ApplicationUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
7513	return nil, false
7514}
7515
7516// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeDomainCompleteEvent.
7517func (audce ApplicationUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
7518	return &audce, true
7519}
7520
7521// ApplicationUpgradeProgressInfo describes the parameters for an application upgrade.
7522type ApplicationUpgradeProgressInfo struct {
7523	autorest.Response `json:"-"`
7524	// Name - The name of the target application, including the 'fabric:' URI scheme.
7525	Name *string `json:"Name,omitempty"`
7526	// TypeName - The application type name as defined in the application manifest.
7527	TypeName *string `json:"TypeName,omitempty"`
7528	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
7529	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
7530	// UpgradeDomains - List of upgrade domains and their statuses.
7531	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
7532	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
7533	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
7534	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
7535	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
7536	// 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'
7537	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
7538	// UpgradeDescription - Describes the parameters for an application upgrade. Note that upgrade description replaces the existing application description. This means that if the parameters are not specified, the existing parameters on the applications will be overwritten with the empty parameters list. This would result in the application using the default value of the parameters from the application manifest. If you do not want to change any existing parameter values, please get the application parameters first using the GetApplicationInfo query and then supply those values as Parameters in this ApplicationUpgradeDescription.
7539	UpgradeDescription *ApplicationUpgradeDescription `json:"UpgradeDescription,omitempty"`
7540	// UpgradeDurationInMilliseconds - The estimated total amount of time spent processing the overall upgrade.
7541	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
7542	// UpgradeDomainDurationInMilliseconds - The estimated total amount of time spent processing the current upgrade domain.
7543	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
7544	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
7545	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
7546	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
7547	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
7548	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
7549	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
7550	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
7551	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
7552	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
7553	FailureReason FailureReason `json:"FailureReason,omitempty"`
7554	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
7555	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
7556	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
7557	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
7558}
7559
7560// ApplicationUpgradeRollbackCompleteEvent application Upgrade Rollback Complete event.
7561type ApplicationUpgradeRollbackCompleteEvent struct {
7562	// ApplicationTypeName - Application type name.
7563	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
7564	// ApplicationTypeVersion - Application type version.
7565	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
7566	// FailureReason - Describes reason of failure.
7567	FailureReason *string `json:"FailureReason,omitempty"`
7568	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
7569	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
7570	// 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.
7571	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
7572	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
7573	ApplicationID *string `json:"ApplicationId,omitempty"`
7574	// EventInstanceID - The identifier for the FabricEvent instance.
7575	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
7576	// TimeStamp - The time event was logged.
7577	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
7578	// HasCorrelatedEvents - Shows there is existing related events available.
7579	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
7580	// 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'
7581	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
7582}
7583
7584// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackCompleteEvent.
7585func (aurce ApplicationUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
7586	aurce.Kind = KindApplicationUpgradeRollbackComplete
7587	objectMap := make(map[string]interface{})
7588	if aurce.ApplicationTypeName != nil {
7589		objectMap["ApplicationTypeName"] = aurce.ApplicationTypeName
7590	}
7591	if aurce.ApplicationTypeVersion != nil {
7592		objectMap["ApplicationTypeVersion"] = aurce.ApplicationTypeVersion
7593	}
7594	if aurce.FailureReason != nil {
7595		objectMap["FailureReason"] = aurce.FailureReason
7596	}
7597	if aurce.OverallUpgradeElapsedTimeInMs != nil {
7598		objectMap["OverallUpgradeElapsedTimeInMs"] = aurce.OverallUpgradeElapsedTimeInMs
7599	}
7600	if aurce.ApplicationID != nil {
7601		objectMap["ApplicationId"] = aurce.ApplicationID
7602	}
7603	if aurce.EventInstanceID != nil {
7604		objectMap["EventInstanceId"] = aurce.EventInstanceID
7605	}
7606	if aurce.TimeStamp != nil {
7607		objectMap["TimeStamp"] = aurce.TimeStamp
7608	}
7609	if aurce.HasCorrelatedEvents != nil {
7610		objectMap["HasCorrelatedEvents"] = aurce.HasCorrelatedEvents
7611	}
7612	if aurce.Kind != "" {
7613		objectMap["Kind"] = aurce.Kind
7614	}
7615	return json.Marshal(objectMap)
7616}
7617
7618// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7619func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
7620	return nil, false
7621}
7622
7623// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7624func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
7625	return &aurce, true
7626}
7627
7628// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7629func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
7630	return nil, false
7631}
7632
7633// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7634func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
7635	return nil, false
7636}
7637
7638// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7639func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
7640	return nil, false
7641}
7642
7643// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7644func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
7645	return nil, false
7646}
7647
7648// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7649func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
7650	return nil, false
7651}
7652
7653// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7654func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
7655	return nil, false
7656}
7657
7658// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7659func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
7660	return nil, false
7661}
7662
7663// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7664func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
7665	return nil, false
7666}
7667
7668// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7669func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
7670	return nil, false
7671}
7672
7673// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7674func (aurce ApplicationUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
7675	return nil, false
7676}
7677
7678// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7679func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
7680	return nil, false
7681}
7682
7683// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7684func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
7685	return nil, false
7686}
7687
7688// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7689func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
7690	return nil, false
7691}
7692
7693// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7694func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
7695	return nil, false
7696}
7697
7698// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7699func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
7700	return nil, false
7701}
7702
7703// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7704func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
7705	return nil, false
7706}
7707
7708// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7709func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
7710	return nil, false
7711}
7712
7713// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7714func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
7715	return nil, false
7716}
7717
7718// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7719func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
7720	return nil, false
7721}
7722
7723// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7724func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
7725	return &aurce, true
7726}
7727
7728// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7729func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
7730	return nil, false
7731}
7732
7733// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7734func (aurce ApplicationUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
7735	return nil, false
7736}
7737
7738// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7739func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
7740	return nil, false
7741}
7742
7743// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7744func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
7745	return nil, false
7746}
7747
7748// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7749func (aurce ApplicationUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
7750	return nil, false
7751}
7752
7753// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7754func (aurce ApplicationUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
7755	return nil, false
7756}
7757
7758// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7759func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
7760	return nil, false
7761}
7762
7763// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7764func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
7765	return nil, false
7766}
7767
7768// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7769func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
7770	return nil, false
7771}
7772
7773// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7774func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
7775	return nil, false
7776}
7777
7778// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7779func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
7780	return nil, false
7781}
7782
7783// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7784func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
7785	return nil, false
7786}
7787
7788// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7789func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
7790	return nil, false
7791}
7792
7793// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7794func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
7795	return nil, false
7796}
7797
7798// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7799func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
7800	return nil, false
7801}
7802
7803// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7804func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
7805	return nil, false
7806}
7807
7808// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7809func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
7810	return nil, false
7811}
7812
7813// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7814func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
7815	return nil, false
7816}
7817
7818// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7819func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
7820	return nil, false
7821}
7822
7823// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7824func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
7825	return nil, false
7826}
7827
7828// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7829func (aurce ApplicationUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
7830	return nil, false
7831}
7832
7833// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7834func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
7835	return nil, false
7836}
7837
7838// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7839func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
7840	return nil, false
7841}
7842
7843// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7844func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
7845	return nil, false
7846}
7847
7848// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7849func (aurce ApplicationUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
7850	return nil, false
7851}
7852
7853// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7854func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
7855	return nil, false
7856}
7857
7858// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7859func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
7860	return nil, false
7861}
7862
7863// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7864func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
7865	return nil, false
7866}
7867
7868// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7869func (aurce ApplicationUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
7870	return nil, false
7871}
7872
7873// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7874func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
7875	return nil, false
7876}
7877
7878// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7879func (aurce ApplicationUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
7880	return nil, false
7881}
7882
7883// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7884func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
7885	return nil, false
7886}
7887
7888// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7889func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
7890	return nil, false
7891}
7892
7893// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7894func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
7895	return nil, false
7896}
7897
7898// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7899func (aurce ApplicationUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
7900	return nil, false
7901}
7902
7903// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7904func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
7905	return nil, false
7906}
7907
7908// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7909func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
7910	return nil, false
7911}
7912
7913// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7914func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
7915	return nil, false
7916}
7917
7918// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7919func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
7920	return nil, false
7921}
7922
7923// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7924func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
7925	return nil, false
7926}
7927
7928// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7929func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
7930	return nil, false
7931}
7932
7933// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7934func (aurce ApplicationUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
7935	return nil, false
7936}
7937
7938// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7939func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
7940	return nil, false
7941}
7942
7943// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7944func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
7945	return nil, false
7946}
7947
7948// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7949func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
7950	return nil, false
7951}
7952
7953// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7954func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
7955	return nil, false
7956}
7957
7958// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7959func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
7960	return nil, false
7961}
7962
7963// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7964func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
7965	return nil, false
7966}
7967
7968// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7969func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
7970	return nil, false
7971}
7972
7973// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7974func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
7975	return nil, false
7976}
7977
7978// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7979func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
7980	return nil, false
7981}
7982
7983// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7984func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
7985	return nil, false
7986}
7987
7988// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7989func (aurce ApplicationUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
7990	return nil, false
7991}
7992
7993// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7994func (aurce ApplicationUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
7995	return nil, false
7996}
7997
7998// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackCompleteEvent.
7999func (aurce ApplicationUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8000	return &aurce, true
8001}
8002
8003// ApplicationUpgradeRollbackStartEvent application Upgrade Rollback Start event.
8004type ApplicationUpgradeRollbackStartEvent struct {
8005	// ApplicationTypeName - Application type name.
8006	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
8007	// CurrentApplicationTypeVersion - Current Application type version.
8008	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
8009	// ApplicationTypeVersion - Target Application type version.
8010	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
8011	// FailureReason - Describes reason of failure.
8012	FailureReason *string `json:"FailureReason,omitempty"`
8013	// OverallUpgradeElapsedTimeInMs - Overall upgrade time in milli-seconds.
8014	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
8015	// 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.
8016	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
8017	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
8018	ApplicationID *string `json:"ApplicationId,omitempty"`
8019	// EventInstanceID - The identifier for the FabricEvent instance.
8020	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8021	// TimeStamp - The time event was logged.
8022	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8023	// HasCorrelatedEvents - Shows there is existing related events available.
8024	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
8025	// 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'
8026	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
8027}
8028
8029// MarshalJSON is the custom marshaler for ApplicationUpgradeRollbackStartEvent.
8030func (aurse ApplicationUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
8031	aurse.Kind = KindApplicationUpgradeRollbackStart
8032	objectMap := make(map[string]interface{})
8033	if aurse.ApplicationTypeName != nil {
8034		objectMap["ApplicationTypeName"] = aurse.ApplicationTypeName
8035	}
8036	if aurse.CurrentApplicationTypeVersion != nil {
8037		objectMap["CurrentApplicationTypeVersion"] = aurse.CurrentApplicationTypeVersion
8038	}
8039	if aurse.ApplicationTypeVersion != nil {
8040		objectMap["ApplicationTypeVersion"] = aurse.ApplicationTypeVersion
8041	}
8042	if aurse.FailureReason != nil {
8043		objectMap["FailureReason"] = aurse.FailureReason
8044	}
8045	if aurse.OverallUpgradeElapsedTimeInMs != nil {
8046		objectMap["OverallUpgradeElapsedTimeInMs"] = aurse.OverallUpgradeElapsedTimeInMs
8047	}
8048	if aurse.ApplicationID != nil {
8049		objectMap["ApplicationId"] = aurse.ApplicationID
8050	}
8051	if aurse.EventInstanceID != nil {
8052		objectMap["EventInstanceId"] = aurse.EventInstanceID
8053	}
8054	if aurse.TimeStamp != nil {
8055		objectMap["TimeStamp"] = aurse.TimeStamp
8056	}
8057	if aurse.HasCorrelatedEvents != nil {
8058		objectMap["HasCorrelatedEvents"] = aurse.HasCorrelatedEvents
8059	}
8060	if aurse.Kind != "" {
8061		objectMap["Kind"] = aurse.Kind
8062	}
8063	return json.Marshal(objectMap)
8064}
8065
8066// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8067func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
8068	return nil, false
8069}
8070
8071// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8072func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
8073	return &aurse, true
8074}
8075
8076// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8077func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
8078	return nil, false
8079}
8080
8081// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8082func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
8083	return nil, false
8084}
8085
8086// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8087func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
8088	return nil, false
8089}
8090
8091// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8092func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
8093	return nil, false
8094}
8095
8096// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8097func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
8098	return nil, false
8099}
8100
8101// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8102func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
8103	return nil, false
8104}
8105
8106// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8107func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
8108	return nil, false
8109}
8110
8111// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8112func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
8113	return nil, false
8114}
8115
8116// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8117func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
8118	return nil, false
8119}
8120
8121// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8122func (aurse ApplicationUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
8123	return nil, false
8124}
8125
8126// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8127func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
8128	return nil, false
8129}
8130
8131// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8132func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
8133	return nil, false
8134}
8135
8136// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8137func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
8138	return nil, false
8139}
8140
8141// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8142func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
8143	return nil, false
8144}
8145
8146// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8147func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
8148	return nil, false
8149}
8150
8151// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8152func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
8153	return nil, false
8154}
8155
8156// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8157func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
8158	return nil, false
8159}
8160
8161// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8162func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
8163	return nil, false
8164}
8165
8166// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8167func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
8168	return nil, false
8169}
8170
8171// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8172func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
8173	return nil, false
8174}
8175
8176// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8177func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
8178	return &aurse, true
8179}
8180
8181// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8182func (aurse ApplicationUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8183	return nil, false
8184}
8185
8186// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8187func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8188	return nil, false
8189}
8190
8191// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8192func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8193	return nil, false
8194}
8195
8196// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8197func (aurse ApplicationUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8198	return nil, false
8199}
8200
8201// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8202func (aurse ApplicationUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8203	return nil, false
8204}
8205
8206// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8207func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8208	return nil, false
8209}
8210
8211// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8212func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8213	return nil, false
8214}
8215
8216// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8217func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8218	return nil, false
8219}
8220
8221// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8222func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8223	return nil, false
8224}
8225
8226// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8227func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8228	return nil, false
8229}
8230
8231// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8232func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8233	return nil, false
8234}
8235
8236// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8237func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8238	return nil, false
8239}
8240
8241// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8242func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8243	return nil, false
8244}
8245
8246// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8247func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8248	return nil, false
8249}
8250
8251// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8252func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8253	return nil, false
8254}
8255
8256// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8257func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8258	return nil, false
8259}
8260
8261// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8262func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8263	return nil, false
8264}
8265
8266// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8267func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8268	return nil, false
8269}
8270
8271// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8272func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8273	return nil, false
8274}
8275
8276// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8277func (aurse ApplicationUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8278	return nil, false
8279}
8280
8281// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8282func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8283	return nil, false
8284}
8285
8286// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8287func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8288	return nil, false
8289}
8290
8291// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8292func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8293	return nil, false
8294}
8295
8296// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8297func (aurse ApplicationUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8298	return nil, false
8299}
8300
8301// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8302func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8303	return nil, false
8304}
8305
8306// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8307func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8308	return nil, false
8309}
8310
8311// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8312func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8313	return nil, false
8314}
8315
8316// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8317func (aurse ApplicationUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8318	return nil, false
8319}
8320
8321// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8322func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8323	return nil, false
8324}
8325
8326// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8327func (aurse ApplicationUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8328	return nil, false
8329}
8330
8331// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8332func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8333	return nil, false
8334}
8335
8336// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8337func (aurse ApplicationUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8338	return nil, false
8339}
8340
8341// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8342func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8343	return nil, false
8344}
8345
8346// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8347func (aurse ApplicationUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8348	return nil, false
8349}
8350
8351// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8352func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8353	return nil, false
8354}
8355
8356// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8357func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8358	return nil, false
8359}
8360
8361// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8362func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8363	return nil, false
8364}
8365
8366// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8367func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8368	return nil, false
8369}
8370
8371// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8372func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8373	return nil, false
8374}
8375
8376// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8377func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8378	return nil, false
8379}
8380
8381// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8382func (aurse ApplicationUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8383	return nil, false
8384}
8385
8386// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8387func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8388	return nil, false
8389}
8390
8391// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8392func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8393	return nil, false
8394}
8395
8396// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8397func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8398	return nil, false
8399}
8400
8401// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8402func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8403	return nil, false
8404}
8405
8406// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8407func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8408	return nil, false
8409}
8410
8411// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8412func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8413	return nil, false
8414}
8415
8416// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8417func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8418	return nil, false
8419}
8420
8421// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8422func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8423	return nil, false
8424}
8425
8426// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8427func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8428	return nil, false
8429}
8430
8431// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8432func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8433	return nil, false
8434}
8435
8436// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8437func (aurse ApplicationUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8438	return nil, false
8439}
8440
8441// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8442func (aurse ApplicationUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
8443	return nil, false
8444}
8445
8446// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeRollbackStartEvent.
8447func (aurse ApplicationUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8448	return &aurse, true
8449}
8450
8451// ApplicationUpgradeStartEvent application Upgrade Start event.
8452type ApplicationUpgradeStartEvent struct {
8453	// ApplicationTypeName - Application type name.
8454	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
8455	// CurrentApplicationTypeVersion - Current Application type version.
8456	CurrentApplicationTypeVersion *string `json:"CurrentApplicationTypeVersion,omitempty"`
8457	// ApplicationTypeVersion - Target Application type version.
8458	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
8459	// UpgradeType - Type of upgrade.
8460	UpgradeType *string `json:"UpgradeType,omitempty"`
8461	// RollingUpgradeMode - Mode of upgrade.
8462	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
8463	// FailureAction - Action if failed.
8464	FailureAction *string `json:"FailureAction,omitempty"`
8465	// 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.
8466	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
8467	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
8468	ApplicationID *string `json:"ApplicationId,omitempty"`
8469	// EventInstanceID - The identifier for the FabricEvent instance.
8470	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
8471	// TimeStamp - The time event was logged.
8472	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
8473	// HasCorrelatedEvents - Shows there is existing related events available.
8474	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
8475	// 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'
8476	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
8477}
8478
8479// MarshalJSON is the custom marshaler for ApplicationUpgradeStartEvent.
8480func (ause ApplicationUpgradeStartEvent) MarshalJSON() ([]byte, error) {
8481	ause.Kind = KindApplicationUpgradeStart
8482	objectMap := make(map[string]interface{})
8483	if ause.ApplicationTypeName != nil {
8484		objectMap["ApplicationTypeName"] = ause.ApplicationTypeName
8485	}
8486	if ause.CurrentApplicationTypeVersion != nil {
8487		objectMap["CurrentApplicationTypeVersion"] = ause.CurrentApplicationTypeVersion
8488	}
8489	if ause.ApplicationTypeVersion != nil {
8490		objectMap["ApplicationTypeVersion"] = ause.ApplicationTypeVersion
8491	}
8492	if ause.UpgradeType != nil {
8493		objectMap["UpgradeType"] = ause.UpgradeType
8494	}
8495	if ause.RollingUpgradeMode != nil {
8496		objectMap["RollingUpgradeMode"] = ause.RollingUpgradeMode
8497	}
8498	if ause.FailureAction != nil {
8499		objectMap["FailureAction"] = ause.FailureAction
8500	}
8501	if ause.ApplicationID != nil {
8502		objectMap["ApplicationId"] = ause.ApplicationID
8503	}
8504	if ause.EventInstanceID != nil {
8505		objectMap["EventInstanceId"] = ause.EventInstanceID
8506	}
8507	if ause.TimeStamp != nil {
8508		objectMap["TimeStamp"] = ause.TimeStamp
8509	}
8510	if ause.HasCorrelatedEvents != nil {
8511		objectMap["HasCorrelatedEvents"] = ause.HasCorrelatedEvents
8512	}
8513	if ause.Kind != "" {
8514		objectMap["Kind"] = ause.Kind
8515	}
8516	return json.Marshal(objectMap)
8517}
8518
8519// AsApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8520func (ause ApplicationUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
8521	return nil, false
8522}
8523
8524// AsBasicApplicationEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8525func (ause ApplicationUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
8526	return &ause, true
8527}
8528
8529// AsClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8530func (ause ApplicationUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
8531	return nil, false
8532}
8533
8534// AsBasicClusterEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8535func (ause ApplicationUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
8536	return nil, false
8537}
8538
8539// AsContainerInstanceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8540func (ause ApplicationUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
8541	return nil, false
8542}
8543
8544// AsNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8545func (ause ApplicationUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
8546	return nil, false
8547}
8548
8549// AsBasicNodeEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8550func (ause ApplicationUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
8551	return nil, false
8552}
8553
8554// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8555func (ause ApplicationUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
8556	return nil, false
8557}
8558
8559// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8560func (ause ApplicationUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
8561	return nil, false
8562}
8563
8564// AsPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8565func (ause ApplicationUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
8566	return nil, false
8567}
8568
8569// AsBasicPartitionEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8570func (ause ApplicationUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
8571	return nil, false
8572}
8573
8574// AsReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8575func (ause ApplicationUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
8576	return nil, false
8577}
8578
8579// AsBasicReplicaEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8580func (ause ApplicationUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
8581	return nil, false
8582}
8583
8584// AsServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8585func (ause ApplicationUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
8586	return nil, false
8587}
8588
8589// AsBasicServiceEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8590func (ause ApplicationUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
8591	return nil, false
8592}
8593
8594// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8595func (ause ApplicationUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
8596	return nil, false
8597}
8598
8599// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8600func (ause ApplicationUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
8601	return nil, false
8602}
8603
8604// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8605func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
8606	return nil, false
8607}
8608
8609// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8610func (ause ApplicationUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
8611	return nil, false
8612}
8613
8614// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8615func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
8616	return nil, false
8617}
8618
8619// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8620func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
8621	return nil, false
8622}
8623
8624// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8625func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
8626	return nil, false
8627}
8628
8629// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8630func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
8631	return nil, false
8632}
8633
8634// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8635func (ause ApplicationUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
8636	return &ause, true
8637}
8638
8639// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8640func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
8641	return nil, false
8642}
8643
8644// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8645func (ause ApplicationUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
8646	return nil, false
8647}
8648
8649// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8650func (ause ApplicationUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
8651	return nil, false
8652}
8653
8654// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8655func (ause ApplicationUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
8656	return nil, false
8657}
8658
8659// AsNodeAbortedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8660func (ause ApplicationUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
8661	return nil, false
8662}
8663
8664// AsNodeAbortingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8665func (ause ApplicationUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
8666	return nil, false
8667}
8668
8669// AsNodeAddedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8670func (ause ApplicationUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
8671	return nil, false
8672}
8673
8674// AsNodeCloseEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8675func (ause ApplicationUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
8676	return nil, false
8677}
8678
8679// AsNodeClosingEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8680func (ause ApplicationUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
8681	return nil, false
8682}
8683
8684// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8685func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
8686	return nil, false
8687}
8688
8689// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8690func (ause ApplicationUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
8691	return nil, false
8692}
8693
8694// AsNodeDownEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8695func (ause ApplicationUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
8696	return nil, false
8697}
8698
8699// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8700func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
8701	return nil, false
8702}
8703
8704// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8705func (ause ApplicationUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
8706	return nil, false
8707}
8708
8709// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8710func (ause ApplicationUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
8711	return nil, false
8712}
8713
8714// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8715func (ause ApplicationUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
8716	return nil, false
8717}
8718
8719// AsNodeOpeningEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8720func (ause ApplicationUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
8721	return nil, false
8722}
8723
8724// AsNodeRemovedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8725func (ause ApplicationUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
8726	return nil, false
8727}
8728
8729// AsNodeUpEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8730func (ause ApplicationUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
8731	return nil, false
8732}
8733
8734// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8735func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
8736	return nil, false
8737}
8738
8739// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8740func (ause ApplicationUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
8741	return nil, false
8742}
8743
8744// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8745func (ause ApplicationUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
8746	return nil, false
8747}
8748
8749// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8750func (ause ApplicationUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
8751	return nil, false
8752}
8753
8754// AsServiceCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8755func (ause ApplicationUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
8756	return nil, false
8757}
8758
8759// AsServiceDeletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8760func (ause ApplicationUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
8761	return nil, false
8762}
8763
8764// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8765func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
8766	return nil, false
8767}
8768
8769// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8770func (ause ApplicationUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
8771	return nil, false
8772}
8773
8774// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8775func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
8776	return nil, false
8777}
8778
8779// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8780func (ause ApplicationUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
8781	return nil, false
8782}
8783
8784// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8785func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
8786	return nil, false
8787}
8788
8789// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8790func (ause ApplicationUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
8791	return nil, false
8792}
8793
8794// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8795func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
8796	return nil, false
8797}
8798
8799// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8800func (ause ApplicationUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
8801	return nil, false
8802}
8803
8804// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8805func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
8806	return nil, false
8807}
8808
8809// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8810func (ause ApplicationUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
8811	return nil, false
8812}
8813
8814// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8815func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
8816	return nil, false
8817}
8818
8819// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8820func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
8821	return nil, false
8822}
8823
8824// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8825func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
8826	return nil, false
8827}
8828
8829// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8830func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
8831	return nil, false
8832}
8833
8834// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8835func (ause ApplicationUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
8836	return nil, false
8837}
8838
8839// AsChaosStoppedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8840func (ause ApplicationUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
8841	return nil, false
8842}
8843
8844// AsChaosStartedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8845func (ause ApplicationUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
8846	return nil, false
8847}
8848
8849// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8850func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
8851	return nil, false
8852}
8853
8854// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8855func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
8856	return nil, false
8857}
8858
8859// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8860func (ause ApplicationUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
8861	return nil, false
8862}
8863
8864// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8865func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
8866	return nil, false
8867}
8868
8869// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8870func (ause ApplicationUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
8871	return nil, false
8872}
8873
8874// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8875func (ause ApplicationUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
8876	return nil, false
8877}
8878
8879// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8880func (ause ApplicationUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
8881	return nil, false
8882}
8883
8884// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8885func (ause ApplicationUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
8886	return nil, false
8887}
8888
8889// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8890func (ause ApplicationUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
8891	return nil, false
8892}
8893
8894// AsFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8895func (ause ApplicationUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
8896	return nil, false
8897}
8898
8899// AsBasicFabricEvent is the BasicFabricEvent implementation for ApplicationUpgradeStartEvent.
8900func (ause ApplicationUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
8901	return &ause, true
8902}
8903
8904// ApplicationUpgradeUpdateDescription describes the parameters for updating an ongoing application
8905// upgrade.
8906type ApplicationUpgradeUpdateDescription struct {
8907	// Name - The name of the application, including the 'fabric:' URI scheme.
8908	Name *string `json:"Name,omitempty"`
8909	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
8910	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
8911	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
8912	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
8913	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
8914	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
8915}
8916
8917// AveragePartitionLoadScalingTrigger represents a scaling trigger related to an average load of a
8918// metric/resource of a partition.
8919type AveragePartitionLoadScalingTrigger struct {
8920	// MetricName - The name of the metric for which usage should be tracked.
8921	MetricName *string `json:"MetricName,omitempty"`
8922	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
8923	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
8924	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
8925	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
8926	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
8927	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
8928	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
8929	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
8930}
8931
8932// MarshalJSON is the custom marshaler for AveragePartitionLoadScalingTrigger.
8933func (aplst AveragePartitionLoadScalingTrigger) MarshalJSON() ([]byte, error) {
8934	aplst.Kind = KindAveragePartitionLoad
8935	objectMap := make(map[string]interface{})
8936	if aplst.MetricName != nil {
8937		objectMap["MetricName"] = aplst.MetricName
8938	}
8939	if aplst.LowerLoadThreshold != nil {
8940		objectMap["LowerLoadThreshold"] = aplst.LowerLoadThreshold
8941	}
8942	if aplst.UpperLoadThreshold != nil {
8943		objectMap["UpperLoadThreshold"] = aplst.UpperLoadThreshold
8944	}
8945	if aplst.ScaleIntervalInSeconds != nil {
8946		objectMap["ScaleIntervalInSeconds"] = aplst.ScaleIntervalInSeconds
8947	}
8948	if aplst.Kind != "" {
8949		objectMap["Kind"] = aplst.Kind
8950	}
8951	return json.Marshal(objectMap)
8952}
8953
8954// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8955func (aplst AveragePartitionLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
8956	return &aplst, true
8957}
8958
8959// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8960func (aplst AveragePartitionLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
8961	return nil, false
8962}
8963
8964// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8965func (aplst AveragePartitionLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
8966	return nil, false
8967}
8968
8969// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AveragePartitionLoadScalingTrigger.
8970func (aplst AveragePartitionLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
8971	return &aplst, true
8972}
8973
8974// AverageServiceLoadScalingTrigger represents a scaling policy related to an average load of a
8975// metric/resource of a service.
8976type AverageServiceLoadScalingTrigger struct {
8977	// MetricName - The name of the metric for which usage should be tracked.
8978	MetricName *string `json:"MetricName,omitempty"`
8979	// LowerLoadThreshold - The lower limit of the load below which a scale in operation should be performed.
8980	LowerLoadThreshold *string `json:"LowerLoadThreshold,omitempty"`
8981	// UpperLoadThreshold - The upper limit of the load beyond which a scale out operation should be performed.
8982	UpperLoadThreshold *string `json:"UpperLoadThreshold,omitempty"`
8983	// ScaleIntervalInSeconds - The period in seconds on which a decision is made whether to scale or not.
8984	ScaleIntervalInSeconds *int64 `json:"ScaleIntervalInSeconds,omitempty"`
8985	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
8986	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
8987}
8988
8989// MarshalJSON is the custom marshaler for AverageServiceLoadScalingTrigger.
8990func (aslst AverageServiceLoadScalingTrigger) MarshalJSON() ([]byte, error) {
8991	aslst.Kind = KindAverageServiceLoad
8992	objectMap := make(map[string]interface{})
8993	if aslst.MetricName != nil {
8994		objectMap["MetricName"] = aslst.MetricName
8995	}
8996	if aslst.LowerLoadThreshold != nil {
8997		objectMap["LowerLoadThreshold"] = aslst.LowerLoadThreshold
8998	}
8999	if aslst.UpperLoadThreshold != nil {
9000		objectMap["UpperLoadThreshold"] = aslst.UpperLoadThreshold
9001	}
9002	if aslst.ScaleIntervalInSeconds != nil {
9003		objectMap["ScaleIntervalInSeconds"] = aslst.ScaleIntervalInSeconds
9004	}
9005	if aslst.Kind != "" {
9006		objectMap["Kind"] = aslst.Kind
9007	}
9008	return json.Marshal(objectMap)
9009}
9010
9011// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
9012func (aslst AverageServiceLoadScalingTrigger) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
9013	return nil, false
9014}
9015
9016// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
9017func (aslst AverageServiceLoadScalingTrigger) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
9018	return &aslst, true
9019}
9020
9021// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
9022func (aslst AverageServiceLoadScalingTrigger) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
9023	return nil, false
9024}
9025
9026// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for AverageServiceLoadScalingTrigger.
9027func (aslst AverageServiceLoadScalingTrigger) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
9028	return &aslst, true
9029}
9030
9031// AzureBlobBackupStorageDescription describes the parameters for Azure blob store used for storing and
9032// enumerating backups.
9033type AzureBlobBackupStorageDescription struct {
9034	// ConnectionString - The connection string to connect to the Azure blob store.
9035	ConnectionString *string `json:"ConnectionString,omitempty"`
9036	// ContainerName - The name of the container in the blob store to store and enumerate backups from.
9037	ContainerName *string `json:"ContainerName,omitempty"`
9038	// FriendlyName - Friendly name for this backup storage.
9039	FriendlyName *string `json:"FriendlyName,omitempty"`
9040	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
9041	StorageKind StorageKind `json:"StorageKind,omitempty"`
9042}
9043
9044// MarshalJSON is the custom marshaler for AzureBlobBackupStorageDescription.
9045func (abbsd AzureBlobBackupStorageDescription) MarshalJSON() ([]byte, error) {
9046	abbsd.StorageKind = StorageKindAzureBlobStore
9047	objectMap := make(map[string]interface{})
9048	if abbsd.ConnectionString != nil {
9049		objectMap["ConnectionString"] = abbsd.ConnectionString
9050	}
9051	if abbsd.ContainerName != nil {
9052		objectMap["ContainerName"] = abbsd.ContainerName
9053	}
9054	if abbsd.FriendlyName != nil {
9055		objectMap["FriendlyName"] = abbsd.FriendlyName
9056	}
9057	if abbsd.StorageKind != "" {
9058		objectMap["StorageKind"] = abbsd.StorageKind
9059	}
9060	return json.Marshal(objectMap)
9061}
9062
9063// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
9064func (abbsd AzureBlobBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
9065	return &abbsd, true
9066}
9067
9068// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
9069func (abbsd AzureBlobBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
9070	return nil, false
9071}
9072
9073// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
9074func (abbsd AzureBlobBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
9075	return nil, false
9076}
9077
9078// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for AzureBlobBackupStorageDescription.
9079func (abbsd AzureBlobBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
9080	return &abbsd, true
9081}
9082
9083// BasicBackupConfigurationInfo describes the backup configuration information.
9084type BasicBackupConfigurationInfo interface {
9085	AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool)
9086	AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool)
9087	AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool)
9088	AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool)
9089}
9090
9091// BackupConfigurationInfo describes the backup configuration information.
9092type BackupConfigurationInfo struct {
9093	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
9094	PolicyName *string `json:"PolicyName,omitempty"`
9095	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
9096	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
9097	// SuspensionInfo - Describes the backup suspension details.
9098	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
9099	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
9100	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
9101}
9102
9103func unmarshalBasicBackupConfigurationInfo(body []byte) (BasicBackupConfigurationInfo, error) {
9104	var m map[string]interface{}
9105	err := json.Unmarshal(body, &m)
9106	if err != nil {
9107		return nil, err
9108	}
9109
9110	switch m["Kind"] {
9111	case string(KindBasicBackupConfigurationInfoKindApplication):
9112		var abci ApplicationBackupConfigurationInfo
9113		err := json.Unmarshal(body, &abci)
9114		return abci, err
9115	case string(KindBasicBackupConfigurationInfoKindService):
9116		var sbci ServiceBackupConfigurationInfo
9117		err := json.Unmarshal(body, &sbci)
9118		return sbci, err
9119	case string(KindBasicBackupConfigurationInfoKindPartition):
9120		var pbci PartitionBackupConfigurationInfo
9121		err := json.Unmarshal(body, &pbci)
9122		return pbci, err
9123	default:
9124		var bci BackupConfigurationInfo
9125		err := json.Unmarshal(body, &bci)
9126		return bci, err
9127	}
9128}
9129func unmarshalBasicBackupConfigurationInfoArray(body []byte) ([]BasicBackupConfigurationInfo, error) {
9130	var rawMessages []*json.RawMessage
9131	err := json.Unmarshal(body, &rawMessages)
9132	if err != nil {
9133		return nil, err
9134	}
9135
9136	bciArray := make([]BasicBackupConfigurationInfo, len(rawMessages))
9137
9138	for index, rawMessage := range rawMessages {
9139		bci, err := unmarshalBasicBackupConfigurationInfo(*rawMessage)
9140		if err != nil {
9141			return nil, err
9142		}
9143		bciArray[index] = bci
9144	}
9145	return bciArray, nil
9146}
9147
9148// MarshalJSON is the custom marshaler for BackupConfigurationInfo.
9149func (bci BackupConfigurationInfo) MarshalJSON() ([]byte, error) {
9150	bci.Kind = KindBasicBackupConfigurationInfoKindBackupConfigurationInfo
9151	objectMap := make(map[string]interface{})
9152	if bci.PolicyName != nil {
9153		objectMap["PolicyName"] = bci.PolicyName
9154	}
9155	if bci.PolicyInheritedFrom != "" {
9156		objectMap["PolicyInheritedFrom"] = bci.PolicyInheritedFrom
9157	}
9158	if bci.SuspensionInfo != nil {
9159		objectMap["SuspensionInfo"] = bci.SuspensionInfo
9160	}
9161	if bci.Kind != "" {
9162		objectMap["Kind"] = bci.Kind
9163	}
9164	return json.Marshal(objectMap)
9165}
9166
9167// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
9168func (bci BackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
9169	return nil, false
9170}
9171
9172// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
9173func (bci BackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
9174	return nil, false
9175}
9176
9177// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
9178func (bci BackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
9179	return nil, false
9180}
9181
9182// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
9183func (bci BackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
9184	return &bci, true
9185}
9186
9187// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for BackupConfigurationInfo.
9188func (bci BackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
9189	return &bci, true
9190}
9191
9192// BasicBackupEntity describes the Service Fabric entity that is configured for backup.
9193type BasicBackupEntity interface {
9194	AsApplicationBackupEntity() (*ApplicationBackupEntity, bool)
9195	AsServiceBackupEntity() (*ServiceBackupEntity, bool)
9196	AsPartitionBackupEntity() (*PartitionBackupEntity, bool)
9197	AsBackupEntity() (*BackupEntity, bool)
9198}
9199
9200// BackupEntity describes the Service Fabric entity that is configured for backup.
9201type BackupEntity struct {
9202	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
9203	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
9204}
9205
9206func unmarshalBasicBackupEntity(body []byte) (BasicBackupEntity, error) {
9207	var m map[string]interface{}
9208	err := json.Unmarshal(body, &m)
9209	if err != nil {
9210		return nil, err
9211	}
9212
9213	switch m["EntityKind"] {
9214	case string(EntityKindApplication1):
9215		var abe ApplicationBackupEntity
9216		err := json.Unmarshal(body, &abe)
9217		return abe, err
9218	case string(EntityKindService1):
9219		var sbe ServiceBackupEntity
9220		err := json.Unmarshal(body, &sbe)
9221		return sbe, err
9222	case string(EntityKindPartition1):
9223		var pbe PartitionBackupEntity
9224		err := json.Unmarshal(body, &pbe)
9225		return pbe, err
9226	default:
9227		var be BackupEntity
9228		err := json.Unmarshal(body, &be)
9229		return be, err
9230	}
9231}
9232func unmarshalBasicBackupEntityArray(body []byte) ([]BasicBackupEntity, error) {
9233	var rawMessages []*json.RawMessage
9234	err := json.Unmarshal(body, &rawMessages)
9235	if err != nil {
9236		return nil, err
9237	}
9238
9239	beArray := make([]BasicBackupEntity, len(rawMessages))
9240
9241	for index, rawMessage := range rawMessages {
9242		be, err := unmarshalBasicBackupEntity(*rawMessage)
9243		if err != nil {
9244			return nil, err
9245		}
9246		beArray[index] = be
9247	}
9248	return beArray, nil
9249}
9250
9251// MarshalJSON is the custom marshaler for BackupEntity.
9252func (be BackupEntity) MarshalJSON() ([]byte, error) {
9253	be.EntityKind = EntityKindBackupEntity
9254	objectMap := make(map[string]interface{})
9255	if be.EntityKind != "" {
9256		objectMap["EntityKind"] = be.EntityKind
9257	}
9258	return json.Marshal(objectMap)
9259}
9260
9261// AsApplicationBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9262func (be BackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
9263	return nil, false
9264}
9265
9266// AsServiceBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9267func (be BackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
9268	return nil, false
9269}
9270
9271// AsPartitionBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9272func (be BackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
9273	return nil, false
9274}
9275
9276// AsBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9277func (be BackupEntity) AsBackupEntity() (*BackupEntity, bool) {
9278	return &be, true
9279}
9280
9281// AsBasicBackupEntity is the BasicBackupEntity implementation for BackupEntity.
9282func (be BackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
9283	return &be, true
9284}
9285
9286// BackupEpoch an Epoch is a configuration number for the partition as a whole. When the configuration of
9287// the replica set changes, for example when the Primary replica changes, the operations that are
9288// replicated from the new Primary replica are said to be a new Epoch from the ones which were sent by the
9289// old Primary replica.
9290type BackupEpoch struct {
9291	// 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.
9292	ConfigurationNumber *string `json:"ConfigurationNumber,omitempty"`
9293	// DataLossNumber - The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica.
9294	DataLossNumber *string `json:"DataLossNumber,omitempty"`
9295}
9296
9297// BackupInfo represents a backup point which can be used to trigger a restore.
9298type BackupInfo struct {
9299	// BackupID - Unique backup ID .
9300	BackupID *uuid.UUID `json:"BackupId,omitempty"`
9301	// 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.
9302	BackupChainID *uuid.UUID `json:"BackupChainId,omitempty"`
9303	// ApplicationName - Name of the Service Fabric application this partition backup belongs to.
9304	ApplicationName *string `json:"ApplicationName,omitempty"`
9305	// ServiceName - Name of the Service Fabric service this partition backup belongs to.
9306	ServiceName *string `json:"ServiceName,omitempty"`
9307	// PartitionInformation - Information about the partition to which this backup belongs to
9308	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
9309	// BackupLocation - Location of the backup, relative to the backup store.
9310	BackupLocation *string `json:"BackupLocation,omitempty"`
9311	// BackupType - Describes the type of backup, whether its full or incremental. Possible values include: 'BackupTypeInvalid', 'BackupTypeFull', 'BackupTypeIncremental'
9312	BackupType BackupType `json:"BackupType,omitempty"`
9313	// EpochOfLastBackupRecord - Epoch of the last record in this backup.
9314	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
9315	// LsnOfLastBackupRecord - LSN of the last record in this backup.
9316	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
9317	// CreationTimeUtc - The date time when this backup was taken.
9318	CreationTimeUtc *date.Time `json:"CreationTimeUtc,omitempty"`
9319	// FailureError - Denotes the failure encountered in getting backup point information.
9320	FailureError *FabricErrorError `json:"FailureError,omitempty"`
9321}
9322
9323// UnmarshalJSON is the custom unmarshaler for BackupInfo struct.
9324func (bi *BackupInfo) UnmarshalJSON(body []byte) error {
9325	var m map[string]*json.RawMessage
9326	err := json.Unmarshal(body, &m)
9327	if err != nil {
9328		return err
9329	}
9330	for k, v := range m {
9331		switch k {
9332		case "BackupId":
9333			if v != nil {
9334				var backupID uuid.UUID
9335				err = json.Unmarshal(*v, &backupID)
9336				if err != nil {
9337					return err
9338				}
9339				bi.BackupID = &backupID
9340			}
9341		case "BackupChainId":
9342			if v != nil {
9343				var backupChainID uuid.UUID
9344				err = json.Unmarshal(*v, &backupChainID)
9345				if err != nil {
9346					return err
9347				}
9348				bi.BackupChainID = &backupChainID
9349			}
9350		case "ApplicationName":
9351			if v != nil {
9352				var applicationName string
9353				err = json.Unmarshal(*v, &applicationName)
9354				if err != nil {
9355					return err
9356				}
9357				bi.ApplicationName = &applicationName
9358			}
9359		case "ServiceName":
9360			if v != nil {
9361				var serviceName string
9362				err = json.Unmarshal(*v, &serviceName)
9363				if err != nil {
9364					return err
9365				}
9366				bi.ServiceName = &serviceName
9367			}
9368		case "PartitionInformation":
9369			if v != nil {
9370				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
9371				if err != nil {
9372					return err
9373				}
9374				bi.PartitionInformation = partitionInformation
9375			}
9376		case "BackupLocation":
9377			if v != nil {
9378				var backupLocation string
9379				err = json.Unmarshal(*v, &backupLocation)
9380				if err != nil {
9381					return err
9382				}
9383				bi.BackupLocation = &backupLocation
9384			}
9385		case "BackupType":
9386			if v != nil {
9387				var backupType BackupType
9388				err = json.Unmarshal(*v, &backupType)
9389				if err != nil {
9390					return err
9391				}
9392				bi.BackupType = backupType
9393			}
9394		case "EpochOfLastBackupRecord":
9395			if v != nil {
9396				var epochOfLastBackupRecord BackupEpoch
9397				err = json.Unmarshal(*v, &epochOfLastBackupRecord)
9398				if err != nil {
9399					return err
9400				}
9401				bi.EpochOfLastBackupRecord = &epochOfLastBackupRecord
9402			}
9403		case "LsnOfLastBackupRecord":
9404			if v != nil {
9405				var lsnOfLastBackupRecord string
9406				err = json.Unmarshal(*v, &lsnOfLastBackupRecord)
9407				if err != nil {
9408					return err
9409				}
9410				bi.LsnOfLastBackupRecord = &lsnOfLastBackupRecord
9411			}
9412		case "CreationTimeUtc":
9413			if v != nil {
9414				var creationTimeUtc date.Time
9415				err = json.Unmarshal(*v, &creationTimeUtc)
9416				if err != nil {
9417					return err
9418				}
9419				bi.CreationTimeUtc = &creationTimeUtc
9420			}
9421		case "FailureError":
9422			if v != nil {
9423				var failureError FabricErrorError
9424				err = json.Unmarshal(*v, &failureError)
9425				if err != nil {
9426					return err
9427				}
9428				bi.FailureError = &failureError
9429			}
9430		}
9431	}
9432
9433	return nil
9434}
9435
9436// BackupPartitionDescription describes the parameters for triggering partition's backup.
9437type BackupPartitionDescription struct {
9438	// BackupStorage - Specifies the details of the backup storage where to save the backup.
9439	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
9440}
9441
9442// UnmarshalJSON is the custom unmarshaler for BackupPartitionDescription struct.
9443func (bpd *BackupPartitionDescription) UnmarshalJSON(body []byte) error {
9444	var m map[string]*json.RawMessage
9445	err := json.Unmarshal(body, &m)
9446	if err != nil {
9447		return err
9448	}
9449	for k, v := range m {
9450		switch k {
9451		case "BackupStorage":
9452			if v != nil {
9453				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
9454				if err != nil {
9455					return err
9456				}
9457				bpd.BackupStorage = backupStorage
9458			}
9459		}
9460	}
9461
9462	return nil
9463}
9464
9465// BackupPolicyDescription describes a backup policy for configuring periodic backup.
9466type BackupPolicyDescription struct {
9467	autorest.Response `json:"-"`
9468	// Name - The unique name identifying this backup policy.
9469	Name *string `json:"Name,omitempty"`
9470	// AutoRestoreOnDataLoss - Specifies whether to trigger restore automatically using the latest available backup in case the partition experiences a data loss event.
9471	AutoRestoreOnDataLoss *bool `json:"AutoRestoreOnDataLoss,omitempty"`
9472	// 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
9473	// - The replica has never taken a full backup since it has become primary,
9474	// - Some of the log records since the last backup has been truncated, or
9475	// - Replica passed the MaxAccumulatedBackupLogSizeInMB limit.
9476	MaxIncrementalBackups *int32 `json:"MaxIncrementalBackups,omitempty"`
9477	// Schedule - Describes the backup schedule parameters.
9478	Schedule BasicBackupScheduleDescription `json:"Schedule,omitempty"`
9479	// Storage - Describes the details of backup storage where to store the periodic backups.
9480	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
9481}
9482
9483// UnmarshalJSON is the custom unmarshaler for BackupPolicyDescription struct.
9484func (bpd *BackupPolicyDescription) UnmarshalJSON(body []byte) error {
9485	var m map[string]*json.RawMessage
9486	err := json.Unmarshal(body, &m)
9487	if err != nil {
9488		return err
9489	}
9490	for k, v := range m {
9491		switch k {
9492		case "Name":
9493			if v != nil {
9494				var name string
9495				err = json.Unmarshal(*v, &name)
9496				if err != nil {
9497					return err
9498				}
9499				bpd.Name = &name
9500			}
9501		case "AutoRestoreOnDataLoss":
9502			if v != nil {
9503				var autoRestoreOnDataLoss bool
9504				err = json.Unmarshal(*v, &autoRestoreOnDataLoss)
9505				if err != nil {
9506					return err
9507				}
9508				bpd.AutoRestoreOnDataLoss = &autoRestoreOnDataLoss
9509			}
9510		case "MaxIncrementalBackups":
9511			if v != nil {
9512				var maxIncrementalBackups int32
9513				err = json.Unmarshal(*v, &maxIncrementalBackups)
9514				if err != nil {
9515					return err
9516				}
9517				bpd.MaxIncrementalBackups = &maxIncrementalBackups
9518			}
9519		case "Schedule":
9520			if v != nil {
9521				schedule, err := unmarshalBasicBackupScheduleDescription(*v)
9522				if err != nil {
9523					return err
9524				}
9525				bpd.Schedule = schedule
9526			}
9527		case "Storage":
9528			if v != nil {
9529				storage, err := unmarshalBasicBackupStorageDescription(*v)
9530				if err != nil {
9531					return err
9532				}
9533				bpd.Storage = storage
9534			}
9535		}
9536	}
9537
9538	return nil
9539}
9540
9541// BackupProgressInfo describes the progress of a partition's backup.
9542type BackupProgressInfo struct {
9543	autorest.Response `json:"-"`
9544	// BackupState - Represents the current state of the partition backup operation. Possible values include: 'BackupStateInvalid', 'BackupStateAccepted', 'BackupStateBackupInProgress', 'BackupStateSuccess', 'BackupStateFailure', 'BackupStateTimeout'
9545	BackupState BackupState `json:"BackupState,omitempty"`
9546	// TimeStampUtc - TimeStamp in UTC when operation succeeded or failed.
9547	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
9548	// BackupID - Unique ID of the newly created backup.
9549	BackupID *uuid.UUID `json:"BackupId,omitempty"`
9550	// BackupLocation - Location, relative to the backup store, of the newly created backup.
9551	BackupLocation *string `json:"BackupLocation,omitempty"`
9552	// EpochOfLastBackupRecord - Specifies the epoch of the last record included in backup.
9553	EpochOfLastBackupRecord *BackupEpoch `json:"EpochOfLastBackupRecord,omitempty"`
9554	// LsnOfLastBackupRecord - The LSN of last record included in backup.
9555	LsnOfLastBackupRecord *string `json:"LsnOfLastBackupRecord,omitempty"`
9556	// FailureError - Denotes the failure encountered in performing backup operation.
9557	FailureError *FabricErrorError `json:"FailureError,omitempty"`
9558}
9559
9560// BasicBackupScheduleDescription describes the backup schedule parameters.
9561type BasicBackupScheduleDescription interface {
9562	AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool)
9563	AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool)
9564	AsBackupScheduleDescription() (*BackupScheduleDescription, bool)
9565}
9566
9567// BackupScheduleDescription describes the backup schedule parameters.
9568type BackupScheduleDescription struct {
9569	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
9570	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
9571}
9572
9573func unmarshalBasicBackupScheduleDescription(body []byte) (BasicBackupScheduleDescription, error) {
9574	var m map[string]interface{}
9575	err := json.Unmarshal(body, &m)
9576	if err != nil {
9577		return nil, err
9578	}
9579
9580	switch m["ScheduleKind"] {
9581	case string(ScheduleKindFrequencyBased):
9582		var fbbsd FrequencyBasedBackupScheduleDescription
9583		err := json.Unmarshal(body, &fbbsd)
9584		return fbbsd, err
9585	case string(ScheduleKindTimeBased):
9586		var tbbsd TimeBasedBackupScheduleDescription
9587		err := json.Unmarshal(body, &tbbsd)
9588		return tbbsd, err
9589	default:
9590		var bsd BackupScheduleDescription
9591		err := json.Unmarshal(body, &bsd)
9592		return bsd, err
9593	}
9594}
9595func unmarshalBasicBackupScheduleDescriptionArray(body []byte) ([]BasicBackupScheduleDescription, error) {
9596	var rawMessages []*json.RawMessage
9597	err := json.Unmarshal(body, &rawMessages)
9598	if err != nil {
9599		return nil, err
9600	}
9601
9602	bsdArray := make([]BasicBackupScheduleDescription, len(rawMessages))
9603
9604	for index, rawMessage := range rawMessages {
9605		bsd, err := unmarshalBasicBackupScheduleDescription(*rawMessage)
9606		if err != nil {
9607			return nil, err
9608		}
9609		bsdArray[index] = bsd
9610	}
9611	return bsdArray, nil
9612}
9613
9614// MarshalJSON is the custom marshaler for BackupScheduleDescription.
9615func (bsd BackupScheduleDescription) MarshalJSON() ([]byte, error) {
9616	bsd.ScheduleKind = ScheduleKindBackupScheduleDescription
9617	objectMap := make(map[string]interface{})
9618	if bsd.ScheduleKind != "" {
9619		objectMap["ScheduleKind"] = bsd.ScheduleKind
9620	}
9621	return json.Marshal(objectMap)
9622}
9623
9624// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9625func (bsd BackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
9626	return nil, false
9627}
9628
9629// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9630func (bsd BackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
9631	return nil, false
9632}
9633
9634// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9635func (bsd BackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
9636	return &bsd, true
9637}
9638
9639// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for BackupScheduleDescription.
9640func (bsd BackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
9641	return &bsd, true
9642}
9643
9644// BasicBackupStorageDescription describes the parameters for the backup storage.
9645type BasicBackupStorageDescription interface {
9646	AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool)
9647	AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool)
9648	AsBackupStorageDescription() (*BackupStorageDescription, bool)
9649}
9650
9651// BackupStorageDescription describes the parameters for the backup storage.
9652type BackupStorageDescription struct {
9653	// FriendlyName - Friendly name for this backup storage.
9654	FriendlyName *string `json:"FriendlyName,omitempty"`
9655	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
9656	StorageKind StorageKind `json:"StorageKind,omitempty"`
9657}
9658
9659func unmarshalBasicBackupStorageDescription(body []byte) (BasicBackupStorageDescription, error) {
9660	var m map[string]interface{}
9661	err := json.Unmarshal(body, &m)
9662	if err != nil {
9663		return nil, err
9664	}
9665
9666	switch m["StorageKind"] {
9667	case string(StorageKindAzureBlobStore):
9668		var abbsd AzureBlobBackupStorageDescription
9669		err := json.Unmarshal(body, &abbsd)
9670		return abbsd, err
9671	case string(StorageKindFileShare):
9672		var fsbsd FileShareBackupStorageDescription
9673		err := json.Unmarshal(body, &fsbsd)
9674		return fsbsd, err
9675	default:
9676		var bsd BackupStorageDescription
9677		err := json.Unmarshal(body, &bsd)
9678		return bsd, err
9679	}
9680}
9681func unmarshalBasicBackupStorageDescriptionArray(body []byte) ([]BasicBackupStorageDescription, error) {
9682	var rawMessages []*json.RawMessage
9683	err := json.Unmarshal(body, &rawMessages)
9684	if err != nil {
9685		return nil, err
9686	}
9687
9688	bsdArray := make([]BasicBackupStorageDescription, len(rawMessages))
9689
9690	for index, rawMessage := range rawMessages {
9691		bsd, err := unmarshalBasicBackupStorageDescription(*rawMessage)
9692		if err != nil {
9693			return nil, err
9694		}
9695		bsdArray[index] = bsd
9696	}
9697	return bsdArray, nil
9698}
9699
9700// MarshalJSON is the custom marshaler for BackupStorageDescription.
9701func (bsd BackupStorageDescription) MarshalJSON() ([]byte, error) {
9702	bsd.StorageKind = StorageKindBackupStorageDescription
9703	objectMap := make(map[string]interface{})
9704	if bsd.FriendlyName != nil {
9705		objectMap["FriendlyName"] = bsd.FriendlyName
9706	}
9707	if bsd.StorageKind != "" {
9708		objectMap["StorageKind"] = bsd.StorageKind
9709	}
9710	return json.Marshal(objectMap)
9711}
9712
9713// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9714func (bsd BackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
9715	return nil, false
9716}
9717
9718// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9719func (bsd BackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
9720	return nil, false
9721}
9722
9723// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9724func (bsd BackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
9725	return &bsd, true
9726}
9727
9728// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for BackupStorageDescription.
9729func (bsd BackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
9730	return &bsd, true
9731}
9732
9733// BackupSuspensionInfo describes the backup suspension details.
9734type BackupSuspensionInfo struct {
9735	// IsSuspended - Indicates whether periodic backup is suspended at this level or not.
9736	IsSuspended *bool `json:"IsSuspended,omitempty"`
9737	// SuspensionInheritedFrom - Specifies the scope at which the backup suspension was applied. Possible values include: 'BackupSuspensionScopeInvalid', 'BackupSuspensionScopePartition', 'BackupSuspensionScopeService', 'BackupSuspensionScopeApplication'
9738	SuspensionInheritedFrom BackupSuspensionScope `json:"SuspensionInheritedFrom,omitempty"`
9739}
9740
9741// BinaryPropertyValue describes a Service Fabric property value of type Binary.
9742type BinaryPropertyValue struct {
9743	// Data - Array of bytes to be sent as an integer array. Each element of array is a number between 0 and 255.
9744	Data *[]int32 `json:"Data,omitempty"`
9745	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
9746	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
9747}
9748
9749// MarshalJSON is the custom marshaler for BinaryPropertyValue.
9750func (bpv BinaryPropertyValue) MarshalJSON() ([]byte, error) {
9751	bpv.Kind = KindBinary
9752	objectMap := make(map[string]interface{})
9753	if bpv.Data != nil {
9754		objectMap["Data"] = bpv.Data
9755	}
9756	if bpv.Kind != "" {
9757		objectMap["Kind"] = bpv.Kind
9758	}
9759	return json.Marshal(objectMap)
9760}
9761
9762// AsBinaryPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9763func (bpv BinaryPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
9764	return &bpv, true
9765}
9766
9767// AsInt64PropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9768func (bpv BinaryPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
9769	return nil, false
9770}
9771
9772// AsDoublePropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9773func (bpv BinaryPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
9774	return nil, false
9775}
9776
9777// AsStringPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9778func (bpv BinaryPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
9779	return nil, false
9780}
9781
9782// AsGUIDPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9783func (bpv BinaryPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
9784	return nil, false
9785}
9786
9787// AsPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9788func (bpv BinaryPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
9789	return nil, false
9790}
9791
9792// AsBasicPropertyValue is the BasicPropertyValue implementation for BinaryPropertyValue.
9793func (bpv BinaryPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
9794	return &bpv, true
9795}
9796
9797// Chaos contains a description of Chaos.
9798type Chaos struct {
9799	autorest.Response `json:"-"`
9800	// ChaosParameters - If Chaos is running, these are the parameters Chaos is running with.
9801	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
9802	// Status - Current status of the Chaos run. Possible values include: 'ChaosStatusInvalid', 'ChaosStatusRunning', 'ChaosStatusStopped'
9803	Status ChaosStatus `json:"Status,omitempty"`
9804	// ScheduleStatus - Current status of the schedule. Possible values include: 'ChaosScheduleStatusInvalid', 'ChaosScheduleStatusStopped', 'ChaosScheduleStatusActive', 'ChaosScheduleStatusExpired', 'ChaosScheduleStatusPending'
9805	ScheduleStatus ChaosScheduleStatus `json:"ScheduleStatus,omitempty"`
9806}
9807
9808// ChaosContext describes a map, which is a collection of (string, string) type key-value pairs. The map
9809// can be used to record information about
9810// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most
9811// 4095 characters long.
9812// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
9813type ChaosContext struct {
9814	// Map - Describes a map that contains a collection of ChaosContextMapItem's.
9815	Map map[string]*string `json:"Map"`
9816}
9817
9818// MarshalJSON is the custom marshaler for ChaosContext.
9819func (cc ChaosContext) MarshalJSON() ([]byte, error) {
9820	objectMap := make(map[string]interface{})
9821	if cc.Map != nil {
9822		objectMap["Map"] = cc.Map
9823	}
9824	return json.Marshal(objectMap)
9825}
9826
9827// BasicChaosEvent represents an event generated during a Chaos run.
9828type BasicChaosEvent interface {
9829	AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool)
9830	AsStartedChaosEvent() (*StartedChaosEvent, bool)
9831	AsStoppedChaosEvent() (*StoppedChaosEvent, bool)
9832	AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool)
9833	AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool)
9834	AsWaitingChaosEvent() (*WaitingChaosEvent, bool)
9835	AsChaosEvent() (*ChaosEvent, bool)
9836}
9837
9838// ChaosEvent represents an event generated during a Chaos run.
9839type ChaosEvent struct {
9840	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
9841	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
9842	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
9843	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
9844}
9845
9846func unmarshalBasicChaosEvent(body []byte) (BasicChaosEvent, error) {
9847	var m map[string]interface{}
9848	err := json.Unmarshal(body, &m)
9849	if err != nil {
9850		return nil, err
9851	}
9852
9853	switch m["Kind"] {
9854	case string(KindExecutingFaults):
9855		var efce ExecutingFaultsChaosEvent
9856		err := json.Unmarshal(body, &efce)
9857		return efce, err
9858	case string(KindStarted):
9859		var sce StartedChaosEvent
9860		err := json.Unmarshal(body, &sce)
9861		return sce, err
9862	case string(KindStopped):
9863		var sce StoppedChaosEvent
9864		err := json.Unmarshal(body, &sce)
9865		return sce, err
9866	case string(KindTestError):
9867		var tece TestErrorChaosEvent
9868		err := json.Unmarshal(body, &tece)
9869		return tece, err
9870	case string(KindValidationFailed):
9871		var vfce ValidationFailedChaosEvent
9872		err := json.Unmarshal(body, &vfce)
9873		return vfce, err
9874	case string(KindWaiting):
9875		var wce WaitingChaosEvent
9876		err := json.Unmarshal(body, &wce)
9877		return wce, err
9878	default:
9879		var ce ChaosEvent
9880		err := json.Unmarshal(body, &ce)
9881		return ce, err
9882	}
9883}
9884func unmarshalBasicChaosEventArray(body []byte) ([]BasicChaosEvent, error) {
9885	var rawMessages []*json.RawMessage
9886	err := json.Unmarshal(body, &rawMessages)
9887	if err != nil {
9888		return nil, err
9889	}
9890
9891	ceArray := make([]BasicChaosEvent, len(rawMessages))
9892
9893	for index, rawMessage := range rawMessages {
9894		ce, err := unmarshalBasicChaosEvent(*rawMessage)
9895		if err != nil {
9896			return nil, err
9897		}
9898		ceArray[index] = ce
9899	}
9900	return ceArray, nil
9901}
9902
9903// MarshalJSON is the custom marshaler for ChaosEvent.
9904func (ce ChaosEvent) MarshalJSON() ([]byte, error) {
9905	ce.Kind = KindChaosEvent
9906	objectMap := make(map[string]interface{})
9907	if ce.TimeStampUtc != nil {
9908		objectMap["TimeStampUtc"] = ce.TimeStampUtc
9909	}
9910	if ce.Kind != "" {
9911		objectMap["Kind"] = ce.Kind
9912	}
9913	return json.Marshal(objectMap)
9914}
9915
9916// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9917func (ce ChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
9918	return nil, false
9919}
9920
9921// AsStartedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9922func (ce ChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
9923	return nil, false
9924}
9925
9926// AsStoppedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9927func (ce ChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
9928	return nil, false
9929}
9930
9931// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9932func (ce ChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
9933	return nil, false
9934}
9935
9936// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9937func (ce ChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
9938	return nil, false
9939}
9940
9941// AsWaitingChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9942func (ce ChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
9943	return nil, false
9944}
9945
9946// AsChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9947func (ce ChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
9948	return &ce, true
9949}
9950
9951// AsBasicChaosEvent is the BasicChaosEvent implementation for ChaosEvent.
9952func (ce ChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
9953	return &ce, true
9954}
9955
9956// ChaosEventsSegment contains the list of Chaos events and the continuation token to get the next segment.
9957type ChaosEventsSegment struct {
9958	autorest.Response `json:"-"`
9959	// 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.
9960	ContinuationToken *string `json:"ContinuationToken,omitempty"`
9961	// History - List of Chaos events that meet the user-supplied criteria.
9962	History *[]ChaosEventWrapper `json:"History,omitempty"`
9963}
9964
9965// ChaosEventWrapper wrapper object for Chaos event.
9966type ChaosEventWrapper struct {
9967	// ChaosEvent - Represents an event generated during a Chaos run.
9968	ChaosEvent BasicChaosEvent `json:"ChaosEvent,omitempty"`
9969}
9970
9971// UnmarshalJSON is the custom unmarshaler for ChaosEventWrapper struct.
9972func (cew *ChaosEventWrapper) UnmarshalJSON(body []byte) error {
9973	var m map[string]*json.RawMessage
9974	err := json.Unmarshal(body, &m)
9975	if err != nil {
9976		return err
9977	}
9978	for k, v := range m {
9979		switch k {
9980		case "ChaosEvent":
9981			if v != nil {
9982				chaosEvent, err := unmarshalBasicChaosEvent(*v)
9983				if err != nil {
9984					return err
9985				}
9986				cew.ChaosEvent = chaosEvent
9987			}
9988		}
9989	}
9990
9991	return nil
9992}
9993
9994// ChaosMovePrimaryFaultScheduledEvent chaos Move Primary Fault Scheduled event.
9995type ChaosMovePrimaryFaultScheduledEvent struct {
9996	// FaultGroupID - Id of fault group.
9997	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
9998	// FaultID - Id of fault.
9999	FaultID *uuid.UUID `json:"FaultId,omitempty"`
10000	// ServiceName - Service name.
10001	ServiceName *string `json:"ServiceName,omitempty"`
10002	// NodeTo - The name of a Service Fabric node.
10003	NodeTo *string `json:"NodeTo,omitempty"`
10004	// ForcedMove - Indicates a forced move.
10005	ForcedMove *bool `json:"ForcedMove,omitempty"`
10006	// 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.
10007	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
10008	// EventInstanceID - The identifier for the FabricEvent instance.
10009	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10010	// TimeStamp - The time event was logged.
10011	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10012	// HasCorrelatedEvents - Shows there is existing related events available.
10013	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10014	// 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'
10015	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10016}
10017
10018// MarshalJSON is the custom marshaler for ChaosMovePrimaryFaultScheduledEvent.
10019func (cmpfse ChaosMovePrimaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
10020	cmpfse.Kind = KindChaosMovePrimaryFaultScheduled
10021	objectMap := make(map[string]interface{})
10022	if cmpfse.FaultGroupID != nil {
10023		objectMap["FaultGroupId"] = cmpfse.FaultGroupID
10024	}
10025	if cmpfse.FaultID != nil {
10026		objectMap["FaultId"] = cmpfse.FaultID
10027	}
10028	if cmpfse.ServiceName != nil {
10029		objectMap["ServiceName"] = cmpfse.ServiceName
10030	}
10031	if cmpfse.NodeTo != nil {
10032		objectMap["NodeTo"] = cmpfse.NodeTo
10033	}
10034	if cmpfse.ForcedMove != nil {
10035		objectMap["ForcedMove"] = cmpfse.ForcedMove
10036	}
10037	if cmpfse.PartitionID != nil {
10038		objectMap["PartitionId"] = cmpfse.PartitionID
10039	}
10040	if cmpfse.EventInstanceID != nil {
10041		objectMap["EventInstanceId"] = cmpfse.EventInstanceID
10042	}
10043	if cmpfse.TimeStamp != nil {
10044		objectMap["TimeStamp"] = cmpfse.TimeStamp
10045	}
10046	if cmpfse.HasCorrelatedEvents != nil {
10047		objectMap["HasCorrelatedEvents"] = cmpfse.HasCorrelatedEvents
10048	}
10049	if cmpfse.Kind != "" {
10050		objectMap["Kind"] = cmpfse.Kind
10051	}
10052	return json.Marshal(objectMap)
10053}
10054
10055// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10056func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10057	return nil, false
10058}
10059
10060// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10061func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10062	return nil, false
10063}
10064
10065// AsClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10066func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
10067	return nil, false
10068}
10069
10070// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10071func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10072	return nil, false
10073}
10074
10075// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10076func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10077	return nil, false
10078}
10079
10080// AsNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10081func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
10082	return nil, false
10083}
10084
10085// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10086func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10087	return nil, false
10088}
10089
10090// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10091func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10092	return nil, false
10093}
10094
10095// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10096func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10097	return nil, false
10098}
10099
10100// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10101func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10102	return nil, false
10103}
10104
10105// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10106func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10107	return &cmpfse, true
10108}
10109
10110// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10111func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10112	return nil, false
10113}
10114
10115// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10116func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10117	return nil, false
10118}
10119
10120// AsServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10121func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
10122	return nil, false
10123}
10124
10125// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10126func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10127	return nil, false
10128}
10129
10130// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10131func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10132	return nil, false
10133}
10134
10135// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10136func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10137	return nil, false
10138}
10139
10140// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10141func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10142	return nil, false
10143}
10144
10145// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10146func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10147	return nil, false
10148}
10149
10150// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10151func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10152	return nil, false
10153}
10154
10155// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10156func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10157	return nil, false
10158}
10159
10160// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10161func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10162	return nil, false
10163}
10164
10165// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10166func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10167	return nil, false
10168}
10169
10170// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10171func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10172	return nil, false
10173}
10174
10175// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10176func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10177	return nil, false
10178}
10179
10180// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10181func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10182	return nil, false
10183}
10184
10185// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10186func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10187	return nil, false
10188}
10189
10190// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10191func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10192	return nil, false
10193}
10194
10195// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10196func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10197	return nil, false
10198}
10199
10200// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10201func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10202	return nil, false
10203}
10204
10205// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10206func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10207	return nil, false
10208}
10209
10210// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10211func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10212	return nil, false
10213}
10214
10215// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10216func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10217	return nil, false
10218}
10219
10220// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10221func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10222	return nil, false
10223}
10224
10225// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10226func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10227	return nil, false
10228}
10229
10230// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10231func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10232	return nil, false
10233}
10234
10235// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10236func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10237	return nil, false
10238}
10239
10240// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10241func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10242	return nil, false
10243}
10244
10245// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10246func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10247	return nil, false
10248}
10249
10250// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10251func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10252	return nil, false
10253}
10254
10255// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10256func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10257	return nil, false
10258}
10259
10260// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10261func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10262	return nil, false
10263}
10264
10265// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10266func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10267	return nil, false
10268}
10269
10270// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10271func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10272	return nil, false
10273}
10274
10275// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10276func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10277	return nil, false
10278}
10279
10280// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10281func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10282	return nil, false
10283}
10284
10285// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10286func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10287	return nil, false
10288}
10289
10290// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10291func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10292	return nil, false
10293}
10294
10295// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10296func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10297	return nil, false
10298}
10299
10300// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10301func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10302	return nil, false
10303}
10304
10305// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10306func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10307	return nil, false
10308}
10309
10310// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10311func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10312	return nil, false
10313}
10314
10315// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10316func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10317	return nil, false
10318}
10319
10320// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10321func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10322	return nil, false
10323}
10324
10325// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10326func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10327	return nil, false
10328}
10329
10330// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10331func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10332	return nil, false
10333}
10334
10335// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10336func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10337	return nil, false
10338}
10339
10340// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10341func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10342	return nil, false
10343}
10344
10345// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10346func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10347	return nil, false
10348}
10349
10350// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10351func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10352	return nil, false
10353}
10354
10355// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10356func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10357	return nil, false
10358}
10359
10360// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10361func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10362	return nil, false
10363}
10364
10365// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10366func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10367	return nil, false
10368}
10369
10370// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10371func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10372	return nil, false
10373}
10374
10375// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10376func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10377	return nil, false
10378}
10379
10380// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10381func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10382	return nil, false
10383}
10384
10385// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10386func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10387	return nil, false
10388}
10389
10390// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10391func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10392	return nil, false
10393}
10394
10395// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10396func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10397	return nil, false
10398}
10399
10400// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10401func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10402	return nil, false
10403}
10404
10405// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10406func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10407	return nil, false
10408}
10409
10410// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10411func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10412	return nil, false
10413}
10414
10415// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10416func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10417	return &cmpfse, true
10418}
10419
10420// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10421func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10422	return nil, false
10423}
10424
10425// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10426func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10427	return nil, false
10428}
10429
10430// AsFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10431func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10432	return nil, false
10433}
10434
10435// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMovePrimaryFaultScheduledEvent.
10436func (cmpfse ChaosMovePrimaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10437	return &cmpfse, true
10438}
10439
10440// ChaosMoveSecondaryFaultScheduledEvent chaos Move Secondary Fault Scheduled event.
10441type ChaosMoveSecondaryFaultScheduledEvent struct {
10442	// FaultGroupID - Id of fault group.
10443	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
10444	// FaultID - Id of fault.
10445	FaultID *uuid.UUID `json:"FaultId,omitempty"`
10446	// ServiceName - Service name.
10447	ServiceName *string `json:"ServiceName,omitempty"`
10448	// SourceNode - The name of a Service Fabric node.
10449	SourceNode *string `json:"SourceNode,omitempty"`
10450	// DestinationNode - The name of a Service Fabric node.
10451	DestinationNode *string `json:"DestinationNode,omitempty"`
10452	// ForcedMove - Indicates a forced move.
10453	ForcedMove *bool `json:"ForcedMove,omitempty"`
10454	// 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.
10455	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
10456	// EventInstanceID - The identifier for the FabricEvent instance.
10457	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10458	// TimeStamp - The time event was logged.
10459	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10460	// HasCorrelatedEvents - Shows there is existing related events available.
10461	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10462	// 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'
10463	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10464}
10465
10466// MarshalJSON is the custom marshaler for ChaosMoveSecondaryFaultScheduledEvent.
10467func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) MarshalJSON() ([]byte, error) {
10468	cmsfse.Kind = KindChaosMoveSecondaryFaultScheduled
10469	objectMap := make(map[string]interface{})
10470	if cmsfse.FaultGroupID != nil {
10471		objectMap["FaultGroupId"] = cmsfse.FaultGroupID
10472	}
10473	if cmsfse.FaultID != nil {
10474		objectMap["FaultId"] = cmsfse.FaultID
10475	}
10476	if cmsfse.ServiceName != nil {
10477		objectMap["ServiceName"] = cmsfse.ServiceName
10478	}
10479	if cmsfse.SourceNode != nil {
10480		objectMap["SourceNode"] = cmsfse.SourceNode
10481	}
10482	if cmsfse.DestinationNode != nil {
10483		objectMap["DestinationNode"] = cmsfse.DestinationNode
10484	}
10485	if cmsfse.ForcedMove != nil {
10486		objectMap["ForcedMove"] = cmsfse.ForcedMove
10487	}
10488	if cmsfse.PartitionID != nil {
10489		objectMap["PartitionId"] = cmsfse.PartitionID
10490	}
10491	if cmsfse.EventInstanceID != nil {
10492		objectMap["EventInstanceId"] = cmsfse.EventInstanceID
10493	}
10494	if cmsfse.TimeStamp != nil {
10495		objectMap["TimeStamp"] = cmsfse.TimeStamp
10496	}
10497	if cmsfse.HasCorrelatedEvents != nil {
10498		objectMap["HasCorrelatedEvents"] = cmsfse.HasCorrelatedEvents
10499	}
10500	if cmsfse.Kind != "" {
10501		objectMap["Kind"] = cmsfse.Kind
10502	}
10503	return json.Marshal(objectMap)
10504}
10505
10506// AsApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10507func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10508	return nil, false
10509}
10510
10511// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10512func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10513	return nil, false
10514}
10515
10516// AsClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10517func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
10518	return nil, false
10519}
10520
10521// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10522func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
10523	return nil, false
10524}
10525
10526// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10527func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
10528	return nil, false
10529}
10530
10531// AsNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10532func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
10533	return nil, false
10534}
10535
10536// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10537func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
10538	return nil, false
10539}
10540
10541// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10542func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
10543	return nil, false
10544}
10545
10546// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10547func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
10548	return nil, false
10549}
10550
10551// AsPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10552func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
10553	return nil, false
10554}
10555
10556// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10557func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
10558	return &cmsfse, true
10559}
10560
10561// AsReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10562func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
10563	return nil, false
10564}
10565
10566// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10567func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
10568	return nil, false
10569}
10570
10571// AsServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10572func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
10573	return nil, false
10574}
10575
10576// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10577func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
10578	return nil, false
10579}
10580
10581// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10582func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
10583	return nil, false
10584}
10585
10586// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10587func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
10588	return nil, false
10589}
10590
10591// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10592func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
10593	return nil, false
10594}
10595
10596// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10597func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
10598	return nil, false
10599}
10600
10601// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10602func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
10603	return nil, false
10604}
10605
10606// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10607func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
10608	return nil, false
10609}
10610
10611// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10612func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
10613	return nil, false
10614}
10615
10616// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10617func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
10618	return nil, false
10619}
10620
10621// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10622func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
10623	return nil, false
10624}
10625
10626// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10627func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
10628	return nil, false
10629}
10630
10631// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10632func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
10633	return nil, false
10634}
10635
10636// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10637func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
10638	return nil, false
10639}
10640
10641// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10642func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
10643	return nil, false
10644}
10645
10646// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10647func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
10648	return nil, false
10649}
10650
10651// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10652func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
10653	return nil, false
10654}
10655
10656// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10657func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
10658	return nil, false
10659}
10660
10661// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10662func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
10663	return nil, false
10664}
10665
10666// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10667func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
10668	return nil, false
10669}
10670
10671// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10672func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
10673	return nil, false
10674}
10675
10676// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10677func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
10678	return nil, false
10679}
10680
10681// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10682func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
10683	return nil, false
10684}
10685
10686// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10687func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
10688	return nil, false
10689}
10690
10691// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10692func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
10693	return nil, false
10694}
10695
10696// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10697func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
10698	return nil, false
10699}
10700
10701// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10702func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
10703	return nil, false
10704}
10705
10706// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10707func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
10708	return nil, false
10709}
10710
10711// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10712func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
10713	return nil, false
10714}
10715
10716// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10717func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
10718	return nil, false
10719}
10720
10721// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10722func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
10723	return nil, false
10724}
10725
10726// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10727func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
10728	return nil, false
10729}
10730
10731// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10732func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
10733	return nil, false
10734}
10735
10736// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10737func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
10738	return nil, false
10739}
10740
10741// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10742func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
10743	return nil, false
10744}
10745
10746// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10747func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
10748	return nil, false
10749}
10750
10751// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10752func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
10753	return nil, false
10754}
10755
10756// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10757func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
10758	return nil, false
10759}
10760
10761// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10762func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
10763	return nil, false
10764}
10765
10766// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10767func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
10768	return nil, false
10769}
10770
10771// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10772func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
10773	return nil, false
10774}
10775
10776// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10777func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
10778	return nil, false
10779}
10780
10781// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10782func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
10783	return nil, false
10784}
10785
10786// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10787func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
10788	return nil, false
10789}
10790
10791// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10792func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
10793	return nil, false
10794}
10795
10796// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10797func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
10798	return nil, false
10799}
10800
10801// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10802func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
10803	return nil, false
10804}
10805
10806// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10807func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
10808	return nil, false
10809}
10810
10811// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10812func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
10813	return nil, false
10814}
10815
10816// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10817func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
10818	return nil, false
10819}
10820
10821// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10822func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
10823	return nil, false
10824}
10825
10826// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10827func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
10828	return nil, false
10829}
10830
10831// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10832func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
10833	return nil, false
10834}
10835
10836// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10837func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
10838	return nil, false
10839}
10840
10841// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10842func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
10843	return nil, false
10844}
10845
10846// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10847func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
10848	return nil, false
10849}
10850
10851// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10852func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
10853	return nil, false
10854}
10855
10856// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10857func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
10858	return nil, false
10859}
10860
10861// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10862func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
10863	return &cmsfse, true
10864}
10865
10866// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10867func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
10868	return nil, false
10869}
10870
10871// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10872func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
10873	return nil, false
10874}
10875
10876// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10877func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
10878	return nil, false
10879}
10880
10881// AsFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10882func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
10883	return nil, false
10884}
10885
10886// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosMoveSecondaryFaultScheduledEvent.
10887func (cmsfse ChaosMoveSecondaryFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
10888	return &cmsfse, true
10889}
10890
10891// ChaosParameters defines all the parameters to configure a Chaos run.
10892type ChaosParameters struct {
10893	// 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).
10894	TimeToRunInSeconds *string `json:"TimeToRunInSeconds,omitempty"`
10895	// 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.
10896	// During validation if a cluster entity is not stable and healthy within MaxClusterStabilizationTimeoutInSeconds, Chaos generates a validation failed event.
10897	MaxClusterStabilizationTimeoutInSeconds *int64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
10898	// MaxConcurrentFaults - MaxConcurrentFaults is the maximum number of concurrent faults induced per iteration.
10899	// Chaos executes in iterations and two consecutive iterations are separated by a validation phase.
10900	// The higher the concurrency, the more aggressive the injection of faults, leading to inducing more complex series of states to uncover bugs.
10901	// The recommendation is to start with a value of 2 or 3 and to exercise caution while moving up.
10902	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
10903	// EnableMoveReplicaFaults - Enables or disables the move primary and move secondary faults.
10904	EnableMoveReplicaFaults *bool `json:"EnableMoveReplicaFaults,omitempty"`
10905	// WaitTimeBetweenFaultsInSeconds - Wait time (in seconds) between consecutive faults within a single iteration.
10906	// The larger the value, the lower the overlapping between faults and the simpler the sequence of state transitions that the cluster goes through.
10907	// The recommendation is to start with a value between 1 and 5 and exercise caution while moving up.
10908	WaitTimeBetweenFaultsInSeconds *int64 `json:"WaitTimeBetweenFaultsInSeconds,omitempty"`
10909	// WaitTimeBetweenIterationsInSeconds - Time-separation (in seconds) between two consecutive iterations of Chaos.
10910	// The larger the value, the lower the fault injection rate.
10911	WaitTimeBetweenIterationsInSeconds *int64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
10912	// 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.
10913	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
10914	// Context - Describes a map, which is a collection of (string, string) type key-value pairs. The map can be used to record information about
10915	// the Chaos run. There cannot be more than 100 such pairs and each string (key or value) can be at most 4095 characters long.
10916	// This map is set by the starter of the Chaos run to optionally store the context about the specific run.
10917	Context *ChaosContext `json:"Context,omitempty"`
10918	// ChaosTargetFilter - List of cluster entities to target for Chaos faults.
10919	// 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.
10920	// If ChaosTargetFilter is used, Chaos faults only the entities that meet the ChaosTargetFilter specification.
10921	ChaosTargetFilter *ChaosTargetFilter `json:"ChaosTargetFilter,omitempty"`
10922}
10923
10924// ChaosParametersDictionaryItem defines an item in ChaosParametersDictionary of the Chaos Schedule.
10925type ChaosParametersDictionaryItem struct {
10926	// Key - The key identifying the Chaos Parameter in the dictionary. This key is referenced by Chaos Schedule Jobs.
10927	Key *string `json:"Key,omitempty"`
10928	// Value - Defines all the parameters to configure a Chaos run.
10929	Value *ChaosParameters `json:"Value,omitempty"`
10930}
10931
10932// ChaosRemoveReplicaFaultCompletedEvent chaos Remove Replica Fault Completed event.
10933type ChaosRemoveReplicaFaultCompletedEvent struct {
10934	// FaultGroupID - Id of fault group.
10935	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
10936	// FaultID - Id of fault.
10937	FaultID *uuid.UUID `json:"FaultId,omitempty"`
10938	// ServiceURI - Service name.
10939	ServiceURI *string `json:"ServiceUri,omitempty"`
10940	// 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.
10941	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
10942	// 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.
10943	ReplicaID *int64 `json:"ReplicaId,omitempty"`
10944	// EventInstanceID - The identifier for the FabricEvent instance.
10945	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
10946	// TimeStamp - The time event was logged.
10947	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
10948	// HasCorrelatedEvents - Shows there is existing related events available.
10949	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
10950	// 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'
10951	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
10952}
10953
10954// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultCompletedEvent.
10955func (crrfce ChaosRemoveReplicaFaultCompletedEvent) MarshalJSON() ([]byte, error) {
10956	crrfce.Kind = KindChaosRemoveReplicaFaultCompleted
10957	objectMap := make(map[string]interface{})
10958	if crrfce.FaultGroupID != nil {
10959		objectMap["FaultGroupId"] = crrfce.FaultGroupID
10960	}
10961	if crrfce.FaultID != nil {
10962		objectMap["FaultId"] = crrfce.FaultID
10963	}
10964	if crrfce.ServiceURI != nil {
10965		objectMap["ServiceUri"] = crrfce.ServiceURI
10966	}
10967	if crrfce.PartitionID != nil {
10968		objectMap["PartitionId"] = crrfce.PartitionID
10969	}
10970	if crrfce.ReplicaID != nil {
10971		objectMap["ReplicaId"] = crrfce.ReplicaID
10972	}
10973	if crrfce.EventInstanceID != nil {
10974		objectMap["EventInstanceId"] = crrfce.EventInstanceID
10975	}
10976	if crrfce.TimeStamp != nil {
10977		objectMap["TimeStamp"] = crrfce.TimeStamp
10978	}
10979	if crrfce.HasCorrelatedEvents != nil {
10980		objectMap["HasCorrelatedEvents"] = crrfce.HasCorrelatedEvents
10981	}
10982	if crrfce.Kind != "" {
10983		objectMap["Kind"] = crrfce.Kind
10984	}
10985	return json.Marshal(objectMap)
10986}
10987
10988// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10989func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
10990	return nil, false
10991}
10992
10993// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10994func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
10995	return nil, false
10996}
10997
10998// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
10999func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
11000	return nil, false
11001}
11002
11003// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11004func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
11005	return nil, false
11006}
11007
11008// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11009func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
11010	return nil, false
11011}
11012
11013// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11014func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
11015	return nil, false
11016}
11017
11018// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11019func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
11020	return nil, false
11021}
11022
11023// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11024func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11025	return nil, false
11026}
11027
11028// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11029func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11030	return nil, false
11031}
11032
11033// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11034func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11035	return nil, false
11036}
11037
11038// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11039func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11040	return nil, false
11041}
11042
11043// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11044func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11045	return nil, false
11046}
11047
11048// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11049func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11050	return &crrfce, true
11051}
11052
11053// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11054func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
11055	return nil, false
11056}
11057
11058// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11059func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11060	return nil, false
11061}
11062
11063// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11064func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11065	return nil, false
11066}
11067
11068// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11069func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11070	return nil, false
11071}
11072
11073// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11074func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11075	return nil, false
11076}
11077
11078// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11079func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11080	return nil, false
11081}
11082
11083// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11084func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11085	return nil, false
11086}
11087
11088// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11089func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11090	return nil, false
11091}
11092
11093// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11094func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11095	return nil, false
11096}
11097
11098// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11099func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11100	return nil, false
11101}
11102
11103// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11104func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11105	return nil, false
11106}
11107
11108// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11109func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
11110	return nil, false
11111}
11112
11113// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11114func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11115	return nil, false
11116}
11117
11118// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11119func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11120	return nil, false
11121}
11122
11123// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11124func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11125	return nil, false
11126}
11127
11128// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11129func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11130	return nil, false
11131}
11132
11133// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11134func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11135	return nil, false
11136}
11137
11138// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11139func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11140	return nil, false
11141}
11142
11143// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11144func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11145	return nil, false
11146}
11147
11148// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11149func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11150	return nil, false
11151}
11152
11153// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11154func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11155	return nil, false
11156}
11157
11158// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11159func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11160	return nil, false
11161}
11162
11163// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11164func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11165	return nil, false
11166}
11167
11168// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11169func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11170	return nil, false
11171}
11172
11173// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11174func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11175	return nil, false
11176}
11177
11178// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11179func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11180	return nil, false
11181}
11182
11183// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11184func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11185	return nil, false
11186}
11187
11188// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11189func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11190	return nil, false
11191}
11192
11193// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11194func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11195	return nil, false
11196}
11197
11198// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11199func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11200	return nil, false
11201}
11202
11203// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11204func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11205	return nil, false
11206}
11207
11208// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11209func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11210	return nil, false
11211}
11212
11213// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11214func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11215	return nil, false
11216}
11217
11218// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11219func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11220	return nil, false
11221}
11222
11223// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11224func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11225	return nil, false
11226}
11227
11228// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11229func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11230	return nil, false
11231}
11232
11233// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11234func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11235	return nil, false
11236}
11237
11238// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11239func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11240	return nil, false
11241}
11242
11243// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11244func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11245	return nil, false
11246}
11247
11248// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11249func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11250	return nil, false
11251}
11252
11253// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11254func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11255	return nil, false
11256}
11257
11258// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11259func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11260	return nil, false
11261}
11262
11263// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11264func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11265	return nil, false
11266}
11267
11268// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11269func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11270	return nil, false
11271}
11272
11273// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11274func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11275	return nil, false
11276}
11277
11278// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11279func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11280	return nil, false
11281}
11282
11283// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11284func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11285	return nil, false
11286}
11287
11288// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11289func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11290	return nil, false
11291}
11292
11293// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11294func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11295	return nil, false
11296}
11297
11298// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11299func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11300	return nil, false
11301}
11302
11303// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11304func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11305	return nil, false
11306}
11307
11308// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11309func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11310	return nil, false
11311}
11312
11313// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11314func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11315	return nil, false
11316}
11317
11318// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11319func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11320	return nil, false
11321}
11322
11323// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11324func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11325	return nil, false
11326}
11327
11328// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11329func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11330	return nil, false
11331}
11332
11333// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11334func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11335	return nil, false
11336}
11337
11338// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11339func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11340	return &crrfce, true
11341}
11342
11343// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11344func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11345	return nil, false
11346}
11347
11348// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11349func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11350	return nil, false
11351}
11352
11353// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11354func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11355	return nil, false
11356}
11357
11358// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11359func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11360	return nil, false
11361}
11362
11363// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11364func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
11365	return nil, false
11366}
11367
11368// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultCompletedEvent.
11369func (crrfce ChaosRemoveReplicaFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11370	return &crrfce, true
11371}
11372
11373// ChaosRemoveReplicaFaultScheduledEvent chaos Remove Replica Fault Scheduled event.
11374type ChaosRemoveReplicaFaultScheduledEvent struct {
11375	// FaultGroupID - Id of fault group.
11376	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
11377	// FaultID - Id of fault.
11378	FaultID *uuid.UUID `json:"FaultId,omitempty"`
11379	// ServiceURI - Service name.
11380	ServiceURI *string `json:"ServiceUri,omitempty"`
11381	// 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.
11382	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
11383	// 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.
11384	ReplicaID *int64 `json:"ReplicaId,omitempty"`
11385	// EventInstanceID - The identifier for the FabricEvent instance.
11386	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
11387	// TimeStamp - The time event was logged.
11388	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
11389	// HasCorrelatedEvents - Shows there is existing related events available.
11390	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
11391	// 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'
11392	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
11393}
11394
11395// MarshalJSON is the custom marshaler for ChaosRemoveReplicaFaultScheduledEvent.
11396func (crrfse ChaosRemoveReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
11397	crrfse.Kind = KindChaosRemoveReplicaFaultScheduled
11398	objectMap := make(map[string]interface{})
11399	if crrfse.FaultGroupID != nil {
11400		objectMap["FaultGroupId"] = crrfse.FaultGroupID
11401	}
11402	if crrfse.FaultID != nil {
11403		objectMap["FaultId"] = crrfse.FaultID
11404	}
11405	if crrfse.ServiceURI != nil {
11406		objectMap["ServiceUri"] = crrfse.ServiceURI
11407	}
11408	if crrfse.PartitionID != nil {
11409		objectMap["PartitionId"] = crrfse.PartitionID
11410	}
11411	if crrfse.ReplicaID != nil {
11412		objectMap["ReplicaId"] = crrfse.ReplicaID
11413	}
11414	if crrfse.EventInstanceID != nil {
11415		objectMap["EventInstanceId"] = crrfse.EventInstanceID
11416	}
11417	if crrfse.TimeStamp != nil {
11418		objectMap["TimeStamp"] = crrfse.TimeStamp
11419	}
11420	if crrfse.HasCorrelatedEvents != nil {
11421		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
11422	}
11423	if crrfse.Kind != "" {
11424		objectMap["Kind"] = crrfse.Kind
11425	}
11426	return json.Marshal(objectMap)
11427}
11428
11429// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11430func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
11431	return nil, false
11432}
11433
11434// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11435func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
11436	return nil, false
11437}
11438
11439// AsClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11440func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
11441	return nil, false
11442}
11443
11444// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11445func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
11446	return nil, false
11447}
11448
11449// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11450func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
11451	return nil, false
11452}
11453
11454// AsNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11455func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
11456	return nil, false
11457}
11458
11459// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11460func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
11461	return nil, false
11462}
11463
11464// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11465func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11466	return nil, false
11467}
11468
11469// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11470func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11471	return nil, false
11472}
11473
11474// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11475func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11476	return nil, false
11477}
11478
11479// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11480func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11481	return nil, false
11482}
11483
11484// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11485func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11486	return nil, false
11487}
11488
11489// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11490func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11491	return &crrfse, true
11492}
11493
11494// AsServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11495func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
11496	return nil, false
11497}
11498
11499// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11500func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11501	return nil, false
11502}
11503
11504// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11505func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11506	return nil, false
11507}
11508
11509// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11510func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11511	return nil, false
11512}
11513
11514// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11515func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11516	return nil, false
11517}
11518
11519// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11520func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11521	return nil, false
11522}
11523
11524// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11525func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11526	return nil, false
11527}
11528
11529// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11530func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11531	return nil, false
11532}
11533
11534// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11535func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11536	return nil, false
11537}
11538
11539// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11540func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11541	return nil, false
11542}
11543
11544// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11545func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11546	return nil, false
11547}
11548
11549// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11550func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
11551	return nil, false
11552}
11553
11554// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11555func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
11556	return nil, false
11557}
11558
11559// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11560func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
11561	return nil, false
11562}
11563
11564// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11565func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
11566	return nil, false
11567}
11568
11569// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11570func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
11571	return nil, false
11572}
11573
11574// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11575func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
11576	return nil, false
11577}
11578
11579// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11580func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
11581	return nil, false
11582}
11583
11584// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11585func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
11586	return nil, false
11587}
11588
11589// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11590func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
11591	return nil, false
11592}
11593
11594// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11595func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
11596	return nil, false
11597}
11598
11599// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11600func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
11601	return nil, false
11602}
11603
11604// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11605func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
11606	return nil, false
11607}
11608
11609// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11610func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
11611	return nil, false
11612}
11613
11614// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11615func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
11616	return nil, false
11617}
11618
11619// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11620func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
11621	return nil, false
11622}
11623
11624// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11625func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
11626	return nil, false
11627}
11628
11629// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11630func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
11631	return nil, false
11632}
11633
11634// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11635func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
11636	return nil, false
11637}
11638
11639// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11640func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
11641	return nil, false
11642}
11643
11644// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11645func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
11646	return nil, false
11647}
11648
11649// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11650func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
11651	return nil, false
11652}
11653
11654// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11655func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
11656	return nil, false
11657}
11658
11659// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11660func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
11661	return nil, false
11662}
11663
11664// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11665func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
11666	return nil, false
11667}
11668
11669// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11670func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
11671	return nil, false
11672}
11673
11674// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11675func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
11676	return nil, false
11677}
11678
11679// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11680func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
11681	return nil, false
11682}
11683
11684// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11685func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
11686	return nil, false
11687}
11688
11689// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11690func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
11691	return nil, false
11692}
11693
11694// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11695func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
11696	return nil, false
11697}
11698
11699// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11700func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
11701	return nil, false
11702}
11703
11704// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11705func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
11706	return nil, false
11707}
11708
11709// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11710func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
11711	return nil, false
11712}
11713
11714// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11715func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
11716	return nil, false
11717}
11718
11719// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11720func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
11721	return nil, false
11722}
11723
11724// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11725func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
11726	return nil, false
11727}
11728
11729// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11730func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
11731	return nil, false
11732}
11733
11734// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11735func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
11736	return nil, false
11737}
11738
11739// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11740func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
11741	return nil, false
11742}
11743
11744// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11745func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
11746	return nil, false
11747}
11748
11749// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11750func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
11751	return nil, false
11752}
11753
11754// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11755func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
11756	return nil, false
11757}
11758
11759// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11760func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
11761	return nil, false
11762}
11763
11764// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11765func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
11766	return nil, false
11767}
11768
11769// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11770func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
11771	return nil, false
11772}
11773
11774// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11775func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
11776	return &crrfse, true
11777}
11778
11779// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11780func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
11781	return nil, false
11782}
11783
11784// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11785func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
11786	return nil, false
11787}
11788
11789// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11790func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
11791	return nil, false
11792}
11793
11794// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11795func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
11796	return nil, false
11797}
11798
11799// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11800func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
11801	return nil, false
11802}
11803
11804// AsFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11805func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
11806	return nil, false
11807}
11808
11809// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRemoveReplicaFaultScheduledEvent.
11810func (crrfse ChaosRemoveReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
11811	return &crrfse, true
11812}
11813
11814// ChaosRestartCodePackageFaultCompletedEvent chaos Restart Code Package Fault Completed event.
11815type ChaosRestartCodePackageFaultCompletedEvent struct {
11816	// FaultGroupID - Id of fault group.
11817	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
11818	// FaultID - Id of fault.
11819	FaultID *uuid.UUID `json:"FaultId,omitempty"`
11820	// NodeName - The name of a Service Fabric node.
11821	NodeName *string `json:"NodeName,omitempty"`
11822	// ServiceManifestName - Service manifest name.
11823	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
11824	// CodePackageName - Code package name.
11825	CodePackageName *string `json:"CodePackageName,omitempty"`
11826	// ServicePackageActivationID - Id of Service package activation.
11827	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
11828	// 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.
11829	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
11830	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
11831	ApplicationID *string `json:"ApplicationId,omitempty"`
11832	// EventInstanceID - The identifier for the FabricEvent instance.
11833	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
11834	// TimeStamp - The time event was logged.
11835	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
11836	// HasCorrelatedEvents - Shows there is existing related events available.
11837	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
11838	// 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'
11839	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
11840}
11841
11842// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultCompletedEvent.
11843func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) MarshalJSON() ([]byte, error) {
11844	crcpfce.Kind = KindChaosRestartCodePackageFaultCompleted
11845	objectMap := make(map[string]interface{})
11846	if crcpfce.FaultGroupID != nil {
11847		objectMap["FaultGroupId"] = crcpfce.FaultGroupID
11848	}
11849	if crcpfce.FaultID != nil {
11850		objectMap["FaultId"] = crcpfce.FaultID
11851	}
11852	if crcpfce.NodeName != nil {
11853		objectMap["NodeName"] = crcpfce.NodeName
11854	}
11855	if crcpfce.ServiceManifestName != nil {
11856		objectMap["ServiceManifestName"] = crcpfce.ServiceManifestName
11857	}
11858	if crcpfce.CodePackageName != nil {
11859		objectMap["CodePackageName"] = crcpfce.CodePackageName
11860	}
11861	if crcpfce.ServicePackageActivationID != nil {
11862		objectMap["ServicePackageActivationId"] = crcpfce.ServicePackageActivationID
11863	}
11864	if crcpfce.ApplicationID != nil {
11865		objectMap["ApplicationId"] = crcpfce.ApplicationID
11866	}
11867	if crcpfce.EventInstanceID != nil {
11868		objectMap["EventInstanceId"] = crcpfce.EventInstanceID
11869	}
11870	if crcpfce.TimeStamp != nil {
11871		objectMap["TimeStamp"] = crcpfce.TimeStamp
11872	}
11873	if crcpfce.HasCorrelatedEvents != nil {
11874		objectMap["HasCorrelatedEvents"] = crcpfce.HasCorrelatedEvents
11875	}
11876	if crcpfce.Kind != "" {
11877		objectMap["Kind"] = crcpfce.Kind
11878	}
11879	return json.Marshal(objectMap)
11880}
11881
11882// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11883func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
11884	return nil, false
11885}
11886
11887// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11888func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
11889	return &crcpfce, true
11890}
11891
11892// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11893func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
11894	return nil, false
11895}
11896
11897// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11898func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
11899	return nil, false
11900}
11901
11902// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11903func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
11904	return nil, false
11905}
11906
11907// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11908func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
11909	return nil, false
11910}
11911
11912// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11913func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
11914	return nil, false
11915}
11916
11917// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11918func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
11919	return nil, false
11920}
11921
11922// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11923func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
11924	return nil, false
11925}
11926
11927// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11928func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
11929	return nil, false
11930}
11931
11932// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11933func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
11934	return nil, false
11935}
11936
11937// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11938func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
11939	return nil, false
11940}
11941
11942// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11943func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
11944	return nil, false
11945}
11946
11947// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11948func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
11949	return nil, false
11950}
11951
11952// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11953func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
11954	return nil, false
11955}
11956
11957// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11958func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
11959	return nil, false
11960}
11961
11962// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11963func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
11964	return nil, false
11965}
11966
11967// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11968func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
11969	return nil, false
11970}
11971
11972// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11973func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
11974	return nil, false
11975}
11976
11977// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11978func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
11979	return nil, false
11980}
11981
11982// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11983func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
11984	return nil, false
11985}
11986
11987// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11988func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
11989	return nil, false
11990}
11991
11992// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11993func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
11994	return nil, false
11995}
11996
11997// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
11998func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
11999	return nil, false
12000}
12001
12002// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12003func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12004	return nil, false
12005}
12006
12007// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12008func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12009	return nil, false
12010}
12011
12012// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12013func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12014	return nil, false
12015}
12016
12017// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12018func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12019	return nil, false
12020}
12021
12022// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12023func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12024	return nil, false
12025}
12026
12027// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12028func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12029	return nil, false
12030}
12031
12032// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12033func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12034	return nil, false
12035}
12036
12037// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12038func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12039	return nil, false
12040}
12041
12042// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12043func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12044	return nil, false
12045}
12046
12047// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12048func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12049	return nil, false
12050}
12051
12052// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12053func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12054	return nil, false
12055}
12056
12057// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12058func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12059	return nil, false
12060}
12061
12062// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12063func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12064	return nil, false
12065}
12066
12067// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12068func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12069	return nil, false
12070}
12071
12072// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12073func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12074	return nil, false
12075}
12076
12077// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12078func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12079	return nil, false
12080}
12081
12082// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12083func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12084	return nil, false
12085}
12086
12087// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12088func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12089	return nil, false
12090}
12091
12092// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12093func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12094	return nil, false
12095}
12096
12097// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12098func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12099	return nil, false
12100}
12101
12102// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12103func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12104	return nil, false
12105}
12106
12107// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12108func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12109	return nil, false
12110}
12111
12112// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12113func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
12114	return nil, false
12115}
12116
12117// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12118func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
12119	return nil, false
12120}
12121
12122// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12123func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
12124	return nil, false
12125}
12126
12127// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12128func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
12129	return nil, false
12130}
12131
12132// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12133func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
12134	return nil, false
12135}
12136
12137// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12138func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
12139	return nil, false
12140}
12141
12142// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12143func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
12144	return nil, false
12145}
12146
12147// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12148func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
12149	return nil, false
12150}
12151
12152// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12153func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
12154	return nil, false
12155}
12156
12157// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12158func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
12159	return nil, false
12160}
12161
12162// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12163func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
12164	return nil, false
12165}
12166
12167// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12168func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
12169	return nil, false
12170}
12171
12172// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12173func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
12174	return nil, false
12175}
12176
12177// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12178func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
12179	return nil, false
12180}
12181
12182// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12183func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12184	return nil, false
12185}
12186
12187// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12188func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12189	return nil, false
12190}
12191
12192// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12193func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12194	return nil, false
12195}
12196
12197// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12198func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12199	return nil, false
12200}
12201
12202// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12203func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
12204	return nil, false
12205}
12206
12207// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12208func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
12209	return nil, false
12210}
12211
12212// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12213func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
12214	return nil, false
12215}
12216
12217// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12218func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
12219	return nil, false
12220}
12221
12222// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12223func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
12224	return &crcpfce, true
12225}
12226
12227// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12228func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
12229	return nil, false
12230}
12231
12232// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12233func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
12234	return nil, false
12235}
12236
12237// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12238func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
12239	return nil, false
12240}
12241
12242// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12243func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
12244	return nil, false
12245}
12246
12247// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12248func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
12249	return nil, false
12250}
12251
12252// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12253func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
12254	return nil, false
12255}
12256
12257// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12258func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
12259	return nil, false
12260}
12261
12262// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultCompletedEvent.
12263func (crcpfce ChaosRestartCodePackageFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
12264	return &crcpfce, true
12265}
12266
12267// ChaosRestartCodePackageFaultScheduledEvent chaos Restart Code Package Fault Scheduled event.
12268type ChaosRestartCodePackageFaultScheduledEvent struct {
12269	// FaultGroupID - Id of fault group.
12270	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
12271	// FaultID - Id of fault.
12272	FaultID *uuid.UUID `json:"FaultId,omitempty"`
12273	// NodeName - The name of a Service Fabric node.
12274	NodeName *string `json:"NodeName,omitempty"`
12275	// ServiceManifestName - Service manifest name.
12276	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
12277	// CodePackageName - Code package name.
12278	CodePackageName *string `json:"CodePackageName,omitempty"`
12279	// ServicePackageActivationID - Id of Service package activation.
12280	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
12281	// 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.
12282	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
12283	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
12284	ApplicationID *string `json:"ApplicationId,omitempty"`
12285	// EventInstanceID - The identifier for the FabricEvent instance.
12286	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12287	// TimeStamp - The time event was logged.
12288	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12289	// HasCorrelatedEvents - Shows there is existing related events available.
12290	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12291	// 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'
12292	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12293}
12294
12295// MarshalJSON is the custom marshaler for ChaosRestartCodePackageFaultScheduledEvent.
12296func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) MarshalJSON() ([]byte, error) {
12297	crcpfse.Kind = KindChaosRestartCodePackageFaultScheduled
12298	objectMap := make(map[string]interface{})
12299	if crcpfse.FaultGroupID != nil {
12300		objectMap["FaultGroupId"] = crcpfse.FaultGroupID
12301	}
12302	if crcpfse.FaultID != nil {
12303		objectMap["FaultId"] = crcpfse.FaultID
12304	}
12305	if crcpfse.NodeName != nil {
12306		objectMap["NodeName"] = crcpfse.NodeName
12307	}
12308	if crcpfse.ServiceManifestName != nil {
12309		objectMap["ServiceManifestName"] = crcpfse.ServiceManifestName
12310	}
12311	if crcpfse.CodePackageName != nil {
12312		objectMap["CodePackageName"] = crcpfse.CodePackageName
12313	}
12314	if crcpfse.ServicePackageActivationID != nil {
12315		objectMap["ServicePackageActivationId"] = crcpfse.ServicePackageActivationID
12316	}
12317	if crcpfse.ApplicationID != nil {
12318		objectMap["ApplicationId"] = crcpfse.ApplicationID
12319	}
12320	if crcpfse.EventInstanceID != nil {
12321		objectMap["EventInstanceId"] = crcpfse.EventInstanceID
12322	}
12323	if crcpfse.TimeStamp != nil {
12324		objectMap["TimeStamp"] = crcpfse.TimeStamp
12325	}
12326	if crcpfse.HasCorrelatedEvents != nil {
12327		objectMap["HasCorrelatedEvents"] = crcpfse.HasCorrelatedEvents
12328	}
12329	if crcpfse.Kind != "" {
12330		objectMap["Kind"] = crcpfse.Kind
12331	}
12332	return json.Marshal(objectMap)
12333}
12334
12335// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12336func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12337	return nil, false
12338}
12339
12340// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12341func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12342	return &crcpfse, true
12343}
12344
12345// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12346func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
12347	return nil, false
12348}
12349
12350// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12351func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12352	return nil, false
12353}
12354
12355// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12356func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12357	return nil, false
12358}
12359
12360// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12361func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
12362	return nil, false
12363}
12364
12365// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12366func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12367	return nil, false
12368}
12369
12370// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12371func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12372	return nil, false
12373}
12374
12375// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12376func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12377	return nil, false
12378}
12379
12380// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12381func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12382	return nil, false
12383}
12384
12385// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12386func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12387	return nil, false
12388}
12389
12390// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12391func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12392	return nil, false
12393}
12394
12395// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12396func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12397	return nil, false
12398}
12399
12400// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12401func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
12402	return nil, false
12403}
12404
12405// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12406func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12407	return nil, false
12408}
12409
12410// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12411func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12412	return nil, false
12413}
12414
12415// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12416func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12417	return nil, false
12418}
12419
12420// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12421func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12422	return nil, false
12423}
12424
12425// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12426func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12427	return nil, false
12428}
12429
12430// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12431func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12432	return nil, false
12433}
12434
12435// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12436func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12437	return nil, false
12438}
12439
12440// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12441func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12442	return nil, false
12443}
12444
12445// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12446func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12447	return nil, false
12448}
12449
12450// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12451func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12452	return nil, false
12453}
12454
12455// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12456func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12457	return nil, false
12458}
12459
12460// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12461func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12462	return nil, false
12463}
12464
12465// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12466func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12467	return nil, false
12468}
12469
12470// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12471func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12472	return nil, false
12473}
12474
12475// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12476func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12477	return nil, false
12478}
12479
12480// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12481func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12482	return nil, false
12483}
12484
12485// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12486func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12487	return nil, false
12488}
12489
12490// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12491func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12492	return nil, false
12493}
12494
12495// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12496func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12497	return nil, false
12498}
12499
12500// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12501func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12502	return nil, false
12503}
12504
12505// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12506func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12507	return nil, false
12508}
12509
12510// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12511func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12512	return nil, false
12513}
12514
12515// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12516func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12517	return nil, false
12518}
12519
12520// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12521func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12522	return nil, false
12523}
12524
12525// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12526func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12527	return nil, false
12528}
12529
12530// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12531func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12532	return nil, false
12533}
12534
12535// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12536func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12537	return nil, false
12538}
12539
12540// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12541func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12542	return nil, false
12543}
12544
12545// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12546func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12547	return nil, false
12548}
12549
12550// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12551func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12552	return nil, false
12553}
12554
12555// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12556func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12557	return nil, false
12558}
12559
12560// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12561func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12562	return nil, false
12563}
12564
12565// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12566func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
12567	return nil, false
12568}
12569
12570// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12571func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
12572	return nil, false
12573}
12574
12575// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12576func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
12577	return nil, false
12578}
12579
12580// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12581func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
12582	return nil, false
12583}
12584
12585// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12586func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
12587	return nil, false
12588}
12589
12590// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12591func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
12592	return nil, false
12593}
12594
12595// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12596func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
12597	return nil, false
12598}
12599
12600// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12601func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
12602	return nil, false
12603}
12604
12605// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12606func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
12607	return nil, false
12608}
12609
12610// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12611func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
12612	return nil, false
12613}
12614
12615// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12616func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
12617	return nil, false
12618}
12619
12620// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12621func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
12622	return nil, false
12623}
12624
12625// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12626func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
12627	return nil, false
12628}
12629
12630// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12631func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
12632	return nil, false
12633}
12634
12635// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12636func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
12637	return nil, false
12638}
12639
12640// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12641func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
12642	return nil, false
12643}
12644
12645// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12646func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
12647	return nil, false
12648}
12649
12650// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12651func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
12652	return nil, false
12653}
12654
12655// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12656func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
12657	return nil, false
12658}
12659
12660// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12661func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
12662	return nil, false
12663}
12664
12665// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12666func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
12667	return nil, false
12668}
12669
12670// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12671func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
12672	return &crcpfse, true
12673}
12674
12675// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12676func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
12677	return nil, false
12678}
12679
12680// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12681func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
12682	return nil, false
12683}
12684
12685// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12686func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
12687	return nil, false
12688}
12689
12690// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12691func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
12692	return nil, false
12693}
12694
12695// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12696func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
12697	return nil, false
12698}
12699
12700// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12701func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
12702	return nil, false
12703}
12704
12705// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12706func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
12707	return nil, false
12708}
12709
12710// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12711func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
12712	return nil, false
12713}
12714
12715// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartCodePackageFaultScheduledEvent.
12716func (crcpfse ChaosRestartCodePackageFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
12717	return &crcpfse, true
12718}
12719
12720// ChaosRestartNodeFaultCompletedEvent chaos Restart Node Fault Completed event.
12721type ChaosRestartNodeFaultCompletedEvent struct {
12722	// NodeInstanceID - Id of Node instance.
12723	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
12724	// FaultGroupID - Id of fault group.
12725	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
12726	// FaultID - Id of fault.
12727	FaultID *uuid.UUID `json:"FaultId,omitempty"`
12728	// NodeName - The name of a Service Fabric node.
12729	NodeName *string `json:"NodeName,omitempty"`
12730	// EventInstanceID - The identifier for the FabricEvent instance.
12731	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
12732	// TimeStamp - The time event was logged.
12733	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
12734	// HasCorrelatedEvents - Shows there is existing related events available.
12735	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
12736	// 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'
12737	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
12738}
12739
12740// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultCompletedEvent.
12741func (crnfce ChaosRestartNodeFaultCompletedEvent) MarshalJSON() ([]byte, error) {
12742	crnfce.Kind = KindChaosRestartNodeFaultCompleted
12743	objectMap := make(map[string]interface{})
12744	if crnfce.NodeInstanceID != nil {
12745		objectMap["NodeInstanceId"] = crnfce.NodeInstanceID
12746	}
12747	if crnfce.FaultGroupID != nil {
12748		objectMap["FaultGroupId"] = crnfce.FaultGroupID
12749	}
12750	if crnfce.FaultID != nil {
12751		objectMap["FaultId"] = crnfce.FaultID
12752	}
12753	if crnfce.NodeName != nil {
12754		objectMap["NodeName"] = crnfce.NodeName
12755	}
12756	if crnfce.EventInstanceID != nil {
12757		objectMap["EventInstanceId"] = crnfce.EventInstanceID
12758	}
12759	if crnfce.TimeStamp != nil {
12760		objectMap["TimeStamp"] = crnfce.TimeStamp
12761	}
12762	if crnfce.HasCorrelatedEvents != nil {
12763		objectMap["HasCorrelatedEvents"] = crnfce.HasCorrelatedEvents
12764	}
12765	if crnfce.Kind != "" {
12766		objectMap["Kind"] = crnfce.Kind
12767	}
12768	return json.Marshal(objectMap)
12769}
12770
12771// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12772func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
12773	return nil, false
12774}
12775
12776// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12777func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
12778	return nil, false
12779}
12780
12781// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12782func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
12783	return nil, false
12784}
12785
12786// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12787func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
12788	return nil, false
12789}
12790
12791// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12792func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
12793	return nil, false
12794}
12795
12796// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12797func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
12798	return nil, false
12799}
12800
12801// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12802func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
12803	return &crnfce, true
12804}
12805
12806// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12807func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
12808	return nil, false
12809}
12810
12811// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12812func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
12813	return nil, false
12814}
12815
12816// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12817func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
12818	return nil, false
12819}
12820
12821// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12822func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
12823	return nil, false
12824}
12825
12826// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12827func (crnfce ChaosRestartNodeFaultCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
12828	return nil, false
12829}
12830
12831// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12832func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
12833	return nil, false
12834}
12835
12836// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12837func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
12838	return nil, false
12839}
12840
12841// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12842func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
12843	return nil, false
12844}
12845
12846// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12847func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
12848	return nil, false
12849}
12850
12851// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12852func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
12853	return nil, false
12854}
12855
12856// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12857func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
12858	return nil, false
12859}
12860
12861// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12862func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
12863	return nil, false
12864}
12865
12866// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12867func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
12868	return nil, false
12869}
12870
12871// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12872func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
12873	return nil, false
12874}
12875
12876// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12877func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
12878	return nil, false
12879}
12880
12881// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12882func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
12883	return nil, false
12884}
12885
12886// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12887func (crnfce ChaosRestartNodeFaultCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
12888	return nil, false
12889}
12890
12891// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12892func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
12893	return nil, false
12894}
12895
12896// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12897func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
12898	return nil, false
12899}
12900
12901// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12902func (crnfce ChaosRestartNodeFaultCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
12903	return nil, false
12904}
12905
12906// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12907func (crnfce ChaosRestartNodeFaultCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
12908	return nil, false
12909}
12910
12911// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12912func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
12913	return nil, false
12914}
12915
12916// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12917func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
12918	return nil, false
12919}
12920
12921// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12922func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
12923	return nil, false
12924}
12925
12926// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12927func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
12928	return nil, false
12929}
12930
12931// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12932func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
12933	return nil, false
12934}
12935
12936// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12937func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
12938	return nil, false
12939}
12940
12941// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12942func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
12943	return nil, false
12944}
12945
12946// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12947func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
12948	return nil, false
12949}
12950
12951// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12952func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
12953	return nil, false
12954}
12955
12956// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12957func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
12958	return nil, false
12959}
12960
12961// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12962func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
12963	return nil, false
12964}
12965
12966// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12967func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
12968	return nil, false
12969}
12970
12971// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12972func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
12973	return nil, false
12974}
12975
12976// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12977func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
12978	return nil, false
12979}
12980
12981// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12982func (crnfce ChaosRestartNodeFaultCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
12983	return nil, false
12984}
12985
12986// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12987func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
12988	return nil, false
12989}
12990
12991// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12992func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
12993	return nil, false
12994}
12995
12996// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
12997func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
12998	return nil, false
12999}
13000
13001// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13002func (crnfce ChaosRestartNodeFaultCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13003	return nil, false
13004}
13005
13006// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13007func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13008	return nil, false
13009}
13010
13011// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13012func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13013	return nil, false
13014}
13015
13016// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13017func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13018	return nil, false
13019}
13020
13021// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13022func (crnfce ChaosRestartNodeFaultCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13023	return nil, false
13024}
13025
13026// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13027func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13028	return nil, false
13029}
13030
13031// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13032func (crnfce ChaosRestartNodeFaultCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13033	return nil, false
13034}
13035
13036// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13037func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13038	return nil, false
13039}
13040
13041// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13042func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13043	return nil, false
13044}
13045
13046// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13047func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13048	return nil, false
13049}
13050
13051// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13052func (crnfce ChaosRestartNodeFaultCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13053	return nil, false
13054}
13055
13056// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13057func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13058	return nil, false
13059}
13060
13061// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13062func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13063	return nil, false
13064}
13065
13066// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13067func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13068	return nil, false
13069}
13070
13071// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13072func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13073	return nil, false
13074}
13075
13076// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13077func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13078	return nil, false
13079}
13080
13081// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13082func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13083	return nil, false
13084}
13085
13086// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13087func (crnfce ChaosRestartNodeFaultCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13088	return nil, false
13089}
13090
13091// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13092func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13093	return nil, false
13094}
13095
13096// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13097func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13098	return nil, false
13099}
13100
13101// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13102func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13103	return &crnfce, true
13104}
13105
13106// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13107func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13108	return nil, false
13109}
13110
13111// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13112func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13113	return nil, false
13114}
13115
13116// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13117func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13118	return nil, false
13119}
13120
13121// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13122func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13123	return nil, false
13124}
13125
13126// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13127func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13128	return nil, false
13129}
13130
13131// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13132func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13133	return nil, false
13134}
13135
13136// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13137func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13138	return nil, false
13139}
13140
13141// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13142func (crnfce ChaosRestartNodeFaultCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13143	return nil, false
13144}
13145
13146// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13147func (crnfce ChaosRestartNodeFaultCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
13148	return nil, false
13149}
13150
13151// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultCompletedEvent.
13152func (crnfce ChaosRestartNodeFaultCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13153	return &crnfce, true
13154}
13155
13156// ChaosRestartNodeFaultScheduledEvent chaos Restart Node Fault Scheduled event.
13157type ChaosRestartNodeFaultScheduledEvent struct {
13158	// NodeInstanceID - Id of Node instance.
13159	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
13160	// FaultGroupID - Id of fault group.
13161	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
13162	// FaultID - Id of fault.
13163	FaultID *uuid.UUID `json:"FaultId,omitempty"`
13164	// NodeName - The name of a Service Fabric node.
13165	NodeName *string `json:"NodeName,omitempty"`
13166	// EventInstanceID - The identifier for the FabricEvent instance.
13167	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13168	// TimeStamp - The time event was logged.
13169	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13170	// HasCorrelatedEvents - Shows there is existing related events available.
13171	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13172	// 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'
13173	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13174}
13175
13176// MarshalJSON is the custom marshaler for ChaosRestartNodeFaultScheduledEvent.
13177func (crnfse ChaosRestartNodeFaultScheduledEvent) MarshalJSON() ([]byte, error) {
13178	crnfse.Kind = KindChaosRestartNodeFaultScheduled
13179	objectMap := make(map[string]interface{})
13180	if crnfse.NodeInstanceID != nil {
13181		objectMap["NodeInstanceId"] = crnfse.NodeInstanceID
13182	}
13183	if crnfse.FaultGroupID != nil {
13184		objectMap["FaultGroupId"] = crnfse.FaultGroupID
13185	}
13186	if crnfse.FaultID != nil {
13187		objectMap["FaultId"] = crnfse.FaultID
13188	}
13189	if crnfse.NodeName != nil {
13190		objectMap["NodeName"] = crnfse.NodeName
13191	}
13192	if crnfse.EventInstanceID != nil {
13193		objectMap["EventInstanceId"] = crnfse.EventInstanceID
13194	}
13195	if crnfse.TimeStamp != nil {
13196		objectMap["TimeStamp"] = crnfse.TimeStamp
13197	}
13198	if crnfse.HasCorrelatedEvents != nil {
13199		objectMap["HasCorrelatedEvents"] = crnfse.HasCorrelatedEvents
13200	}
13201	if crnfse.Kind != "" {
13202		objectMap["Kind"] = crnfse.Kind
13203	}
13204	return json.Marshal(objectMap)
13205}
13206
13207// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13208func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13209	return nil, false
13210}
13211
13212// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13213func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13214	return nil, false
13215}
13216
13217// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13218func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
13219	return nil, false
13220}
13221
13222// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13223func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13224	return nil, false
13225}
13226
13227// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13228func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13229	return nil, false
13230}
13231
13232// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13233func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
13234	return nil, false
13235}
13236
13237// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13238func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13239	return &crnfse, true
13240}
13241
13242// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13243func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13244	return nil, false
13245}
13246
13247// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13248func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13249	return nil, false
13250}
13251
13252// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13253func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13254	return nil, false
13255}
13256
13257// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13258func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13259	return nil, false
13260}
13261
13262// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13263func (crnfse ChaosRestartNodeFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13264	return nil, false
13265}
13266
13267// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13268func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13269	return nil, false
13270}
13271
13272// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13273func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
13274	return nil, false
13275}
13276
13277// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13278func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13279	return nil, false
13280}
13281
13282// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13283func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13284	return nil, false
13285}
13286
13287// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13288func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13289	return nil, false
13290}
13291
13292// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13293func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13294	return nil, false
13295}
13296
13297// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13298func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13299	return nil, false
13300}
13301
13302// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13303func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13304	return nil, false
13305}
13306
13307// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13308func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13309	return nil, false
13310}
13311
13312// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13313func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13314	return nil, false
13315}
13316
13317// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13318func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13319	return nil, false
13320}
13321
13322// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13323func (crnfse ChaosRestartNodeFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13324	return nil, false
13325}
13326
13327// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13328func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13329	return nil, false
13330}
13331
13332// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13333func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13334	return nil, false
13335}
13336
13337// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13338func (crnfse ChaosRestartNodeFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13339	return nil, false
13340}
13341
13342// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13343func (crnfse ChaosRestartNodeFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13344	return nil, false
13345}
13346
13347// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13348func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13349	return nil, false
13350}
13351
13352// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13353func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13354	return nil, false
13355}
13356
13357// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13358func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13359	return nil, false
13360}
13361
13362// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13363func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13364	return nil, false
13365}
13366
13367// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13368func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13369	return nil, false
13370}
13371
13372// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13373func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13374	return nil, false
13375}
13376
13377// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13378func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13379	return nil, false
13380}
13381
13382// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13383func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13384	return nil, false
13385}
13386
13387// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13388func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13389	return nil, false
13390}
13391
13392// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13393func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13394	return nil, false
13395}
13396
13397// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13398func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13399	return nil, false
13400}
13401
13402// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13403func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13404	return nil, false
13405}
13406
13407// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13408func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13409	return nil, false
13410}
13411
13412// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13413func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13414	return nil, false
13415}
13416
13417// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13418func (crnfse ChaosRestartNodeFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13419	return nil, false
13420}
13421
13422// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13423func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13424	return nil, false
13425}
13426
13427// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13428func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13429	return nil, false
13430}
13431
13432// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13433func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13434	return nil, false
13435}
13436
13437// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13438func (crnfse ChaosRestartNodeFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13439	return nil, false
13440}
13441
13442// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13443func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13444	return nil, false
13445}
13446
13447// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13448func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13449	return nil, false
13450}
13451
13452// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13453func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13454	return nil, false
13455}
13456
13457// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13458func (crnfse ChaosRestartNodeFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13459	return nil, false
13460}
13461
13462// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13463func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13464	return nil, false
13465}
13466
13467// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13468func (crnfse ChaosRestartNodeFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13469	return nil, false
13470}
13471
13472// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13473func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13474	return nil, false
13475}
13476
13477// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13478func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13479	return nil, false
13480}
13481
13482// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13483func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13484	return nil, false
13485}
13486
13487// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13488func (crnfse ChaosRestartNodeFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13489	return nil, false
13490}
13491
13492// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13493func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13494	return nil, false
13495}
13496
13497// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13498func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13499	return nil, false
13500}
13501
13502// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13503func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13504	return nil, false
13505}
13506
13507// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13508func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13509	return nil, false
13510}
13511
13512// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13513func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13514	return nil, false
13515}
13516
13517// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13518func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13519	return nil, false
13520}
13521
13522// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13523func (crnfse ChaosRestartNodeFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13524	return nil, false
13525}
13526
13527// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13528func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13529	return nil, false
13530}
13531
13532// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13533func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13534	return nil, false
13535}
13536
13537// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13538func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13539	return nil, false
13540}
13541
13542// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13543func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13544	return nil, false
13545}
13546
13547// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13548func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13549	return nil, false
13550}
13551
13552// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13553func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13554	return nil, false
13555}
13556
13557// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13558func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
13559	return nil, false
13560}
13561
13562// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13563func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
13564	return nil, false
13565}
13566
13567// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13568func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
13569	return nil, false
13570}
13571
13572// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13573func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
13574	return nil, false
13575}
13576
13577// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13578func (crnfse ChaosRestartNodeFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
13579	return &crnfse, true
13580}
13581
13582// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13583func (crnfse ChaosRestartNodeFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
13584	return nil, false
13585}
13586
13587// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartNodeFaultScheduledEvent.
13588func (crnfse ChaosRestartNodeFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
13589	return &crnfse, true
13590}
13591
13592// ChaosRestartReplicaFaultScheduledEvent chaos Restart Replica Fault Scheduled event.
13593type ChaosRestartReplicaFaultScheduledEvent struct {
13594	// FaultGroupID - Id of fault group.
13595	FaultGroupID *uuid.UUID `json:"FaultGroupId,omitempty"`
13596	// FaultID - Id of fault.
13597	FaultID *uuid.UUID `json:"FaultId,omitempty"`
13598	// ServiceURI - Service name.
13599	ServiceURI *string `json:"ServiceUri,omitempty"`
13600	// 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.
13601	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
13602	// 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.
13603	ReplicaID *int64 `json:"ReplicaId,omitempty"`
13604	// EventInstanceID - The identifier for the FabricEvent instance.
13605	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
13606	// TimeStamp - The time event was logged.
13607	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
13608	// HasCorrelatedEvents - Shows there is existing related events available.
13609	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
13610	// 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'
13611	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
13612}
13613
13614// MarshalJSON is the custom marshaler for ChaosRestartReplicaFaultScheduledEvent.
13615func (crrfse ChaosRestartReplicaFaultScheduledEvent) MarshalJSON() ([]byte, error) {
13616	crrfse.Kind = KindChaosRestartReplicaFaultScheduled
13617	objectMap := make(map[string]interface{})
13618	if crrfse.FaultGroupID != nil {
13619		objectMap["FaultGroupId"] = crrfse.FaultGroupID
13620	}
13621	if crrfse.FaultID != nil {
13622		objectMap["FaultId"] = crrfse.FaultID
13623	}
13624	if crrfse.ServiceURI != nil {
13625		objectMap["ServiceUri"] = crrfse.ServiceURI
13626	}
13627	if crrfse.PartitionID != nil {
13628		objectMap["PartitionId"] = crrfse.PartitionID
13629	}
13630	if crrfse.ReplicaID != nil {
13631		objectMap["ReplicaId"] = crrfse.ReplicaID
13632	}
13633	if crrfse.EventInstanceID != nil {
13634		objectMap["EventInstanceId"] = crrfse.EventInstanceID
13635	}
13636	if crrfse.TimeStamp != nil {
13637		objectMap["TimeStamp"] = crrfse.TimeStamp
13638	}
13639	if crrfse.HasCorrelatedEvents != nil {
13640		objectMap["HasCorrelatedEvents"] = crrfse.HasCorrelatedEvents
13641	}
13642	if crrfse.Kind != "" {
13643		objectMap["Kind"] = crrfse.Kind
13644	}
13645	return json.Marshal(objectMap)
13646}
13647
13648// AsApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13649func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
13650	return nil, false
13651}
13652
13653// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13654func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
13655	return nil, false
13656}
13657
13658// AsClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13659func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterEvent() (*ClusterEvent, bool) {
13660	return nil, false
13661}
13662
13663// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13664func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
13665	return nil, false
13666}
13667
13668// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13669func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
13670	return nil, false
13671}
13672
13673// AsNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13674func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeEvent() (*NodeEvent, bool) {
13675	return nil, false
13676}
13677
13678// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13679func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
13680	return nil, false
13681}
13682
13683// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13684func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
13685	return nil, false
13686}
13687
13688// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13689func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
13690	return nil, false
13691}
13692
13693// AsPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13694func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionEvent() (*PartitionEvent, bool) {
13695	return nil, false
13696}
13697
13698// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13699func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
13700	return nil, false
13701}
13702
13703// AsReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13704func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
13705	return nil, false
13706}
13707
13708// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13709func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
13710	return &crrfse, true
13711}
13712
13713// AsServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13714func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceEvent() (*ServiceEvent, bool) {
13715	return nil, false
13716}
13717
13718// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13719func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
13720	return nil, false
13721}
13722
13723// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13724func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
13725	return nil, false
13726}
13727
13728// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13729func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
13730	return nil, false
13731}
13732
13733// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13734func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
13735	return nil, false
13736}
13737
13738// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13739func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
13740	return nil, false
13741}
13742
13743// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13744func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
13745	return nil, false
13746}
13747
13748// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13749func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
13750	return nil, false
13751}
13752
13753// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13754func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
13755	return nil, false
13756}
13757
13758// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13759func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
13760	return nil, false
13761}
13762
13763// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13764func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
13765	return nil, false
13766}
13767
13768// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13769func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
13770	return nil, false
13771}
13772
13773// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13774func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
13775	return nil, false
13776}
13777
13778// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13779func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
13780	return nil, false
13781}
13782
13783// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13784func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
13785	return nil, false
13786}
13787
13788// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13789func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
13790	return nil, false
13791}
13792
13793// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13794func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
13795	return nil, false
13796}
13797
13798// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13799func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
13800	return nil, false
13801}
13802
13803// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13804func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
13805	return nil, false
13806}
13807
13808// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13809func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
13810	return nil, false
13811}
13812
13813// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13814func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
13815	return nil, false
13816}
13817
13818// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13819func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
13820	return nil, false
13821}
13822
13823// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13824func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
13825	return nil, false
13826}
13827
13828// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13829func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
13830	return nil, false
13831}
13832
13833// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13834func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
13835	return nil, false
13836}
13837
13838// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13839func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
13840	return nil, false
13841}
13842
13843// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13844func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
13845	return nil, false
13846}
13847
13848// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13849func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
13850	return nil, false
13851}
13852
13853// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13854func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
13855	return nil, false
13856}
13857
13858// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13859func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
13860	return nil, false
13861}
13862
13863// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13864func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
13865	return nil, false
13866}
13867
13868// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13869func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
13870	return nil, false
13871}
13872
13873// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13874func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
13875	return nil, false
13876}
13877
13878// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13879func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
13880	return nil, false
13881}
13882
13883// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13884func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
13885	return nil, false
13886}
13887
13888// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13889func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
13890	return nil, false
13891}
13892
13893// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13894func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
13895	return nil, false
13896}
13897
13898// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13899func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
13900	return nil, false
13901}
13902
13903// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13904func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
13905	return nil, false
13906}
13907
13908// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13909func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
13910	return nil, false
13911}
13912
13913// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13914func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
13915	return nil, false
13916}
13917
13918// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13919func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
13920	return nil, false
13921}
13922
13923// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13924func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
13925	return nil, false
13926}
13927
13928// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13929func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
13930	return nil, false
13931}
13932
13933// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13934func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
13935	return nil, false
13936}
13937
13938// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13939func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
13940	return nil, false
13941}
13942
13943// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13944func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
13945	return nil, false
13946}
13947
13948// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13949func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
13950	return nil, false
13951}
13952
13953// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13954func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
13955	return nil, false
13956}
13957
13958// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13959func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
13960	return nil, false
13961}
13962
13963// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13964func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
13965	return nil, false
13966}
13967
13968// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13969func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
13970	return nil, false
13971}
13972
13973// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13974func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
13975	return nil, false
13976}
13977
13978// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13979func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
13980	return nil, false
13981}
13982
13983// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13984func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
13985	return nil, false
13986}
13987
13988// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13989func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
13990	return nil, false
13991}
13992
13993// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13994func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
13995	return nil, false
13996}
13997
13998// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
13999func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14000	return nil, false
14001}
14002
14003// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
14004func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14005	return nil, false
14006}
14007
14008// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
14009func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14010	return nil, false
14011}
14012
14013// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
14014func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14015	return &crrfse, true
14016}
14017
14018// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
14019func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14020	return nil, false
14021}
14022
14023// AsFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
14024func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsFabricEvent() (*FabricEvent, bool) {
14025	return nil, false
14026}
14027
14028// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosRestartReplicaFaultScheduledEvent.
14029func (crrfse ChaosRestartReplicaFaultScheduledEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14030	return &crrfse, true
14031}
14032
14033// ChaosSchedule defines the schedule used by Chaos.
14034type ChaosSchedule struct {
14035	// StartDate - The date and time Chaos will start using this schedule.
14036	StartDate *date.Time `json:"StartDate,omitempty"`
14037	// ExpiryDate - The date and time Chaos will continue to use this schedule until.
14038	ExpiryDate *date.Time `json:"ExpiryDate,omitempty"`
14039	// ChaosParametersDictionary - A mapping of string names to Chaos Parameters to be referenced by Chaos Schedule Jobs.
14040	ChaosParametersDictionary *[]ChaosParametersDictionaryItem `json:"ChaosParametersDictionary,omitempty"`
14041	// Jobs - A list of all Chaos Schedule Jobs that will be automated by the schedule.
14042	Jobs *[]ChaosScheduleJob `json:"Jobs,omitempty"`
14043}
14044
14045// ChaosScheduleDescription defines the Chaos Schedule used by Chaos and the version of the Chaos Schedule.
14046// The version value wraps back to 0 after surpassing 2,147,483,647.
14047type ChaosScheduleDescription struct {
14048	autorest.Response `json:"-"`
14049	// Version - The version number of the Schedule.
14050	Version *int32 `json:"Version,omitempty"`
14051	// Schedule - Defines the schedule used by Chaos.
14052	Schedule *ChaosSchedule `json:"Schedule,omitempty"`
14053}
14054
14055// ChaosScheduleJob defines a repetition rule and parameters of Chaos to be used with the Chaos Schedule.
14056type ChaosScheduleJob struct {
14057	// ChaosParameters - A reference to which Chaos Parameters of the Chaos Schedule to use.
14058	ChaosParameters *string `json:"ChaosParameters,omitempty"`
14059	// Days - Defines the days of the week that a Chaos Schedule Job will run for.
14060	Days *ChaosScheduleJobActiveDaysOfWeek `json:"Days,omitempty"`
14061	// Times - A list of Time Ranges that specify when during active days that this job will run. The times are interpreted as UTC.
14062	Times *[]TimeRange `json:"Times,omitempty"`
14063}
14064
14065// ChaosScheduleJobActiveDaysOfWeek defines the days of the week that a Chaos Schedule Job will run for.
14066type ChaosScheduleJobActiveDaysOfWeek struct {
14067	// Sunday - Indicates if the Chaos Schedule Job will run on Sunday
14068	Sunday *bool `json:"Sunday,omitempty"`
14069	// Monday - Indicates if the Chaos Schedule Job will run on Monday
14070	Monday *bool `json:"Monday,omitempty"`
14071	// Tuesday - Indicates if the Chaos Schedule Job will run on Tuesday
14072	Tuesday *bool `json:"Tuesday,omitempty"`
14073	// Wednesday - Indicates if the Chaos Schedule Job will run on Wednesday
14074	Wednesday *bool `json:"Wednesday,omitempty"`
14075	// Thursday - Indicates if the Chaos Schedule Job will run on Thursday
14076	Thursday *bool `json:"Thursday,omitempty"`
14077	// Friday - Indicates if the Chaos Schedule Job will run on Friday
14078	Friday *bool `json:"Friday,omitempty"`
14079	// Saturday - Indicates if the Chaos Schedule Job will run on Saturday
14080	Saturday *bool `json:"Saturday,omitempty"`
14081}
14082
14083// ChaosStartedEvent chaos Started event.
14084type ChaosStartedEvent struct {
14085	// MaxConcurrentFaults - Maximum number of concurrent faults.
14086	MaxConcurrentFaults *int64 `json:"MaxConcurrentFaults,omitempty"`
14087	// TimeToRunInSeconds - Time to run in seconds.
14088	TimeToRunInSeconds *float64 `json:"TimeToRunInSeconds,omitempty"`
14089	// MaxClusterStabilizationTimeoutInSeconds - Maximum timeout for cluster stabilization in seconds.
14090	MaxClusterStabilizationTimeoutInSeconds *float64 `json:"MaxClusterStabilizationTimeoutInSeconds,omitempty"`
14091	// WaitTimeBetweenIterationsInSeconds - Wait time between iterations in seconds.
14092	WaitTimeBetweenIterationsInSeconds *float64 `json:"WaitTimeBetweenIterationsInSeconds,omitempty"`
14093	// WaitTimeBetweenFautlsInSeconds - Wait time between faults in seconds.
14094	WaitTimeBetweenFautlsInSeconds *float64 `json:"WaitTimeBetweenFautlsInSeconds,omitempty"`
14095	// MoveReplicaFaultEnabled - Indicates MoveReplica fault is enabled.
14096	MoveReplicaFaultEnabled *bool `json:"MoveReplicaFaultEnabled,omitempty"`
14097	// IncludedNodeTypeList - List of included Node types.
14098	IncludedNodeTypeList *string `json:"IncludedNodeTypeList,omitempty"`
14099	// IncludedApplicationList - List of included Applications.
14100	IncludedApplicationList *string `json:"IncludedApplicationList,omitempty"`
14101	// ClusterHealthPolicy - Health policy.
14102	ClusterHealthPolicy *string `json:"ClusterHealthPolicy,omitempty"`
14103	// ChaosContext - Chaos Context.
14104	ChaosContext *string `json:"ChaosContext,omitempty"`
14105	// EventInstanceID - The identifier for the FabricEvent instance.
14106	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
14107	// TimeStamp - The time event was logged.
14108	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
14109	// HasCorrelatedEvents - Shows there is existing related events available.
14110	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
14111	// 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'
14112	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14113}
14114
14115// MarshalJSON is the custom marshaler for ChaosStartedEvent.
14116func (cse ChaosStartedEvent) MarshalJSON() ([]byte, error) {
14117	cse.Kind = KindChaosStarted
14118	objectMap := make(map[string]interface{})
14119	if cse.MaxConcurrentFaults != nil {
14120		objectMap["MaxConcurrentFaults"] = cse.MaxConcurrentFaults
14121	}
14122	if cse.TimeToRunInSeconds != nil {
14123		objectMap["TimeToRunInSeconds"] = cse.TimeToRunInSeconds
14124	}
14125	if cse.MaxClusterStabilizationTimeoutInSeconds != nil {
14126		objectMap["MaxClusterStabilizationTimeoutInSeconds"] = cse.MaxClusterStabilizationTimeoutInSeconds
14127	}
14128	if cse.WaitTimeBetweenIterationsInSeconds != nil {
14129		objectMap["WaitTimeBetweenIterationsInSeconds"] = cse.WaitTimeBetweenIterationsInSeconds
14130	}
14131	if cse.WaitTimeBetweenFautlsInSeconds != nil {
14132		objectMap["WaitTimeBetweenFautlsInSeconds"] = cse.WaitTimeBetweenFautlsInSeconds
14133	}
14134	if cse.MoveReplicaFaultEnabled != nil {
14135		objectMap["MoveReplicaFaultEnabled"] = cse.MoveReplicaFaultEnabled
14136	}
14137	if cse.IncludedNodeTypeList != nil {
14138		objectMap["IncludedNodeTypeList"] = cse.IncludedNodeTypeList
14139	}
14140	if cse.IncludedApplicationList != nil {
14141		objectMap["IncludedApplicationList"] = cse.IncludedApplicationList
14142	}
14143	if cse.ClusterHealthPolicy != nil {
14144		objectMap["ClusterHealthPolicy"] = cse.ClusterHealthPolicy
14145	}
14146	if cse.ChaosContext != nil {
14147		objectMap["ChaosContext"] = cse.ChaosContext
14148	}
14149	if cse.EventInstanceID != nil {
14150		objectMap["EventInstanceId"] = cse.EventInstanceID
14151	}
14152	if cse.TimeStamp != nil {
14153		objectMap["TimeStamp"] = cse.TimeStamp
14154	}
14155	if cse.HasCorrelatedEvents != nil {
14156		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
14157	}
14158	if cse.Kind != "" {
14159		objectMap["Kind"] = cse.Kind
14160	}
14161	return json.Marshal(objectMap)
14162}
14163
14164// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14165func (cse ChaosStartedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14166	return nil, false
14167}
14168
14169// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14170func (cse ChaosStartedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14171	return nil, false
14172}
14173
14174// AsClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14175func (cse ChaosStartedEvent) AsClusterEvent() (*ClusterEvent, bool) {
14176	return nil, false
14177}
14178
14179// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14180func (cse ChaosStartedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14181	return &cse, true
14182}
14183
14184// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14185func (cse ChaosStartedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14186	return nil, false
14187}
14188
14189// AsNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14190func (cse ChaosStartedEvent) AsNodeEvent() (*NodeEvent, bool) {
14191	return nil, false
14192}
14193
14194// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14195func (cse ChaosStartedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14196	return nil, false
14197}
14198
14199// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14200func (cse ChaosStartedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14201	return nil, false
14202}
14203
14204// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14205func (cse ChaosStartedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14206	return nil, false
14207}
14208
14209// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14210func (cse ChaosStartedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14211	return nil, false
14212}
14213
14214// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14215func (cse ChaosStartedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14216	return nil, false
14217}
14218
14219// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14220func (cse ChaosStartedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14221	return nil, false
14222}
14223
14224// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14225func (cse ChaosStartedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14226	return nil, false
14227}
14228
14229// AsServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14230func (cse ChaosStartedEvent) AsServiceEvent() (*ServiceEvent, bool) {
14231	return nil, false
14232}
14233
14234// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14235func (cse ChaosStartedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14236	return nil, false
14237}
14238
14239// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14240func (cse ChaosStartedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14241	return nil, false
14242}
14243
14244// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14245func (cse ChaosStartedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14246	return nil, false
14247}
14248
14249// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14250func (cse ChaosStartedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14251	return nil, false
14252}
14253
14254// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14255func (cse ChaosStartedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14256	return nil, false
14257}
14258
14259// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14260func (cse ChaosStartedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14261	return nil, false
14262}
14263
14264// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14265func (cse ChaosStartedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14266	return nil, false
14267}
14268
14269// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14270func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14271	return nil, false
14272}
14273
14274// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14275func (cse ChaosStartedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14276	return nil, false
14277}
14278
14279// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14280func (cse ChaosStartedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14281	return nil, false
14282}
14283
14284// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14285func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14286	return nil, false
14287}
14288
14289// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14290func (cse ChaosStartedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14291	return nil, false
14292}
14293
14294// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14295func (cse ChaosStartedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14296	return nil, false
14297}
14298
14299// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14300func (cse ChaosStartedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14301	return nil, false
14302}
14303
14304// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14305func (cse ChaosStartedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14306	return nil, false
14307}
14308
14309// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14310func (cse ChaosStartedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14311	return nil, false
14312}
14313
14314// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14315func (cse ChaosStartedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14316	return nil, false
14317}
14318
14319// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14320func (cse ChaosStartedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14321	return nil, false
14322}
14323
14324// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14325func (cse ChaosStartedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14326	return nil, false
14327}
14328
14329// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14330func (cse ChaosStartedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14331	return nil, false
14332}
14333
14334// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14335func (cse ChaosStartedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14336	return nil, false
14337}
14338
14339// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14340func (cse ChaosStartedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14341	return nil, false
14342}
14343
14344// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14345func (cse ChaosStartedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14346	return nil, false
14347}
14348
14349// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14350func (cse ChaosStartedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14351	return nil, false
14352}
14353
14354// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14355func (cse ChaosStartedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14356	return nil, false
14357}
14358
14359// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14360func (cse ChaosStartedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14361	return nil, false
14362}
14363
14364// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14365func (cse ChaosStartedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14366	return nil, false
14367}
14368
14369// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14370func (cse ChaosStartedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14371	return nil, false
14372}
14373
14374// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14375func (cse ChaosStartedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14376	return nil, false
14377}
14378
14379// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14380func (cse ChaosStartedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14381	return nil, false
14382}
14383
14384// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14385func (cse ChaosStartedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14386	return nil, false
14387}
14388
14389// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14390func (cse ChaosStartedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14391	return nil, false
14392}
14393
14394// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14395func (cse ChaosStartedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14396	return nil, false
14397}
14398
14399// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14400func (cse ChaosStartedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14401	return nil, false
14402}
14403
14404// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14405func (cse ChaosStartedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14406	return nil, false
14407}
14408
14409// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14410func (cse ChaosStartedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14411	return nil, false
14412}
14413
14414// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14415func (cse ChaosStartedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14416	return nil, false
14417}
14418
14419// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14420func (cse ChaosStartedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14421	return nil, false
14422}
14423
14424// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14425func (cse ChaosStartedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14426	return nil, false
14427}
14428
14429// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14430func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14431	return nil, false
14432}
14433
14434// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14435func (cse ChaosStartedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14436	return nil, false
14437}
14438
14439// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14440func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14441	return nil, false
14442}
14443
14444// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14445func (cse ChaosStartedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14446	return nil, false
14447}
14448
14449// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14450func (cse ChaosStartedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14451	return nil, false
14452}
14453
14454// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14455func (cse ChaosStartedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14456	return nil, false
14457}
14458
14459// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14460func (cse ChaosStartedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14461	return nil, false
14462}
14463
14464// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14465func (cse ChaosStartedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14466	return nil, false
14467}
14468
14469// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14470func (cse ChaosStartedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14471	return nil, false
14472}
14473
14474// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14475func (cse ChaosStartedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14476	return nil, false
14477}
14478
14479// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14480func (cse ChaosStartedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14481	return nil, false
14482}
14483
14484// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14485func (cse ChaosStartedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14486	return nil, false
14487}
14488
14489// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14490func (cse ChaosStartedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14491	return &cse, true
14492}
14493
14494// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14495func (cse ChaosStartedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14496	return nil, false
14497}
14498
14499// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14500func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14501	return nil, false
14502}
14503
14504// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14505func (cse ChaosStartedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14506	return nil, false
14507}
14508
14509// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14510func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14511	return nil, false
14512}
14513
14514// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14515func (cse ChaosStartedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14516	return nil, false
14517}
14518
14519// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14520func (cse ChaosStartedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14521	return nil, false
14522}
14523
14524// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14525func (cse ChaosStartedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14526	return nil, false
14527}
14528
14529// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14530func (cse ChaosStartedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14531	return nil, false
14532}
14533
14534// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14535func (cse ChaosStartedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14536	return nil, false
14537}
14538
14539// AsFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14540func (cse ChaosStartedEvent) AsFabricEvent() (*FabricEvent, bool) {
14541	return nil, false
14542}
14543
14544// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStartedEvent.
14545func (cse ChaosStartedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14546	return &cse, true
14547}
14548
14549// ChaosStoppedEvent chaos Stopped event.
14550type ChaosStoppedEvent struct {
14551	// Reason - Describes reason.
14552	Reason *string `json:"Reason,omitempty"`
14553	// EventInstanceID - The identifier for the FabricEvent instance.
14554	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
14555	// TimeStamp - The time event was logged.
14556	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
14557	// HasCorrelatedEvents - Shows there is existing related events available.
14558	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
14559	// 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'
14560	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
14561}
14562
14563// MarshalJSON is the custom marshaler for ChaosStoppedEvent.
14564func (cse ChaosStoppedEvent) MarshalJSON() ([]byte, error) {
14565	cse.Kind = KindChaosStopped
14566	objectMap := make(map[string]interface{})
14567	if cse.Reason != nil {
14568		objectMap["Reason"] = cse.Reason
14569	}
14570	if cse.EventInstanceID != nil {
14571		objectMap["EventInstanceId"] = cse.EventInstanceID
14572	}
14573	if cse.TimeStamp != nil {
14574		objectMap["TimeStamp"] = cse.TimeStamp
14575	}
14576	if cse.HasCorrelatedEvents != nil {
14577		objectMap["HasCorrelatedEvents"] = cse.HasCorrelatedEvents
14578	}
14579	if cse.Kind != "" {
14580		objectMap["Kind"] = cse.Kind
14581	}
14582	return json.Marshal(objectMap)
14583}
14584
14585// AsApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14586func (cse ChaosStoppedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
14587	return nil, false
14588}
14589
14590// AsBasicApplicationEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14591func (cse ChaosStoppedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
14592	return nil, false
14593}
14594
14595// AsClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14596func (cse ChaosStoppedEvent) AsClusterEvent() (*ClusterEvent, bool) {
14597	return nil, false
14598}
14599
14600// AsBasicClusterEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14601func (cse ChaosStoppedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
14602	return &cse, true
14603}
14604
14605// AsContainerInstanceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14606func (cse ChaosStoppedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
14607	return nil, false
14608}
14609
14610// AsNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14611func (cse ChaosStoppedEvent) AsNodeEvent() (*NodeEvent, bool) {
14612	return nil, false
14613}
14614
14615// AsBasicNodeEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14616func (cse ChaosStoppedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
14617	return nil, false
14618}
14619
14620// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14621func (cse ChaosStoppedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
14622	return nil, false
14623}
14624
14625// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14626func (cse ChaosStoppedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
14627	return nil, false
14628}
14629
14630// AsPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14631func (cse ChaosStoppedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
14632	return nil, false
14633}
14634
14635// AsBasicPartitionEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14636func (cse ChaosStoppedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
14637	return nil, false
14638}
14639
14640// AsReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14641func (cse ChaosStoppedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
14642	return nil, false
14643}
14644
14645// AsBasicReplicaEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14646func (cse ChaosStoppedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
14647	return nil, false
14648}
14649
14650// AsServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14651func (cse ChaosStoppedEvent) AsServiceEvent() (*ServiceEvent, bool) {
14652	return nil, false
14653}
14654
14655// AsBasicServiceEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14656func (cse ChaosStoppedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
14657	return nil, false
14658}
14659
14660// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14661func (cse ChaosStoppedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
14662	return nil, false
14663}
14664
14665// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14666func (cse ChaosStoppedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
14667	return nil, false
14668}
14669
14670// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14671func (cse ChaosStoppedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
14672	return nil, false
14673}
14674
14675// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14676func (cse ChaosStoppedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
14677	return nil, false
14678}
14679
14680// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14681func (cse ChaosStoppedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
14682	return nil, false
14683}
14684
14685// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14686func (cse ChaosStoppedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
14687	return nil, false
14688}
14689
14690// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14691func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
14692	return nil, false
14693}
14694
14695// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14696func (cse ChaosStoppedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
14697	return nil, false
14698}
14699
14700// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14701func (cse ChaosStoppedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
14702	return nil, false
14703}
14704
14705// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14706func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
14707	return nil, false
14708}
14709
14710// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14711func (cse ChaosStoppedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
14712	return nil, false
14713}
14714
14715// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14716func (cse ChaosStoppedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
14717	return nil, false
14718}
14719
14720// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14721func (cse ChaosStoppedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
14722	return nil, false
14723}
14724
14725// AsNodeAbortedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14726func (cse ChaosStoppedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
14727	return nil, false
14728}
14729
14730// AsNodeAbortingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14731func (cse ChaosStoppedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
14732	return nil, false
14733}
14734
14735// AsNodeAddedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14736func (cse ChaosStoppedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
14737	return nil, false
14738}
14739
14740// AsNodeCloseEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14741func (cse ChaosStoppedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
14742	return nil, false
14743}
14744
14745// AsNodeClosingEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14746func (cse ChaosStoppedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
14747	return nil, false
14748}
14749
14750// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14751func (cse ChaosStoppedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
14752	return nil, false
14753}
14754
14755// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14756func (cse ChaosStoppedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
14757	return nil, false
14758}
14759
14760// AsNodeDownEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14761func (cse ChaosStoppedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
14762	return nil, false
14763}
14764
14765// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14766func (cse ChaosStoppedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
14767	return nil, false
14768}
14769
14770// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14771func (cse ChaosStoppedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
14772	return nil, false
14773}
14774
14775// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14776func (cse ChaosStoppedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
14777	return nil, false
14778}
14779
14780// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14781func (cse ChaosStoppedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
14782	return nil, false
14783}
14784
14785// AsNodeOpeningEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14786func (cse ChaosStoppedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
14787	return nil, false
14788}
14789
14790// AsNodeRemovedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14791func (cse ChaosStoppedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
14792	return nil, false
14793}
14794
14795// AsNodeUpEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14796func (cse ChaosStoppedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
14797	return nil, false
14798}
14799
14800// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14801func (cse ChaosStoppedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
14802	return nil, false
14803}
14804
14805// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14806func (cse ChaosStoppedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
14807	return nil, false
14808}
14809
14810// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14811func (cse ChaosStoppedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
14812	return nil, false
14813}
14814
14815// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14816func (cse ChaosStoppedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
14817	return nil, false
14818}
14819
14820// AsServiceCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14821func (cse ChaosStoppedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
14822	return nil, false
14823}
14824
14825// AsServiceDeletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14826func (cse ChaosStoppedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
14827	return nil, false
14828}
14829
14830// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14831func (cse ChaosStoppedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
14832	return nil, false
14833}
14834
14835// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14836func (cse ChaosStoppedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
14837	return nil, false
14838}
14839
14840// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14841func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
14842	return nil, false
14843}
14844
14845// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14846func (cse ChaosStoppedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
14847	return nil, false
14848}
14849
14850// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14851func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
14852	return nil, false
14853}
14854
14855// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14856func (cse ChaosStoppedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
14857	return nil, false
14858}
14859
14860// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14861func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
14862	return nil, false
14863}
14864
14865// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14866func (cse ChaosStoppedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
14867	return nil, false
14868}
14869
14870// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14871func (cse ChaosStoppedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
14872	return nil, false
14873}
14874
14875// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14876func (cse ChaosStoppedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
14877	return nil, false
14878}
14879
14880// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14881func (cse ChaosStoppedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
14882	return nil, false
14883}
14884
14885// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14886func (cse ChaosStoppedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
14887	return nil, false
14888}
14889
14890// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14891func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
14892	return nil, false
14893}
14894
14895// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14896func (cse ChaosStoppedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
14897	return nil, false
14898}
14899
14900// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14901func (cse ChaosStoppedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
14902	return nil, false
14903}
14904
14905// AsChaosStoppedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14906func (cse ChaosStoppedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
14907	return &cse, true
14908}
14909
14910// AsChaosStartedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14911func (cse ChaosStoppedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
14912	return nil, false
14913}
14914
14915// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14916func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
14917	return nil, false
14918}
14919
14920// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14921func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
14922	return nil, false
14923}
14924
14925// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14926func (cse ChaosStoppedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
14927	return nil, false
14928}
14929
14930// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14931func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
14932	return nil, false
14933}
14934
14935// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14936func (cse ChaosStoppedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
14937	return nil, false
14938}
14939
14940// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14941func (cse ChaosStoppedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
14942	return nil, false
14943}
14944
14945// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14946func (cse ChaosStoppedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
14947	return nil, false
14948}
14949
14950// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14951func (cse ChaosStoppedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
14952	return nil, false
14953}
14954
14955// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14956func (cse ChaosStoppedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
14957	return nil, false
14958}
14959
14960// AsFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14961func (cse ChaosStoppedEvent) AsFabricEvent() (*FabricEvent, bool) {
14962	return nil, false
14963}
14964
14965// AsBasicFabricEvent is the BasicFabricEvent implementation for ChaosStoppedEvent.
14966func (cse ChaosStoppedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
14967	return &cse, true
14968}
14969
14970// ChaosTargetFilter defines all filters for targeted Chaos faults, for example, faulting only certain node
14971// types or faulting only certain applications.
14972// If ChaosTargetFilter is not used, Chaos faults all cluster entities. If ChaosTargetFilter is used, Chaos
14973// faults only the entities that meet the ChaosTargetFilter
14974// specification. NodeTypeInclusionList and ApplicationInclusionList allow a union semantics only. It is
14975// not possible to specify an intersection
14976// of NodeTypeInclusionList and ApplicationInclusionList. For example, it is not possible to specify "fault
14977// this application only when it is on that node type."
14978// Once an entity is included in either NodeTypeInclusionList or ApplicationInclusionList, that entity
14979// cannot be excluded using ChaosTargetFilter. Even if
14980// applicationX does not appear in ApplicationInclusionList, in some Chaos iteration applicationX can be
14981// faulted because it happens to be on a node of nodeTypeY that is included
14982// in NodeTypeInclusionList. If both NodeTypeInclusionList and ApplicationInclusionList are null or empty,
14983// an ArgumentException is thrown.
14984type ChaosTargetFilter struct {
14985	// NodeTypeInclusionList - A list of node types to include in Chaos faults.
14986	// 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.
14987	// If a node type (say NodeTypeX) does not appear in the NodeTypeInclusionList, then node level faults (like NodeRestart) will never be enabled for the nodes of
14988	// NodeTypeX, but code package and replica faults can still be enabled for NodeTypeX if an application in the ApplicationInclusionList.
14989	// happens to reside on a node of NodeTypeX.
14990	// At most 100 node type names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfNodeTypesInChaosEntityFilter configuration.
14991	NodeTypeInclusionList *[]string `json:"NodeTypeInclusionList,omitempty"`
14992	// ApplicationInclusionList - A list of application URIs to include in Chaos faults.
14993	// All replicas belonging to services of these applications are amenable to replica faults (restart replica, remove replica, move primary, and move secondary) by Chaos.
14994	// Chaos may restart a code package only if the code package hosts replicas of these applications only.
14995	// 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.
14996	// 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.
14997	// At most 1000 application names can be included in this list, to increase this number, a config upgrade is required for MaxNumberOfApplicationsInChaosEntityFilter configuration.
14998	ApplicationInclusionList *[]string `json:"ApplicationInclusionList,omitempty"`
14999}
15000
15001// CheckExistsPropertyBatchOperation represents a PropertyBatchOperation that compares the Boolean
15002// existence of a property with the Exists argument.
15003// The PropertyBatchOperation operation fails if the property's existence is not equal to the Exists
15004// argument.
15005// The CheckExistsPropertyBatchOperation is generally used as a precondition for the write operations in
15006// the batch.
15007// Note that if one PropertyBatchOperation in a PropertyBatch fails,
15008// the entire batch fails and cannot be committed in a transactional manner.
15009type CheckExistsPropertyBatchOperation struct {
15010	// Exists - Whether or not the property should exist for the operation to pass.
15011	Exists *bool `json:"Exists,omitempty"`
15012	// PropertyName - The name of the Service Fabric property.
15013	PropertyName *string `json:"PropertyName,omitempty"`
15014	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
15015	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
15016}
15017
15018// MarshalJSON is the custom marshaler for CheckExistsPropertyBatchOperation.
15019func (cepbo CheckExistsPropertyBatchOperation) MarshalJSON() ([]byte, error) {
15020	cepbo.Kind = KindCheckExists
15021	objectMap := make(map[string]interface{})
15022	if cepbo.Exists != nil {
15023		objectMap["Exists"] = cepbo.Exists
15024	}
15025	if cepbo.PropertyName != nil {
15026		objectMap["PropertyName"] = cepbo.PropertyName
15027	}
15028	if cepbo.Kind != "" {
15029		objectMap["Kind"] = cepbo.Kind
15030	}
15031	return json.Marshal(objectMap)
15032}
15033
15034// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15035func (cepbo CheckExistsPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
15036	return &cepbo, true
15037}
15038
15039// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15040func (cepbo CheckExistsPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
15041	return nil, false
15042}
15043
15044// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15045func (cepbo CheckExistsPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
15046	return nil, false
15047}
15048
15049// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15050func (cepbo CheckExistsPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
15051	return nil, false
15052}
15053
15054// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15055func (cepbo CheckExistsPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
15056	return nil, false
15057}
15058
15059// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15060func (cepbo CheckExistsPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
15061	return nil, false
15062}
15063
15064// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15065func (cepbo CheckExistsPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
15066	return nil, false
15067}
15068
15069// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckExistsPropertyBatchOperation.
15070func (cepbo CheckExistsPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
15071	return &cepbo, true
15072}
15073
15074// CheckSequencePropertyBatchOperation compares the Sequence Number of a property with the SequenceNumber
15075// argument.
15076// A property's sequence number can be thought of as that property's version.
15077// Every time the property is modified, its sequence number is increased.
15078// The sequence number can be found in a property's metadata.
15079// The comparison fails if the sequence numbers are not equal.
15080// CheckSequencePropertyBatchOperation is generally used as a precondition for the write operations in the
15081// batch.
15082// Note that if one PropertyBatchOperation in a PropertyBatch fails,
15083// the entire batch fails and cannot be committed in a transactional manner.
15084type CheckSequencePropertyBatchOperation struct {
15085	// SequenceNumber - The expected sequence number.
15086	SequenceNumber *string `json:"SequenceNumber,omitempty"`
15087	// PropertyName - The name of the Service Fabric property.
15088	PropertyName *string `json:"PropertyName,omitempty"`
15089	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
15090	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
15091}
15092
15093// MarshalJSON is the custom marshaler for CheckSequencePropertyBatchOperation.
15094func (cspbo CheckSequencePropertyBatchOperation) MarshalJSON() ([]byte, error) {
15095	cspbo.Kind = KindCheckSequence
15096	objectMap := make(map[string]interface{})
15097	if cspbo.SequenceNumber != nil {
15098		objectMap["SequenceNumber"] = cspbo.SequenceNumber
15099	}
15100	if cspbo.PropertyName != nil {
15101		objectMap["PropertyName"] = cspbo.PropertyName
15102	}
15103	if cspbo.Kind != "" {
15104		objectMap["Kind"] = cspbo.Kind
15105	}
15106	return json.Marshal(objectMap)
15107}
15108
15109// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15110func (cspbo CheckSequencePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
15111	return nil, false
15112}
15113
15114// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15115func (cspbo CheckSequencePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
15116	return &cspbo, true
15117}
15118
15119// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15120func (cspbo CheckSequencePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
15121	return nil, false
15122}
15123
15124// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15125func (cspbo CheckSequencePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
15126	return nil, false
15127}
15128
15129// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15130func (cspbo CheckSequencePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
15131	return nil, false
15132}
15133
15134// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15135func (cspbo CheckSequencePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
15136	return nil, false
15137}
15138
15139// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15140func (cspbo CheckSequencePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
15141	return nil, false
15142}
15143
15144// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckSequencePropertyBatchOperation.
15145func (cspbo CheckSequencePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
15146	return &cspbo, true
15147}
15148
15149// CheckValuePropertyBatchOperation represents a PropertyBatchOperation that compares the value of the
15150// property with the expected value.
15151// The CheckValuePropertyBatchOperation is generally used as a precondition for the write operations in the
15152// batch.
15153// Note that if one PropertyBatchOperation in a PropertyBatch fails,
15154// the entire batch fails and cannot be committed in a transactional manner.
15155type CheckValuePropertyBatchOperation struct {
15156	// Value - The expected property value.
15157	Value BasicPropertyValue `json:"Value,omitempty"`
15158	// PropertyName - The name of the Service Fabric property.
15159	PropertyName *string `json:"PropertyName,omitempty"`
15160	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
15161	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
15162}
15163
15164// MarshalJSON is the custom marshaler for CheckValuePropertyBatchOperation.
15165func (cvpbo CheckValuePropertyBatchOperation) MarshalJSON() ([]byte, error) {
15166	cvpbo.Kind = KindCheckValue
15167	objectMap := make(map[string]interface{})
15168	objectMap["Value"] = cvpbo.Value
15169	if cvpbo.PropertyName != nil {
15170		objectMap["PropertyName"] = cvpbo.PropertyName
15171	}
15172	if cvpbo.Kind != "" {
15173		objectMap["Kind"] = cvpbo.Kind
15174	}
15175	return json.Marshal(objectMap)
15176}
15177
15178// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15179func (cvpbo CheckValuePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
15180	return nil, false
15181}
15182
15183// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15184func (cvpbo CheckValuePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
15185	return nil, false
15186}
15187
15188// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15189func (cvpbo CheckValuePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
15190	return &cvpbo, true
15191}
15192
15193// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15194func (cvpbo CheckValuePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
15195	return nil, false
15196}
15197
15198// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15199func (cvpbo CheckValuePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
15200	return nil, false
15201}
15202
15203// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15204func (cvpbo CheckValuePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
15205	return nil, false
15206}
15207
15208// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15209func (cvpbo CheckValuePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
15210	return nil, false
15211}
15212
15213// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for CheckValuePropertyBatchOperation.
15214func (cvpbo CheckValuePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
15215	return &cvpbo, true
15216}
15217
15218// UnmarshalJSON is the custom unmarshaler for CheckValuePropertyBatchOperation struct.
15219func (cvpbo *CheckValuePropertyBatchOperation) UnmarshalJSON(body []byte) error {
15220	var m map[string]*json.RawMessage
15221	err := json.Unmarshal(body, &m)
15222	if err != nil {
15223		return err
15224	}
15225	for k, v := range m {
15226		switch k {
15227		case "Value":
15228			if v != nil {
15229				value, err := unmarshalBasicPropertyValue(*v)
15230				if err != nil {
15231					return err
15232				}
15233				cvpbo.Value = value
15234			}
15235		case "PropertyName":
15236			if v != nil {
15237				var propertyName string
15238				err = json.Unmarshal(*v, &propertyName)
15239				if err != nil {
15240					return err
15241				}
15242				cvpbo.PropertyName = &propertyName
15243			}
15244		case "Kind":
15245			if v != nil {
15246				var kind KindBasicPropertyBatchOperation
15247				err = json.Unmarshal(*v, &kind)
15248				if err != nil {
15249					return err
15250				}
15251				cvpbo.Kind = kind
15252			}
15253		}
15254	}
15255
15256	return nil
15257}
15258
15259// ClusterConfiguration information about the standalone cluster configuration.
15260type ClusterConfiguration struct {
15261	autorest.Response `json:"-"`
15262	// ClusterConfiguration - The contents of the cluster configuration file.
15263	ClusterConfiguration *string `json:"ClusterConfiguration,omitempty"`
15264}
15265
15266// ClusterConfigurationUpgradeDescription describes the parameters for a standalone cluster configuration
15267// upgrade.
15268type ClusterConfigurationUpgradeDescription struct {
15269	// ClusterConfig - The cluster configuration.
15270	ClusterConfig *string `json:"ClusterConfig,omitempty"`
15271	// HealthCheckRetryTimeout - The length of time between attempts to perform a health checks if the application or cluster is not healthy.
15272	HealthCheckRetryTimeout *string `json:"HealthCheckRetryTimeout,omitempty"`
15273	// HealthCheckWaitDurationInSeconds - The length of time to wait after completing an upgrade domain before starting the health checks process.
15274	HealthCheckWaitDurationInSeconds *string `json:"HealthCheckWaitDurationInSeconds,omitempty"`
15275	// HealthCheckStableDurationInSeconds - The length of time that the application or cluster must remain healthy.
15276	HealthCheckStableDurationInSeconds *string `json:"HealthCheckStableDurationInSeconds,omitempty"`
15277	// UpgradeDomainTimeoutInSeconds - The timeout for the upgrade domain.
15278	UpgradeDomainTimeoutInSeconds *string `json:"UpgradeDomainTimeoutInSeconds,omitempty"`
15279	// UpgradeTimeoutInSeconds - The upgrade timeout.
15280	UpgradeTimeoutInSeconds *string `json:"UpgradeTimeoutInSeconds,omitempty"`
15281	// MaxPercentUnhealthyApplications - The maximum allowed percentage of unhealthy applications during the upgrade. Allowed values are integer values from zero to 100.
15282	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
15283	// MaxPercentUnhealthyNodes - The maximum allowed percentage of unhealthy nodes during the upgrade. Allowed values are integer values from zero to 100.
15284	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
15285	// MaxPercentDeltaUnhealthyNodes - The maximum allowed percentage of delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
15286	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
15287	// MaxPercentUpgradeDomainDeltaUnhealthyNodes - The maximum allowed percentage of upgrade domain delta health degradation during the upgrade. Allowed values are integer values from zero to 100.
15288	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
15289	// ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
15290	ApplicationHealthPolicies *ApplicationHealthPolicies `json:"ApplicationHealthPolicies,omitempty"`
15291}
15292
15293// ClusterConfigurationUpgradeStatusInfo information about a standalone cluster configuration upgrade
15294// status.
15295type ClusterConfigurationUpgradeStatusInfo struct {
15296	autorest.Response `json:"-"`
15297	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
15298	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
15299	// ProgressStatus - The cluster manifest version.
15300	ProgressStatus *int32 `json:"ProgressStatus,omitempty"`
15301	// ConfigVersion - The cluster configuration version.
15302	ConfigVersion *string `json:"ConfigVersion,omitempty"`
15303	// Details - The cluster upgrade status details.
15304	Details *string `json:"Details,omitempty"`
15305}
15306
15307// BasicClusterEvent represents the base for all Cluster Events.
15308type BasicClusterEvent interface {
15309	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
15310	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
15311	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
15312	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
15313	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
15314	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
15315	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
15316	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
15317	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
15318	AsClusterEvent() (*ClusterEvent, bool)
15319}
15320
15321// ClusterEvent represents the base for all Cluster Events.
15322type ClusterEvent struct {
15323	// EventInstanceID - The identifier for the FabricEvent instance.
15324	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15325	// TimeStamp - The time event was logged.
15326	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15327	// HasCorrelatedEvents - Shows there is existing related events available.
15328	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15329	// 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'
15330	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15331}
15332
15333func unmarshalBasicClusterEvent(body []byte) (BasicClusterEvent, error) {
15334	var m map[string]interface{}
15335	err := json.Unmarshal(body, &m)
15336	if err != nil {
15337		return nil, err
15338	}
15339
15340	switch m["Kind"] {
15341	case string(KindClusterHealthReportCreated):
15342		var chrce ClusterHealthReportCreatedEvent
15343		err := json.Unmarshal(body, &chrce)
15344		return chrce, err
15345	case string(KindClusterHealthReportExpired):
15346		var chree ClusterHealthReportExpiredEvent
15347		err := json.Unmarshal(body, &chree)
15348		return chree, err
15349	case string(KindClusterUpgradeComplete):
15350		var cuce ClusterUpgradeCompleteEvent
15351		err := json.Unmarshal(body, &cuce)
15352		return cuce, err
15353	case string(KindClusterUpgradeDomainComplete):
15354		var cudce ClusterUpgradeDomainCompleteEvent
15355		err := json.Unmarshal(body, &cudce)
15356		return cudce, err
15357	case string(KindClusterUpgradeRollbackComplete):
15358		var curce ClusterUpgradeRollbackCompleteEvent
15359		err := json.Unmarshal(body, &curce)
15360		return curce, err
15361	case string(KindClusterUpgradeRollbackStart):
15362		var curse ClusterUpgradeRollbackStartEvent
15363		err := json.Unmarshal(body, &curse)
15364		return curse, err
15365	case string(KindClusterUpgradeStart):
15366		var cuse ClusterUpgradeStartEvent
15367		err := json.Unmarshal(body, &cuse)
15368		return cuse, err
15369	case string(KindChaosStopped):
15370		var cse ChaosStoppedEvent
15371		err := json.Unmarshal(body, &cse)
15372		return cse, err
15373	case string(KindChaosStarted):
15374		var cse ChaosStartedEvent
15375		err := json.Unmarshal(body, &cse)
15376		return cse, err
15377	default:
15378		var ce ClusterEvent
15379		err := json.Unmarshal(body, &ce)
15380		return ce, err
15381	}
15382}
15383func unmarshalBasicClusterEventArray(body []byte) ([]BasicClusterEvent, error) {
15384	var rawMessages []*json.RawMessage
15385	err := json.Unmarshal(body, &rawMessages)
15386	if err != nil {
15387		return nil, err
15388	}
15389
15390	ceArray := make([]BasicClusterEvent, len(rawMessages))
15391
15392	for index, rawMessage := range rawMessages {
15393		ce, err := unmarshalBasicClusterEvent(*rawMessage)
15394		if err != nil {
15395			return nil, err
15396		}
15397		ceArray[index] = ce
15398	}
15399	return ceArray, nil
15400}
15401
15402// MarshalJSON is the custom marshaler for ClusterEvent.
15403func (ce ClusterEvent) MarshalJSON() ([]byte, error) {
15404	ce.Kind = KindClusterEvent
15405	objectMap := make(map[string]interface{})
15406	if ce.EventInstanceID != nil {
15407		objectMap["EventInstanceId"] = ce.EventInstanceID
15408	}
15409	if ce.TimeStamp != nil {
15410		objectMap["TimeStamp"] = ce.TimeStamp
15411	}
15412	if ce.HasCorrelatedEvents != nil {
15413		objectMap["HasCorrelatedEvents"] = ce.HasCorrelatedEvents
15414	}
15415	if ce.Kind != "" {
15416		objectMap["Kind"] = ce.Kind
15417	}
15418	return json.Marshal(objectMap)
15419}
15420
15421// AsApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
15422func (ce ClusterEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
15423	return nil, false
15424}
15425
15426// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterEvent.
15427func (ce ClusterEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
15428	return nil, false
15429}
15430
15431// AsClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
15432func (ce ClusterEvent) AsClusterEvent() (*ClusterEvent, bool) {
15433	return &ce, true
15434}
15435
15436// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterEvent.
15437func (ce ClusterEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
15438	return &ce, true
15439}
15440
15441// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterEvent.
15442func (ce ClusterEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
15443	return nil, false
15444}
15445
15446// AsNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
15447func (ce ClusterEvent) AsNodeEvent() (*NodeEvent, bool) {
15448	return nil, false
15449}
15450
15451// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterEvent.
15452func (ce ClusterEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
15453	return nil, false
15454}
15455
15456// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
15457func (ce ClusterEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
15458	return nil, false
15459}
15460
15461// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
15462func (ce ClusterEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
15463	return nil, false
15464}
15465
15466// AsPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
15467func (ce ClusterEvent) AsPartitionEvent() (*PartitionEvent, bool) {
15468	return nil, false
15469}
15470
15471// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterEvent.
15472func (ce ClusterEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
15473	return nil, false
15474}
15475
15476// AsReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
15477func (ce ClusterEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
15478	return nil, false
15479}
15480
15481// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterEvent.
15482func (ce ClusterEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
15483	return nil, false
15484}
15485
15486// AsServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
15487func (ce ClusterEvent) AsServiceEvent() (*ServiceEvent, bool) {
15488	return nil, false
15489}
15490
15491// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterEvent.
15492func (ce ClusterEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
15493	return nil, false
15494}
15495
15496// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15497func (ce ClusterEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
15498	return nil, false
15499}
15500
15501// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15502func (ce ClusterEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
15503	return nil, false
15504}
15505
15506// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15507func (ce ClusterEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
15508	return nil, false
15509}
15510
15511// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15512func (ce ClusterEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
15513	return nil, false
15514}
15515
15516// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15517func (ce ClusterEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
15518	return nil, false
15519}
15520
15521// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15522func (ce ClusterEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
15523	return nil, false
15524}
15525
15526// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15527func (ce ClusterEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
15528	return nil, false
15529}
15530
15531// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15532func (ce ClusterEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
15533	return nil, false
15534}
15535
15536// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15537func (ce ClusterEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
15538	return nil, false
15539}
15540
15541// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15542func (ce ClusterEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
15543	return nil, false
15544}
15545
15546// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15547func (ce ClusterEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
15548	return nil, false
15549}
15550
15551// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15552func (ce ClusterEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
15553	return nil, false
15554}
15555
15556// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15557func (ce ClusterEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
15558	return nil, false
15559}
15560
15561// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterEvent.
15562func (ce ClusterEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
15563	return nil, false
15564}
15565
15566// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterEvent.
15567func (ce ClusterEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
15568	return nil, false
15569}
15570
15571// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterEvent.
15572func (ce ClusterEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
15573	return nil, false
15574}
15575
15576// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterEvent.
15577func (ce ClusterEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
15578	return nil, false
15579}
15580
15581// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterEvent.
15582func (ce ClusterEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
15583	return nil, false
15584}
15585
15586// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15587func (ce ClusterEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
15588	return nil, false
15589}
15590
15591// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15592func (ce ClusterEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
15593	return nil, false
15594}
15595
15596// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterEvent.
15597func (ce ClusterEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
15598	return nil, false
15599}
15600
15601// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15602func (ce ClusterEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
15603	return nil, false
15604}
15605
15606// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15607func (ce ClusterEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
15608	return nil, false
15609}
15610
15611// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterEvent.
15612func (ce ClusterEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
15613	return nil, false
15614}
15615
15616// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterEvent.
15617func (ce ClusterEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
15618	return nil, false
15619}
15620
15621// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterEvent.
15622func (ce ClusterEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
15623	return nil, false
15624}
15625
15626// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterEvent.
15627func (ce ClusterEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
15628	return nil, false
15629}
15630
15631// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterEvent.
15632func (ce ClusterEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
15633	return nil, false
15634}
15635
15636// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15637func (ce ClusterEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
15638	return nil, false
15639}
15640
15641// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15642func (ce ClusterEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
15643	return nil, false
15644}
15645
15646// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15647func (ce ClusterEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
15648	return nil, false
15649}
15650
15651// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterEvent.
15652func (ce ClusterEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
15653	return nil, false
15654}
15655
15656// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15657func (ce ClusterEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
15658	return nil, false
15659}
15660
15661// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15662func (ce ClusterEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
15663	return nil, false
15664}
15665
15666// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15667func (ce ClusterEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
15668	return nil, false
15669}
15670
15671// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15672func (ce ClusterEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
15673	return nil, false
15674}
15675
15676// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15677func (ce ClusterEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
15678	return nil, false
15679}
15680
15681// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15682func (ce ClusterEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
15683	return nil, false
15684}
15685
15686// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15687func (ce ClusterEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
15688	return nil, false
15689}
15690
15691// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15692func (ce ClusterEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
15693	return nil, false
15694}
15695
15696// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15697func (ce ClusterEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
15698	return nil, false
15699}
15700
15701// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15702func (ce ClusterEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
15703	return nil, false
15704}
15705
15706// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterEvent.
15707func (ce ClusterEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
15708	return nil, false
15709}
15710
15711// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterEvent.
15712func (ce ClusterEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
15713	return nil, false
15714}
15715
15716// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15717func (ce ClusterEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
15718	return nil, false
15719}
15720
15721// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15722func (ce ClusterEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
15723	return nil, false
15724}
15725
15726// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterEvent.
15727func (ce ClusterEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
15728	return nil, false
15729}
15730
15731// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15732func (ce ClusterEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
15733	return nil, false
15734}
15735
15736// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterEvent.
15737func (ce ClusterEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
15738	return nil, false
15739}
15740
15741// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterEvent.
15742func (ce ClusterEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
15743	return nil, false
15744}
15745
15746// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterEvent.
15747func (ce ClusterEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
15748	return nil, false
15749}
15750
15751// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15752func (ce ClusterEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
15753	return nil, false
15754}
15755
15756// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15757func (ce ClusterEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
15758	return nil, false
15759}
15760
15761// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15762func (ce ClusterEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
15763	return nil, false
15764}
15765
15766// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15767func (ce ClusterEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
15768	return nil, false
15769}
15770
15771// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterEvent.
15772func (ce ClusterEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
15773	return nil, false
15774}
15775
15776// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15777func (ce ClusterEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
15778	return nil, false
15779}
15780
15781// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15782func (ce ClusterEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
15783	return nil, false
15784}
15785
15786// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15787func (ce ClusterEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
15788	return nil, false
15789}
15790
15791// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterEvent.
15792func (ce ClusterEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
15793	return nil, false
15794}
15795
15796// AsFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
15797func (ce ClusterEvent) AsFabricEvent() (*FabricEvent, bool) {
15798	return nil, false
15799}
15800
15801// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterEvent.
15802func (ce ClusterEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
15803	return &ce, true
15804}
15805
15806// ClusterHealth represents the health of the cluster.
15807// Contains the cluster aggregated health state, the cluster application and node health states as well as
15808// the health events and the unhealthy evaluations.
15809type ClusterHealth struct {
15810	autorest.Response `json:"-"`
15811	// NodeHealthStates - Cluster node health states as found in the health store.
15812	NodeHealthStates *[]NodeHealthState `json:"NodeHealthStates,omitempty"`
15813	// ApplicationHealthStates - Cluster application health states as found in the health store.
15814	ApplicationHealthStates *[]ApplicationHealthState `json:"ApplicationHealthStates,omitempty"`
15815	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
15816	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
15817	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
15818	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
15819	// HealthEvents - The list of health events reported on the entity.
15820	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
15821	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
15822	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
15823	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
15824	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
15825}
15826
15827// ClusterHealthChunk represents the health chunk of the cluster.
15828// Contains the cluster aggregated health state, and the cluster entities that respect the input filter.
15829type ClusterHealthChunk struct {
15830	autorest.Response `json:"-"`
15831	// HealthState - The HealthState representing the aggregated health state of the cluster computed by Health Manager.
15832	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
15833	// The aggregation is done by applying the desired cluster health policy and the application health policies. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
15834	HealthState HealthState `json:"HealthState,omitempty"`
15835	// NodeHealthStateChunks - The list of node health state chunks in the cluster that respect the filters in the cluster health chunk query description.
15836	NodeHealthStateChunks *NodeHealthStateChunkList `json:"NodeHealthStateChunks,omitempty"`
15837	// ApplicationHealthStateChunks - The list of application health state chunks in the cluster that respect the filters in the cluster health chunk query description.
15838	ApplicationHealthStateChunks *ApplicationHealthStateChunkList `json:"ApplicationHealthStateChunks,omitempty"`
15839}
15840
15841// ClusterHealthChunkQueryDescription the cluster health chunk query description, which can specify the
15842// health policies to evaluate cluster health and very expressive filters to select which cluster entities
15843// to include in response.
15844type ClusterHealthChunkQueryDescription struct {
15845	// NodeFilters - Defines a list of filters that specify which nodes to be included in the returned cluster health chunk.
15846	// 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.
15847	// The cluster health chunk query may specify multiple node filters.
15848	// 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.
15849	NodeFilters *[]NodeHealthStateFilter `json:"NodeFilters,omitempty"`
15850	// ApplicationFilters - Defines a list of filters that specify which applications to be included in the returned cluster health chunk.
15851	// 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.
15852	// The cluster health chunk query may specify multiple application filters.
15853	// 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.
15854	ApplicationFilters *[]ApplicationHealthStateFilter `json:"ApplicationFilters,omitempty"`
15855	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
15856	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
15857	// ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
15858	ApplicationHealthPolicies *ApplicationHealthPolicies `json:"ApplicationHealthPolicies,omitempty"`
15859}
15860
15861// ClusterHealthPolicies health policies to evaluate cluster health.
15862type ClusterHealthPolicies struct {
15863	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
15864	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
15865	// 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).
15866	// The map is empty by default.
15867	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
15868	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
15869	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
15870}
15871
15872// ClusterHealthPolicy defines a health policy used to evaluate the health of the cluster or of a cluster
15873// node.
15874type ClusterHealthPolicy struct {
15875	// ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors.
15876	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
15877	// 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.
15878	// The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.
15879	// If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.
15880	// The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.
15881	// The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.
15882	// In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.
15883	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
15884	// 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.
15885	// The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.
15886	// If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.
15887	// 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.
15888	// The computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.
15889	MaxPercentUnhealthyApplications *int32 `json:"MaxPercentUnhealthyApplications,omitempty"`
15890	// ApplicationTypeHealthPolicyMap - Defines a map with max percentage unhealthy applications for specific application types.
15891	// 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.
15892	// The application type health policy map can be used during cluster health evaluation to describe special application types.
15893	// 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.
15894	// The applications of application types specified in the map are not counted against the global pool of applications.
15895	// For example, if some applications of a type are critical, the cluster administrator can add an entry to the map for that application type
15896	// and assign it a value of 0% (that is, do not tolerate any failures).
15897	// All other applications can be evaluated with MaxPercentUnhealthyApplications set to 20% to tolerate some failures out of the thousands of application instances.
15898	// 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.
15899	ApplicationTypeHealthPolicyMap *[]ApplicationTypeHealthPolicyMapItem `json:"ApplicationTypeHealthPolicyMap,omitempty"`
15900}
15901
15902// ClusterHealthReportCreatedEvent cluster Health Report Created event.
15903type ClusterHealthReportCreatedEvent struct {
15904	// SourceID - Id of report source.
15905	SourceID *string `json:"SourceId,omitempty"`
15906	// Property - Describes the property.
15907	Property *string `json:"Property,omitempty"`
15908	// HealthState - Describes the property health state.
15909	HealthState *string `json:"HealthState,omitempty"`
15910	// TimeToLiveMs - Time to live in milli-seconds.
15911	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
15912	// SequenceNumber - Sequence number of report.
15913	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
15914	// Description - Description of report.
15915	Description *string `json:"Description,omitempty"`
15916	// RemoveWhenExpired - Indicates the removal when it expires.
15917	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
15918	// SourceUtcTimestamp - Source time.
15919	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
15920	// EventInstanceID - The identifier for the FabricEvent instance.
15921	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
15922	// TimeStamp - The time event was logged.
15923	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
15924	// HasCorrelatedEvents - Shows there is existing related events available.
15925	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
15926	// 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'
15927	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
15928}
15929
15930// MarshalJSON is the custom marshaler for ClusterHealthReportCreatedEvent.
15931func (chrce ClusterHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
15932	chrce.Kind = KindClusterHealthReportCreated
15933	objectMap := make(map[string]interface{})
15934	if chrce.SourceID != nil {
15935		objectMap["SourceId"] = chrce.SourceID
15936	}
15937	if chrce.Property != nil {
15938		objectMap["Property"] = chrce.Property
15939	}
15940	if chrce.HealthState != nil {
15941		objectMap["HealthState"] = chrce.HealthState
15942	}
15943	if chrce.TimeToLiveMs != nil {
15944		objectMap["TimeToLiveMs"] = chrce.TimeToLiveMs
15945	}
15946	if chrce.SequenceNumber != nil {
15947		objectMap["SequenceNumber"] = chrce.SequenceNumber
15948	}
15949	if chrce.Description != nil {
15950		objectMap["Description"] = chrce.Description
15951	}
15952	if chrce.RemoveWhenExpired != nil {
15953		objectMap["RemoveWhenExpired"] = chrce.RemoveWhenExpired
15954	}
15955	if chrce.SourceUtcTimestamp != nil {
15956		objectMap["SourceUtcTimestamp"] = chrce.SourceUtcTimestamp
15957	}
15958	if chrce.EventInstanceID != nil {
15959		objectMap["EventInstanceId"] = chrce.EventInstanceID
15960	}
15961	if chrce.TimeStamp != nil {
15962		objectMap["TimeStamp"] = chrce.TimeStamp
15963	}
15964	if chrce.HasCorrelatedEvents != nil {
15965		objectMap["HasCorrelatedEvents"] = chrce.HasCorrelatedEvents
15966	}
15967	if chrce.Kind != "" {
15968		objectMap["Kind"] = chrce.Kind
15969	}
15970	return json.Marshal(objectMap)
15971}
15972
15973// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15974func (chrce ClusterHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
15975	return nil, false
15976}
15977
15978// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15979func (chrce ClusterHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
15980	return nil, false
15981}
15982
15983// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15984func (chrce ClusterHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
15985	return nil, false
15986}
15987
15988// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15989func (chrce ClusterHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
15990	return &chrce, true
15991}
15992
15993// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15994func (chrce ClusterHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
15995	return nil, false
15996}
15997
15998// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
15999func (chrce ClusterHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
16000	return nil, false
16001}
16002
16003// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16004func (chrce ClusterHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16005	return nil, false
16006}
16007
16008// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16009func (chrce ClusterHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16010	return nil, false
16011}
16012
16013// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16014func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16015	return nil, false
16016}
16017
16018// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16019func (chrce ClusterHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16020	return nil, false
16021}
16022
16023// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16024func (chrce ClusterHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16025	return nil, false
16026}
16027
16028// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16029func (chrce ClusterHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16030	return nil, false
16031}
16032
16033// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16034func (chrce ClusterHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16035	return nil, false
16036}
16037
16038// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16039func (chrce ClusterHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
16040	return nil, false
16041}
16042
16043// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16044func (chrce ClusterHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16045	return nil, false
16046}
16047
16048// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16049func (chrce ClusterHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16050	return nil, false
16051}
16052
16053// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16054func (chrce ClusterHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16055	return nil, false
16056}
16057
16058// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16059func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16060	return nil, false
16061}
16062
16063// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16064func (chrce ClusterHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16065	return nil, false
16066}
16067
16068// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16069func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16070	return nil, false
16071}
16072
16073// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16074func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16075	return nil, false
16076}
16077
16078// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16079func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16080	return nil, false
16081}
16082
16083// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16084func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16085	return nil, false
16086}
16087
16088// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16089func (chrce ClusterHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16090	return nil, false
16091}
16092
16093// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16094func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16095	return nil, false
16096}
16097
16098// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16099func (chrce ClusterHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16100	return nil, false
16101}
16102
16103// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16104func (chrce ClusterHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16105	return nil, false
16106}
16107
16108// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16109func (chrce ClusterHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16110	return nil, false
16111}
16112
16113// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16114func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16115	return nil, false
16116}
16117
16118// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16119func (chrce ClusterHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16120	return nil, false
16121}
16122
16123// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16124func (chrce ClusterHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16125	return nil, false
16126}
16127
16128// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16129func (chrce ClusterHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16130	return nil, false
16131}
16132
16133// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16134func (chrce ClusterHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16135	return nil, false
16136}
16137
16138// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16139func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16140	return nil, false
16141}
16142
16143// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16144func (chrce ClusterHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16145	return nil, false
16146}
16147
16148// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16149func (chrce ClusterHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16150	return nil, false
16151}
16152
16153// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16154func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16155	return nil, false
16156}
16157
16158// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16159func (chrce ClusterHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16160	return nil, false
16161}
16162
16163// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16164func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16165	return nil, false
16166}
16167
16168// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16169func (chrce ClusterHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16170	return nil, false
16171}
16172
16173// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16174func (chrce ClusterHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16175	return nil, false
16176}
16177
16178// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16179func (chrce ClusterHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16180	return nil, false
16181}
16182
16183// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16184func (chrce ClusterHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16185	return nil, false
16186}
16187
16188// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16189func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16190	return nil, false
16191}
16192
16193// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16194func (chrce ClusterHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16195	return nil, false
16196}
16197
16198// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16199func (chrce ClusterHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16200	return nil, false
16201}
16202
16203// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16204func (chrce ClusterHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16205	return nil, false
16206}
16207
16208// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16209func (chrce ClusterHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16210	return nil, false
16211}
16212
16213// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16214func (chrce ClusterHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16215	return nil, false
16216}
16217
16218// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16219func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16220	return nil, false
16221}
16222
16223// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16224func (chrce ClusterHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16225	return nil, false
16226}
16227
16228// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16229func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16230	return nil, false
16231}
16232
16233// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16234func (chrce ClusterHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16235	return nil, false
16236}
16237
16238// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16239func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16240	return nil, false
16241}
16242
16243// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16244func (chrce ClusterHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16245	return nil, false
16246}
16247
16248// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16249func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16250	return nil, false
16251}
16252
16253// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16254func (chrce ClusterHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16255	return nil, false
16256}
16257
16258// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16259func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16260	return &chrce, true
16261}
16262
16263// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16264func (chrce ClusterHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16265	return nil, false
16266}
16267
16268// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16269func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16270	return nil, false
16271}
16272
16273// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16274func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16275	return nil, false
16276}
16277
16278// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16279func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16280	return nil, false
16281}
16282
16283// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16284func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16285	return nil, false
16286}
16287
16288// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16289func (chrce ClusterHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16290	return nil, false
16291}
16292
16293// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16294func (chrce ClusterHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16295	return nil, false
16296}
16297
16298// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16299func (chrce ClusterHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16300	return nil, false
16301}
16302
16303// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16304func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16305	return nil, false
16306}
16307
16308// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16309func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16310	return nil, false
16311}
16312
16313// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16314func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16315	return nil, false
16316}
16317
16318// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16319func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16320	return nil, false
16321}
16322
16323// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16324func (chrce ClusterHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16325	return nil, false
16326}
16327
16328// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16329func (chrce ClusterHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16330	return nil, false
16331}
16332
16333// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16334func (chrce ClusterHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16335	return nil, false
16336}
16337
16338// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16339func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16340	return nil, false
16341}
16342
16343// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16344func (chrce ClusterHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16345	return nil, false
16346}
16347
16348// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16349func (chrce ClusterHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
16350	return nil, false
16351}
16352
16353// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportCreatedEvent.
16354func (chrce ClusterHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
16355	return &chrce, true
16356}
16357
16358// ClusterHealthReportExpiredEvent cluster Health Report Expired event.
16359type ClusterHealthReportExpiredEvent struct {
16360	// SourceID - Id of report source.
16361	SourceID *string `json:"SourceId,omitempty"`
16362	// Property - Describes the property.
16363	Property *string `json:"Property,omitempty"`
16364	// HealthState - Describes the property health state.
16365	HealthState *string `json:"HealthState,omitempty"`
16366	// TimeToLiveMs - Time to live in milli-seconds.
16367	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
16368	// SequenceNumber - Sequence number of report.
16369	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
16370	// Description - Description of report.
16371	Description *string `json:"Description,omitempty"`
16372	// RemoveWhenExpired - Indicates the removal when it expires.
16373	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
16374	// SourceUtcTimestamp - Source time.
16375	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
16376	// EventInstanceID - The identifier for the FabricEvent instance.
16377	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
16378	// TimeStamp - The time event was logged.
16379	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
16380	// HasCorrelatedEvents - Shows there is existing related events available.
16381	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
16382	// 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'
16383	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
16384}
16385
16386// MarshalJSON is the custom marshaler for ClusterHealthReportExpiredEvent.
16387func (chree ClusterHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
16388	chree.Kind = KindClusterHealthReportExpired
16389	objectMap := make(map[string]interface{})
16390	if chree.SourceID != nil {
16391		objectMap["SourceId"] = chree.SourceID
16392	}
16393	if chree.Property != nil {
16394		objectMap["Property"] = chree.Property
16395	}
16396	if chree.HealthState != nil {
16397		objectMap["HealthState"] = chree.HealthState
16398	}
16399	if chree.TimeToLiveMs != nil {
16400		objectMap["TimeToLiveMs"] = chree.TimeToLiveMs
16401	}
16402	if chree.SequenceNumber != nil {
16403		objectMap["SequenceNumber"] = chree.SequenceNumber
16404	}
16405	if chree.Description != nil {
16406		objectMap["Description"] = chree.Description
16407	}
16408	if chree.RemoveWhenExpired != nil {
16409		objectMap["RemoveWhenExpired"] = chree.RemoveWhenExpired
16410	}
16411	if chree.SourceUtcTimestamp != nil {
16412		objectMap["SourceUtcTimestamp"] = chree.SourceUtcTimestamp
16413	}
16414	if chree.EventInstanceID != nil {
16415		objectMap["EventInstanceId"] = chree.EventInstanceID
16416	}
16417	if chree.TimeStamp != nil {
16418		objectMap["TimeStamp"] = chree.TimeStamp
16419	}
16420	if chree.HasCorrelatedEvents != nil {
16421		objectMap["HasCorrelatedEvents"] = chree.HasCorrelatedEvents
16422	}
16423	if chree.Kind != "" {
16424		objectMap["Kind"] = chree.Kind
16425	}
16426	return json.Marshal(objectMap)
16427}
16428
16429// AsApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16430func (chree ClusterHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16431	return nil, false
16432}
16433
16434// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16435func (chree ClusterHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16436	return nil, false
16437}
16438
16439// AsClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16440func (chree ClusterHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
16441	return nil, false
16442}
16443
16444// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16445func (chree ClusterHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16446	return &chree, true
16447}
16448
16449// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16450func (chree ClusterHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16451	return nil, false
16452}
16453
16454// AsNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16455func (chree ClusterHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
16456	return nil, false
16457}
16458
16459// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16460func (chree ClusterHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16461	return nil, false
16462}
16463
16464// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16465func (chree ClusterHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16466	return nil, false
16467}
16468
16469// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16470func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16471	return nil, false
16472}
16473
16474// AsPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16475func (chree ClusterHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16476	return nil, false
16477}
16478
16479// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16480func (chree ClusterHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16481	return nil, false
16482}
16483
16484// AsReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16485func (chree ClusterHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16486	return nil, false
16487}
16488
16489// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16490func (chree ClusterHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16491	return nil, false
16492}
16493
16494// AsServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16495func (chree ClusterHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
16496	return nil, false
16497}
16498
16499// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16500func (chree ClusterHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16501	return nil, false
16502}
16503
16504// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16505func (chree ClusterHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16506	return nil, false
16507}
16508
16509// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16510func (chree ClusterHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16511	return nil, false
16512}
16513
16514// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16515func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16516	return nil, false
16517}
16518
16519// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16520func (chree ClusterHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16521	return nil, false
16522}
16523
16524// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16525func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16526	return nil, false
16527}
16528
16529// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16530func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16531	return nil, false
16532}
16533
16534// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16535func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16536	return nil, false
16537}
16538
16539// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16540func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16541	return nil, false
16542}
16543
16544// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16545func (chree ClusterHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16546	return nil, false
16547}
16548
16549// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16550func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16551	return nil, false
16552}
16553
16554// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16555func (chree ClusterHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16556	return nil, false
16557}
16558
16559// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16560func (chree ClusterHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16561	return nil, false
16562}
16563
16564// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16565func (chree ClusterHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16566	return nil, false
16567}
16568
16569// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16570func (chree ClusterHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
16571	return nil, false
16572}
16573
16574// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16575func (chree ClusterHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
16576	return nil, false
16577}
16578
16579// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16580func (chree ClusterHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
16581	return nil, false
16582}
16583
16584// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16585func (chree ClusterHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
16586	return nil, false
16587}
16588
16589// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16590func (chree ClusterHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
16591	return nil, false
16592}
16593
16594// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16595func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
16596	return nil, false
16597}
16598
16599// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16600func (chree ClusterHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
16601	return nil, false
16602}
16603
16604// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16605func (chree ClusterHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
16606	return nil, false
16607}
16608
16609// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16610func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
16611	return nil, false
16612}
16613
16614// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16615func (chree ClusterHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
16616	return nil, false
16617}
16618
16619// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16620func (chree ClusterHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
16621	return nil, false
16622}
16623
16624// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16625func (chree ClusterHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
16626	return nil, false
16627}
16628
16629// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16630func (chree ClusterHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
16631	return nil, false
16632}
16633
16634// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16635func (chree ClusterHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
16636	return nil, false
16637}
16638
16639// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16640func (chree ClusterHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
16641	return nil, false
16642}
16643
16644// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16645func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
16646	return nil, false
16647}
16648
16649// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16650func (chree ClusterHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
16651	return nil, false
16652}
16653
16654// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16655func (chree ClusterHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
16656	return nil, false
16657}
16658
16659// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16660func (chree ClusterHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
16661	return nil, false
16662}
16663
16664// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16665func (chree ClusterHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
16666	return nil, false
16667}
16668
16669// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16670func (chree ClusterHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
16671	return nil, false
16672}
16673
16674// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16675func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
16676	return nil, false
16677}
16678
16679// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16680func (chree ClusterHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
16681	return nil, false
16682}
16683
16684// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16685func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
16686	return nil, false
16687}
16688
16689// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16690func (chree ClusterHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
16691	return nil, false
16692}
16693
16694// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16695func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
16696	return nil, false
16697}
16698
16699// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16700func (chree ClusterHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
16701	return nil, false
16702}
16703
16704// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16705func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
16706	return nil, false
16707}
16708
16709// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16710func (chree ClusterHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
16711	return nil, false
16712}
16713
16714// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16715func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
16716	return nil, false
16717}
16718
16719// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16720func (chree ClusterHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
16721	return &chree, true
16722}
16723
16724// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16725func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
16726	return nil, false
16727}
16728
16729// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16730func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
16731	return nil, false
16732}
16733
16734// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16735func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
16736	return nil, false
16737}
16738
16739// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16740func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
16741	return nil, false
16742}
16743
16744// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16745func (chree ClusterHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
16746	return nil, false
16747}
16748
16749// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16750func (chree ClusterHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
16751	return nil, false
16752}
16753
16754// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16755func (chree ClusterHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
16756	return nil, false
16757}
16758
16759// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16760func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
16761	return nil, false
16762}
16763
16764// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16765func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
16766	return nil, false
16767}
16768
16769// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16770func (chree ClusterHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
16771	return nil, false
16772}
16773
16774// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16775func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
16776	return nil, false
16777}
16778
16779// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16780func (chree ClusterHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
16781	return nil, false
16782}
16783
16784// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16785func (chree ClusterHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
16786	return nil, false
16787}
16788
16789// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16790func (chree ClusterHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
16791	return nil, false
16792}
16793
16794// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16795func (chree ClusterHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
16796	return nil, false
16797}
16798
16799// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16800func (chree ClusterHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
16801	return nil, false
16802}
16803
16804// AsFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16805func (chree ClusterHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
16806	return nil, false
16807}
16808
16809// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterHealthReportExpiredEvent.
16810func (chree ClusterHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
16811	return &chree, true
16812}
16813
16814// ClusterManifest information about the cluster manifest.
16815type ClusterManifest struct {
16816	autorest.Response `json:"-"`
16817	// Manifest - The contents of the cluster manifest file.
16818	Manifest *string `json:"Manifest,omitempty"`
16819}
16820
16821// ClusterUpgradeCompleteEvent cluster Upgrade Complete event.
16822type ClusterUpgradeCompleteEvent struct {
16823	// TargetClusterVersion - Target Cluster version.
16824	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
16825	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
16826	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
16827	// EventInstanceID - The identifier for the FabricEvent instance.
16828	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
16829	// TimeStamp - The time event was logged.
16830	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
16831	// HasCorrelatedEvents - Shows there is existing related events available.
16832	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
16833	// 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'
16834	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
16835}
16836
16837// MarshalJSON is the custom marshaler for ClusterUpgradeCompleteEvent.
16838func (cuce ClusterUpgradeCompleteEvent) MarshalJSON() ([]byte, error) {
16839	cuce.Kind = KindClusterUpgradeComplete
16840	objectMap := make(map[string]interface{})
16841	if cuce.TargetClusterVersion != nil {
16842		objectMap["TargetClusterVersion"] = cuce.TargetClusterVersion
16843	}
16844	if cuce.OverallUpgradeElapsedTimeInMs != nil {
16845		objectMap["OverallUpgradeElapsedTimeInMs"] = cuce.OverallUpgradeElapsedTimeInMs
16846	}
16847	if cuce.EventInstanceID != nil {
16848		objectMap["EventInstanceId"] = cuce.EventInstanceID
16849	}
16850	if cuce.TimeStamp != nil {
16851		objectMap["TimeStamp"] = cuce.TimeStamp
16852	}
16853	if cuce.HasCorrelatedEvents != nil {
16854		objectMap["HasCorrelatedEvents"] = cuce.HasCorrelatedEvents
16855	}
16856	if cuce.Kind != "" {
16857		objectMap["Kind"] = cuce.Kind
16858	}
16859	return json.Marshal(objectMap)
16860}
16861
16862// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16863func (cuce ClusterUpgradeCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
16864	return nil, false
16865}
16866
16867// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16868func (cuce ClusterUpgradeCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
16869	return nil, false
16870}
16871
16872// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16873func (cuce ClusterUpgradeCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
16874	return nil, false
16875}
16876
16877// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16878func (cuce ClusterUpgradeCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
16879	return &cuce, true
16880}
16881
16882// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16883func (cuce ClusterUpgradeCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
16884	return nil, false
16885}
16886
16887// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16888func (cuce ClusterUpgradeCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
16889	return nil, false
16890}
16891
16892// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16893func (cuce ClusterUpgradeCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
16894	return nil, false
16895}
16896
16897// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16898func (cuce ClusterUpgradeCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
16899	return nil, false
16900}
16901
16902// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16903func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
16904	return nil, false
16905}
16906
16907// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16908func (cuce ClusterUpgradeCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
16909	return nil, false
16910}
16911
16912// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16913func (cuce ClusterUpgradeCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
16914	return nil, false
16915}
16916
16917// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16918func (cuce ClusterUpgradeCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
16919	return nil, false
16920}
16921
16922// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16923func (cuce ClusterUpgradeCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
16924	return nil, false
16925}
16926
16927// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16928func (cuce ClusterUpgradeCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
16929	return nil, false
16930}
16931
16932// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16933func (cuce ClusterUpgradeCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
16934	return nil, false
16935}
16936
16937// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16938func (cuce ClusterUpgradeCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
16939	return nil, false
16940}
16941
16942// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16943func (cuce ClusterUpgradeCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
16944	return nil, false
16945}
16946
16947// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16948func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
16949	return nil, false
16950}
16951
16952// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16953func (cuce ClusterUpgradeCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
16954	return nil, false
16955}
16956
16957// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16958func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
16959	return nil, false
16960}
16961
16962// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16963func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
16964	return nil, false
16965}
16966
16967// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16968func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
16969	return nil, false
16970}
16971
16972// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16973func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
16974	return nil, false
16975}
16976
16977// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16978func (cuce ClusterUpgradeCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
16979	return nil, false
16980}
16981
16982// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16983func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
16984	return nil, false
16985}
16986
16987// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16988func (cuce ClusterUpgradeCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
16989	return nil, false
16990}
16991
16992// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16993func (cuce ClusterUpgradeCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
16994	return nil, false
16995}
16996
16997// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
16998func (cuce ClusterUpgradeCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
16999	return nil, false
17000}
17001
17002// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17003func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17004	return nil, false
17005}
17006
17007// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17008func (cuce ClusterUpgradeCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17009	return nil, false
17010}
17011
17012// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17013func (cuce ClusterUpgradeCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17014	return nil, false
17015}
17016
17017// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17018func (cuce ClusterUpgradeCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17019	return nil, false
17020}
17021
17022// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17023func (cuce ClusterUpgradeCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17024	return nil, false
17025}
17026
17027// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17028func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17029	return nil, false
17030}
17031
17032// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17033func (cuce ClusterUpgradeCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17034	return nil, false
17035}
17036
17037// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17038func (cuce ClusterUpgradeCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17039	return nil, false
17040}
17041
17042// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17043func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
17044	return nil, false
17045}
17046
17047// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17048func (cuce ClusterUpgradeCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
17049	return nil, false
17050}
17051
17052// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17053func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
17054	return nil, false
17055}
17056
17057// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17058func (cuce ClusterUpgradeCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
17059	return nil, false
17060}
17061
17062// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17063func (cuce ClusterUpgradeCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
17064	return nil, false
17065}
17066
17067// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17068func (cuce ClusterUpgradeCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
17069	return nil, false
17070}
17071
17072// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17073func (cuce ClusterUpgradeCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
17074	return nil, false
17075}
17076
17077// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17078func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
17079	return nil, false
17080}
17081
17082// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17083func (cuce ClusterUpgradeCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
17084	return nil, false
17085}
17086
17087// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17088func (cuce ClusterUpgradeCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
17089	return nil, false
17090}
17091
17092// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17093func (cuce ClusterUpgradeCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
17094	return nil, false
17095}
17096
17097// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17098func (cuce ClusterUpgradeCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
17099	return nil, false
17100}
17101
17102// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17103func (cuce ClusterUpgradeCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
17104	return nil, false
17105}
17106
17107// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17108func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
17109	return nil, false
17110}
17111
17112// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17113func (cuce ClusterUpgradeCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
17114	return nil, false
17115}
17116
17117// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17118func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
17119	return nil, false
17120}
17121
17122// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17123func (cuce ClusterUpgradeCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
17124	return nil, false
17125}
17126
17127// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17128func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
17129	return nil, false
17130}
17131
17132// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17133func (cuce ClusterUpgradeCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
17134	return nil, false
17135}
17136
17137// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17138func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
17139	return nil, false
17140}
17141
17142// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17143func (cuce ClusterUpgradeCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
17144	return nil, false
17145}
17146
17147// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17148func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
17149	return nil, false
17150}
17151
17152// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17153func (cuce ClusterUpgradeCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
17154	return nil, false
17155}
17156
17157// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17158func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
17159	return &cuce, true
17160}
17161
17162// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17163func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
17164	return nil, false
17165}
17166
17167// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17168func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
17169	return nil, false
17170}
17171
17172// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17173func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
17174	return nil, false
17175}
17176
17177// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17178func (cuce ClusterUpgradeCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
17179	return nil, false
17180}
17181
17182// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17183func (cuce ClusterUpgradeCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
17184	return nil, false
17185}
17186
17187// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17188func (cuce ClusterUpgradeCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
17189	return nil, false
17190}
17191
17192// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17193func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
17194	return nil, false
17195}
17196
17197// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17198func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
17199	return nil, false
17200}
17201
17202// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17203func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
17204	return nil, false
17205}
17206
17207// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17208func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
17209	return nil, false
17210}
17211
17212// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17213func (cuce ClusterUpgradeCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
17214	return nil, false
17215}
17216
17217// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17218func (cuce ClusterUpgradeCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
17219	return nil, false
17220}
17221
17222// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17223func (cuce ClusterUpgradeCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
17224	return nil, false
17225}
17226
17227// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17228func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
17229	return nil, false
17230}
17231
17232// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17233func (cuce ClusterUpgradeCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
17234	return nil, false
17235}
17236
17237// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17238func (cuce ClusterUpgradeCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
17239	return nil, false
17240}
17241
17242// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeCompleteEvent.
17243func (cuce ClusterUpgradeCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17244	return &cuce, true
17245}
17246
17247// ClusterUpgradeDescriptionObject represents a ServiceFabric cluster upgrade
17248type ClusterUpgradeDescriptionObject struct {
17249	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
17250	ConfigVersion *string `json:"ConfigVersion,omitempty"`
17251	// CodeVersion - The ServiceFabric code version of the cluster.
17252	CodeVersion *string `json:"CodeVersion,omitempty"`
17253	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
17254	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
17255	// 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'
17256	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
17257	// 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).
17258	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
17259	// 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).
17260	ForceRestart *bool `json:"ForceRestart,omitempty"`
17261	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
17262	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
17263	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
17264	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
17265	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
17266	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
17267	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
17268	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
17269	// ApplicationHealthPolicyMap - Defines a map that contains specific application health policies for different applications.
17270	// Each entry specifies as key the application name and as value an ApplicationHealthPolicy used to evaluate the application health.
17271	// 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).
17272	// The map is empty by default.
17273	ApplicationHealthPolicyMap *[]ApplicationHealthPolicyMapItem `json:"ApplicationHealthPolicyMap,omitempty"`
17274}
17275
17276// ClusterUpgradeDomainCompleteEvent cluster Upgrade Domain Complete event.
17277type ClusterUpgradeDomainCompleteEvent struct {
17278	// TargetClusterVersion - Target Cluster version.
17279	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
17280	// UpgradeState - State of upgrade.
17281	UpgradeState *string `json:"UpgradeState,omitempty"`
17282	// UpgradeDomains - Upgrade domains.
17283	UpgradeDomains *string `json:"UpgradeDomains,omitempty"`
17284	// UpgradeDomainElapsedTimeInMs - Duration of domain upgrade in milli-seconds.
17285	UpgradeDomainElapsedTimeInMs *float64 `json:"UpgradeDomainElapsedTimeInMs,omitempty"`
17286	// EventInstanceID - The identifier for the FabricEvent instance.
17287	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17288	// TimeStamp - The time event was logged.
17289	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17290	// HasCorrelatedEvents - Shows there is existing related events available.
17291	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17292	// 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'
17293	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17294}
17295
17296// MarshalJSON is the custom marshaler for ClusterUpgradeDomainCompleteEvent.
17297func (cudce ClusterUpgradeDomainCompleteEvent) MarshalJSON() ([]byte, error) {
17298	cudce.Kind = KindClusterUpgradeDomainComplete
17299	objectMap := make(map[string]interface{})
17300	if cudce.TargetClusterVersion != nil {
17301		objectMap["TargetClusterVersion"] = cudce.TargetClusterVersion
17302	}
17303	if cudce.UpgradeState != nil {
17304		objectMap["UpgradeState"] = cudce.UpgradeState
17305	}
17306	if cudce.UpgradeDomains != nil {
17307		objectMap["UpgradeDomains"] = cudce.UpgradeDomains
17308	}
17309	if cudce.UpgradeDomainElapsedTimeInMs != nil {
17310		objectMap["UpgradeDomainElapsedTimeInMs"] = cudce.UpgradeDomainElapsedTimeInMs
17311	}
17312	if cudce.EventInstanceID != nil {
17313		objectMap["EventInstanceId"] = cudce.EventInstanceID
17314	}
17315	if cudce.TimeStamp != nil {
17316		objectMap["TimeStamp"] = cudce.TimeStamp
17317	}
17318	if cudce.HasCorrelatedEvents != nil {
17319		objectMap["HasCorrelatedEvents"] = cudce.HasCorrelatedEvents
17320	}
17321	if cudce.Kind != "" {
17322		objectMap["Kind"] = cudce.Kind
17323	}
17324	return json.Marshal(objectMap)
17325}
17326
17327// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17328func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
17329	return nil, false
17330}
17331
17332// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17333func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
17334	return nil, false
17335}
17336
17337// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17338func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
17339	return nil, false
17340}
17341
17342// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17343func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
17344	return &cudce, true
17345}
17346
17347// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17348func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
17349	return nil, false
17350}
17351
17352// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17353func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
17354	return nil, false
17355}
17356
17357// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17358func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
17359	return nil, false
17360}
17361
17362// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17363func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
17364	return nil, false
17365}
17366
17367// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17368func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
17369	return nil, false
17370}
17371
17372// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17373func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
17374	return nil, false
17375}
17376
17377// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17378func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
17379	return nil, false
17380}
17381
17382// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17383func (cudce ClusterUpgradeDomainCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
17384	return nil, false
17385}
17386
17387// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17388func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
17389	return nil, false
17390}
17391
17392// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17393func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
17394	return nil, false
17395}
17396
17397// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17398func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
17399	return nil, false
17400}
17401
17402// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17403func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
17404	return nil, false
17405}
17406
17407// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17408func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
17409	return nil, false
17410}
17411
17412// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17413func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
17414	return nil, false
17415}
17416
17417// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17418func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
17419	return nil, false
17420}
17421
17422// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17423func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
17424	return nil, false
17425}
17426
17427// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17428func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
17429	return nil, false
17430}
17431
17432// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17433func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
17434	return nil, false
17435}
17436
17437// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17438func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
17439	return nil, false
17440}
17441
17442// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17443func (cudce ClusterUpgradeDomainCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
17444	return nil, false
17445}
17446
17447// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17448func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
17449	return nil, false
17450}
17451
17452// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17453func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
17454	return nil, false
17455}
17456
17457// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17458func (cudce ClusterUpgradeDomainCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
17459	return nil, false
17460}
17461
17462// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17463func (cudce ClusterUpgradeDomainCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
17464	return nil, false
17465}
17466
17467// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17468func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17469	return nil, false
17470}
17471
17472// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17473func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17474	return nil, false
17475}
17476
17477// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17478func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17479	return nil, false
17480}
17481
17482// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17483func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17484	return nil, false
17485}
17486
17487// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17488func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17489	return nil, false
17490}
17491
17492// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17493func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17494	return nil, false
17495}
17496
17497// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17498func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17499	return nil, false
17500}
17501
17502// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17503func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17504	return nil, false
17505}
17506
17507// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17508func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
17509	return nil, false
17510}
17511
17512// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17513func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
17514	return nil, false
17515}
17516
17517// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17518func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
17519	return nil, false
17520}
17521
17522// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17523func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
17524	return nil, false
17525}
17526
17527// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17528func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
17529	return nil, false
17530}
17531
17532// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17533func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
17534	return nil, false
17535}
17536
17537// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17538func (cudce ClusterUpgradeDomainCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
17539	return nil, false
17540}
17541
17542// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17543func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
17544	return nil, false
17545}
17546
17547// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17548func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
17549	return nil, false
17550}
17551
17552// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17553func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
17554	return nil, false
17555}
17556
17557// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17558func (cudce ClusterUpgradeDomainCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
17559	return nil, false
17560}
17561
17562// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17563func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
17564	return nil, false
17565}
17566
17567// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17568func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
17569	return nil, false
17570}
17571
17572// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17573func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
17574	return nil, false
17575}
17576
17577// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17578func (cudce ClusterUpgradeDomainCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
17579	return nil, false
17580}
17581
17582// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17583func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
17584	return nil, false
17585}
17586
17587// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17588func (cudce ClusterUpgradeDomainCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
17589	return nil, false
17590}
17591
17592// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17593func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
17594	return nil, false
17595}
17596
17597// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17598func (cudce ClusterUpgradeDomainCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
17599	return nil, false
17600}
17601
17602// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17603func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
17604	return nil, false
17605}
17606
17607// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17608func (cudce ClusterUpgradeDomainCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
17609	return nil, false
17610}
17611
17612// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17613func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
17614	return nil, false
17615}
17616
17617// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17618func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
17619	return nil, false
17620}
17621
17622// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17623func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
17624	return nil, false
17625}
17626
17627// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17628func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
17629	return &cudce, true
17630}
17631
17632// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17633func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
17634	return nil, false
17635}
17636
17637// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17638func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
17639	return nil, false
17640}
17641
17642// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17643func (cudce ClusterUpgradeDomainCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
17644	return nil, false
17645}
17646
17647// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17648func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
17649	return nil, false
17650}
17651
17652// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17653func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
17654	return nil, false
17655}
17656
17657// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17658func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
17659	return nil, false
17660}
17661
17662// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17663func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
17664	return nil, false
17665}
17666
17667// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17668func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
17669	return nil, false
17670}
17671
17672// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17673func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
17674	return nil, false
17675}
17676
17677// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17678func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
17679	return nil, false
17680}
17681
17682// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17683func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
17684	return nil, false
17685}
17686
17687// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17688func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
17689	return nil, false
17690}
17691
17692// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17693func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
17694	return nil, false
17695}
17696
17697// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17698func (cudce ClusterUpgradeDomainCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
17699	return nil, false
17700}
17701
17702// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17703func (cudce ClusterUpgradeDomainCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
17704	return nil, false
17705}
17706
17707// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeDomainCompleteEvent.
17708func (cudce ClusterUpgradeDomainCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
17709	return &cudce, true
17710}
17711
17712// ClusterUpgradeHealthPolicyObject defines a health policy used to evaluate the health of the cluster
17713// during a cluster upgrade.
17714type ClusterUpgradeHealthPolicyObject struct {
17715	// 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%.
17716	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
17717	// 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%.
17718	MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"MaxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"`
17719}
17720
17721// ClusterUpgradeProgressObject information about a cluster upgrade.
17722type ClusterUpgradeProgressObject struct {
17723	autorest.Response `json:"-"`
17724	// CodeVersion - The ServiceFabric code version of the cluster.
17725	CodeVersion *string `json:"CodeVersion,omitempty"`
17726	// ConfigVersion - The cluster configuration version (specified in the cluster manifest).
17727	ConfigVersion *string `json:"ConfigVersion,omitempty"`
17728	// UpgradeDomains - List of upgrade domains and their statuses.
17729	UpgradeDomains *[]UpgradeDomainInfo `json:"UpgradeDomains,omitempty"`
17730	// UpgradeState - The state of the upgrade domain. Possible values include: 'UpgradeStateInvalid', 'UpgradeStateRollingBackInProgress', 'UpgradeStateRollingBackCompleted', 'UpgradeStateRollingForwardPending', 'UpgradeStateRollingForwardInProgress', 'UpgradeStateRollingForwardCompleted', 'UpgradeStateFailed'
17731	UpgradeState UpgradeState `json:"UpgradeState,omitempty"`
17732	// NextUpgradeDomain - The name of the next upgrade domain to be processed.
17733	NextUpgradeDomain *string `json:"NextUpgradeDomain,omitempty"`
17734	// 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'
17735	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
17736	// UpgradeDescription - Represents a ServiceFabric cluster upgrade
17737	UpgradeDescription *ClusterUpgradeDescriptionObject `json:"UpgradeDescription,omitempty"`
17738	// UpgradeDurationInMilliseconds - The estimated elapsed time spent processing the current overall upgrade.
17739	UpgradeDurationInMilliseconds *string `json:"UpgradeDurationInMilliseconds,omitempty"`
17740	// UpgradeDomainDurationInMilliseconds - The estimated elapsed time spent processing the current upgrade domain.
17741	UpgradeDomainDurationInMilliseconds *string `json:"UpgradeDomainDurationInMilliseconds,omitempty"`
17742	// UnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
17743	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
17744	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
17745	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
17746	// StartTimestampUtc - The start time of the upgrade in UTC.
17747	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
17748	// FailureTimestampUtc - The failure time of the upgrade in UTC.
17749	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
17750	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
17751	FailureReason FailureReason `json:"FailureReason,omitempty"`
17752	// UpgradeDomainProgressAtFailure - The detailed upgrade progress for nodes in the current upgrade domain at the point of failure.
17753	UpgradeDomainProgressAtFailure *FailedUpgradeDomainProgressObject `json:"UpgradeDomainProgressAtFailure,omitempty"`
17754}
17755
17756// ClusterUpgradeRollbackCompleteEvent cluster Upgrade Rollback Complete event.
17757type ClusterUpgradeRollbackCompleteEvent struct {
17758	// TargetClusterVersion - Target Cluster version.
17759	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
17760	// FailureReason - Describes failure.
17761	FailureReason *string `json:"FailureReason,omitempty"`
17762	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
17763	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
17764	// EventInstanceID - The identifier for the FabricEvent instance.
17765	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
17766	// TimeStamp - The time event was logged.
17767	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
17768	// HasCorrelatedEvents - Shows there is existing related events available.
17769	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
17770	// 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'
17771	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
17772}
17773
17774// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackCompleteEvent.
17775func (curce ClusterUpgradeRollbackCompleteEvent) MarshalJSON() ([]byte, error) {
17776	curce.Kind = KindClusterUpgradeRollbackComplete
17777	objectMap := make(map[string]interface{})
17778	if curce.TargetClusterVersion != nil {
17779		objectMap["TargetClusterVersion"] = curce.TargetClusterVersion
17780	}
17781	if curce.FailureReason != nil {
17782		objectMap["FailureReason"] = curce.FailureReason
17783	}
17784	if curce.OverallUpgradeElapsedTimeInMs != nil {
17785		objectMap["OverallUpgradeElapsedTimeInMs"] = curce.OverallUpgradeElapsedTimeInMs
17786	}
17787	if curce.EventInstanceID != nil {
17788		objectMap["EventInstanceId"] = curce.EventInstanceID
17789	}
17790	if curce.TimeStamp != nil {
17791		objectMap["TimeStamp"] = curce.TimeStamp
17792	}
17793	if curce.HasCorrelatedEvents != nil {
17794		objectMap["HasCorrelatedEvents"] = curce.HasCorrelatedEvents
17795	}
17796	if curce.Kind != "" {
17797		objectMap["Kind"] = curce.Kind
17798	}
17799	return json.Marshal(objectMap)
17800}
17801
17802// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17803func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
17804	return nil, false
17805}
17806
17807// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17808func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
17809	return nil, false
17810}
17811
17812// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17813func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
17814	return nil, false
17815}
17816
17817// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17818func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
17819	return &curce, true
17820}
17821
17822// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17823func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
17824	return nil, false
17825}
17826
17827// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17828func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
17829	return nil, false
17830}
17831
17832// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17833func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
17834	return nil, false
17835}
17836
17837// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17838func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
17839	return nil, false
17840}
17841
17842// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17843func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
17844	return nil, false
17845}
17846
17847// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17848func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
17849	return nil, false
17850}
17851
17852// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17853func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
17854	return nil, false
17855}
17856
17857// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17858func (curce ClusterUpgradeRollbackCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
17859	return nil, false
17860}
17861
17862// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17863func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
17864	return nil, false
17865}
17866
17867// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17868func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
17869	return nil, false
17870}
17871
17872// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17873func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
17874	return nil, false
17875}
17876
17877// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17878func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
17879	return nil, false
17880}
17881
17882// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17883func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
17884	return nil, false
17885}
17886
17887// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17888func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
17889	return nil, false
17890}
17891
17892// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17893func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
17894	return nil, false
17895}
17896
17897// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17898func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
17899	return nil, false
17900}
17901
17902// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17903func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
17904	return nil, false
17905}
17906
17907// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17908func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
17909	return nil, false
17910}
17911
17912// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17913func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
17914	return nil, false
17915}
17916
17917// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17918func (curce ClusterUpgradeRollbackCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
17919	return nil, false
17920}
17921
17922// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17923func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
17924	return nil, false
17925}
17926
17927// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17928func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
17929	return nil, false
17930}
17931
17932// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17933func (curce ClusterUpgradeRollbackCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
17934	return nil, false
17935}
17936
17937// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17938func (curce ClusterUpgradeRollbackCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
17939	return nil, false
17940}
17941
17942// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17943func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
17944	return nil, false
17945}
17946
17947// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17948func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
17949	return nil, false
17950}
17951
17952// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17953func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
17954	return nil, false
17955}
17956
17957// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17958func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
17959	return nil, false
17960}
17961
17962// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17963func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
17964	return nil, false
17965}
17966
17967// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17968func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
17969	return nil, false
17970}
17971
17972// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17973func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
17974	return nil, false
17975}
17976
17977// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17978func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
17979	return nil, false
17980}
17981
17982// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17983func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
17984	return nil, false
17985}
17986
17987// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17988func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
17989	return nil, false
17990}
17991
17992// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17993func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
17994	return nil, false
17995}
17996
17997// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
17998func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
17999	return nil, false
18000}
18001
18002// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18003func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18004	return nil, false
18005}
18006
18007// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18008func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18009	return nil, false
18010}
18011
18012// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18013func (curce ClusterUpgradeRollbackCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18014	return nil, false
18015}
18016
18017// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18018func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18019	return nil, false
18020}
18021
18022// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18023func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18024	return nil, false
18025}
18026
18027// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18028func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18029	return nil, false
18030}
18031
18032// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18033func (curce ClusterUpgradeRollbackCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18034	return nil, false
18035}
18036
18037// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18038func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18039	return nil, false
18040}
18041
18042// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18043func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18044	return nil, false
18045}
18046
18047// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18048func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18049	return nil, false
18050}
18051
18052// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18053func (curce ClusterUpgradeRollbackCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18054	return nil, false
18055}
18056
18057// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18058func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18059	return nil, false
18060}
18061
18062// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18063func (curce ClusterUpgradeRollbackCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18064	return nil, false
18065}
18066
18067// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18068func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18069	return nil, false
18070}
18071
18072// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18073func (curce ClusterUpgradeRollbackCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18074	return nil, false
18075}
18076
18077// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18078func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18079	return nil, false
18080}
18081
18082// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18083func (curce ClusterUpgradeRollbackCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18084	return nil, false
18085}
18086
18087// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18088func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18089	return nil, false
18090}
18091
18092// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18093func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18094	return nil, false
18095}
18096
18097// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18098func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18099	return nil, false
18100}
18101
18102// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18103func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18104	return nil, false
18105}
18106
18107// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18108func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18109	return &curce, true
18110}
18111
18112// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18113func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18114	return nil, false
18115}
18116
18117// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18118func (curce ClusterUpgradeRollbackCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18119	return nil, false
18120}
18121
18122// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18123func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18124	return nil, false
18125}
18126
18127// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18128func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
18129	return nil, false
18130}
18131
18132// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18133func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
18134	return nil, false
18135}
18136
18137// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18138func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
18139	return nil, false
18140}
18141
18142// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18143func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
18144	return nil, false
18145}
18146
18147// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18148func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
18149	return nil, false
18150}
18151
18152// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18153func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
18154	return nil, false
18155}
18156
18157// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18158func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
18159	return nil, false
18160}
18161
18162// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18163func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
18164	return nil, false
18165}
18166
18167// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18168func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
18169	return nil, false
18170}
18171
18172// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18173func (curce ClusterUpgradeRollbackCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
18174	return nil, false
18175}
18176
18177// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18178func (curce ClusterUpgradeRollbackCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
18179	return nil, false
18180}
18181
18182// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackCompleteEvent.
18183func (curce ClusterUpgradeRollbackCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
18184	return &curce, true
18185}
18186
18187// ClusterUpgradeRollbackStartEvent cluster Upgrade Rollback Start event.
18188type ClusterUpgradeRollbackStartEvent struct {
18189	// TargetClusterVersion - Target Cluster version.
18190	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
18191	// FailureReason - Describes failure.
18192	FailureReason *string `json:"FailureReason,omitempty"`
18193	// OverallUpgradeElapsedTimeInMs - Overall duration of upgrade in milli-seconds.
18194	OverallUpgradeElapsedTimeInMs *float64 `json:"OverallUpgradeElapsedTimeInMs,omitempty"`
18195	// EventInstanceID - The identifier for the FabricEvent instance.
18196	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
18197	// TimeStamp - The time event was logged.
18198	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
18199	// HasCorrelatedEvents - Shows there is existing related events available.
18200	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
18201	// 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'
18202	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
18203}
18204
18205// MarshalJSON is the custom marshaler for ClusterUpgradeRollbackStartEvent.
18206func (curse ClusterUpgradeRollbackStartEvent) MarshalJSON() ([]byte, error) {
18207	curse.Kind = KindClusterUpgradeRollbackStart
18208	objectMap := make(map[string]interface{})
18209	if curse.TargetClusterVersion != nil {
18210		objectMap["TargetClusterVersion"] = curse.TargetClusterVersion
18211	}
18212	if curse.FailureReason != nil {
18213		objectMap["FailureReason"] = curse.FailureReason
18214	}
18215	if curse.OverallUpgradeElapsedTimeInMs != nil {
18216		objectMap["OverallUpgradeElapsedTimeInMs"] = curse.OverallUpgradeElapsedTimeInMs
18217	}
18218	if curse.EventInstanceID != nil {
18219		objectMap["EventInstanceId"] = curse.EventInstanceID
18220	}
18221	if curse.TimeStamp != nil {
18222		objectMap["TimeStamp"] = curse.TimeStamp
18223	}
18224	if curse.HasCorrelatedEvents != nil {
18225		objectMap["HasCorrelatedEvents"] = curse.HasCorrelatedEvents
18226	}
18227	if curse.Kind != "" {
18228		objectMap["Kind"] = curse.Kind
18229	}
18230	return json.Marshal(objectMap)
18231}
18232
18233// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18234func (curse ClusterUpgradeRollbackStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
18235	return nil, false
18236}
18237
18238// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18239func (curse ClusterUpgradeRollbackStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
18240	return nil, false
18241}
18242
18243// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18244func (curse ClusterUpgradeRollbackStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
18245	return nil, false
18246}
18247
18248// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18249func (curse ClusterUpgradeRollbackStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
18250	return &curse, true
18251}
18252
18253// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18254func (curse ClusterUpgradeRollbackStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
18255	return nil, false
18256}
18257
18258// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18259func (curse ClusterUpgradeRollbackStartEvent) AsNodeEvent() (*NodeEvent, bool) {
18260	return nil, false
18261}
18262
18263// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18264func (curse ClusterUpgradeRollbackStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
18265	return nil, false
18266}
18267
18268// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18269func (curse ClusterUpgradeRollbackStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
18270	return nil, false
18271}
18272
18273// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18274func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
18275	return nil, false
18276}
18277
18278// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18279func (curse ClusterUpgradeRollbackStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
18280	return nil, false
18281}
18282
18283// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18284func (curse ClusterUpgradeRollbackStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
18285	return nil, false
18286}
18287
18288// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18289func (curse ClusterUpgradeRollbackStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
18290	return nil, false
18291}
18292
18293// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18294func (curse ClusterUpgradeRollbackStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
18295	return nil, false
18296}
18297
18298// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18299func (curse ClusterUpgradeRollbackStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
18300	return nil, false
18301}
18302
18303// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18304func (curse ClusterUpgradeRollbackStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
18305	return nil, false
18306}
18307
18308// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18309func (curse ClusterUpgradeRollbackStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
18310	return nil, false
18311}
18312
18313// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18314func (curse ClusterUpgradeRollbackStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
18315	return nil, false
18316}
18317
18318// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18319func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
18320	return nil, false
18321}
18322
18323// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18324func (curse ClusterUpgradeRollbackStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
18325	return nil, false
18326}
18327
18328// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18329func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
18330	return nil, false
18331}
18332
18333// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18334func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
18335	return nil, false
18336}
18337
18338// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18339func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
18340	return nil, false
18341}
18342
18343// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18344func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
18345	return nil, false
18346}
18347
18348// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18349func (curse ClusterUpgradeRollbackStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
18350	return nil, false
18351}
18352
18353// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18354func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
18355	return nil, false
18356}
18357
18358// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18359func (curse ClusterUpgradeRollbackStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
18360	return nil, false
18361}
18362
18363// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18364func (curse ClusterUpgradeRollbackStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
18365	return nil, false
18366}
18367
18368// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18369func (curse ClusterUpgradeRollbackStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
18370	return nil, false
18371}
18372
18373// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18374func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
18375	return nil, false
18376}
18377
18378// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18379func (curse ClusterUpgradeRollbackStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
18380	return nil, false
18381}
18382
18383// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18384func (curse ClusterUpgradeRollbackStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
18385	return nil, false
18386}
18387
18388// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18389func (curse ClusterUpgradeRollbackStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
18390	return nil, false
18391}
18392
18393// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18394func (curse ClusterUpgradeRollbackStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
18395	return nil, false
18396}
18397
18398// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18399func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
18400	return nil, false
18401}
18402
18403// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18404func (curse ClusterUpgradeRollbackStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
18405	return nil, false
18406}
18407
18408// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18409func (curse ClusterUpgradeRollbackStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
18410	return nil, false
18411}
18412
18413// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18414func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18415	return nil, false
18416}
18417
18418// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18419func (curse ClusterUpgradeRollbackStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18420	return nil, false
18421}
18422
18423// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18424func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18425	return nil, false
18426}
18427
18428// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18429func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18430	return nil, false
18431}
18432
18433// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18434func (curse ClusterUpgradeRollbackStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18435	return nil, false
18436}
18437
18438// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18439func (curse ClusterUpgradeRollbackStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18440	return nil, false
18441}
18442
18443// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18444func (curse ClusterUpgradeRollbackStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18445	return nil, false
18446}
18447
18448// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18449func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18450	return nil, false
18451}
18452
18453// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18454func (curse ClusterUpgradeRollbackStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18455	return nil, false
18456}
18457
18458// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18459func (curse ClusterUpgradeRollbackStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18460	return nil, false
18461}
18462
18463// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18464func (curse ClusterUpgradeRollbackStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18465	return nil, false
18466}
18467
18468// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18469func (curse ClusterUpgradeRollbackStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18470	return nil, false
18471}
18472
18473// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18474func (curse ClusterUpgradeRollbackStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18475	return nil, false
18476}
18477
18478// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18479func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18480	return nil, false
18481}
18482
18483// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18484func (curse ClusterUpgradeRollbackStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18485	return nil, false
18486}
18487
18488// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18489func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18490	return nil, false
18491}
18492
18493// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18494func (curse ClusterUpgradeRollbackStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18495	return nil, false
18496}
18497
18498// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18499func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18500	return nil, false
18501}
18502
18503// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18504func (curse ClusterUpgradeRollbackStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18505	return nil, false
18506}
18507
18508// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18509func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18510	return nil, false
18511}
18512
18513// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18514func (curse ClusterUpgradeRollbackStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18515	return nil, false
18516}
18517
18518// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18519func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18520	return nil, false
18521}
18522
18523// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18524func (curse ClusterUpgradeRollbackStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18525	return nil, false
18526}
18527
18528// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18529func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18530	return nil, false
18531}
18532
18533// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18534func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18535	return nil, false
18536}
18537
18538// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18539func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18540	return nil, false
18541}
18542
18543// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18544func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18545	return &curse, true
18546}
18547
18548// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18549func (curse ClusterUpgradeRollbackStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18550	return nil, false
18551}
18552
18553// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18554func (curse ClusterUpgradeRollbackStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18555	return nil, false
18556}
18557
18558// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18559func (curse ClusterUpgradeRollbackStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
18560	return nil, false
18561}
18562
18563// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18564func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
18565	return nil, false
18566}
18567
18568// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18569func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
18570	return nil, false
18571}
18572
18573// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18574func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
18575	return nil, false
18576}
18577
18578// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18579func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
18580	return nil, false
18581}
18582
18583// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18584func (curse ClusterUpgradeRollbackStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
18585	return nil, false
18586}
18587
18588// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18589func (curse ClusterUpgradeRollbackStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
18590	return nil, false
18591}
18592
18593// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18594func (curse ClusterUpgradeRollbackStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
18595	return nil, false
18596}
18597
18598// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18599func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
18600	return nil, false
18601}
18602
18603// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18604func (curse ClusterUpgradeRollbackStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
18605	return nil, false
18606}
18607
18608// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18609func (curse ClusterUpgradeRollbackStartEvent) AsFabricEvent() (*FabricEvent, bool) {
18610	return nil, false
18611}
18612
18613// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeRollbackStartEvent.
18614func (curse ClusterUpgradeRollbackStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
18615	return &curse, true
18616}
18617
18618// ClusterUpgradeStartEvent cluster Upgrade Start event.
18619type ClusterUpgradeStartEvent struct {
18620	// CurrentClusterVersion - Current Cluster version.
18621	CurrentClusterVersion *string `json:"CurrentClusterVersion,omitempty"`
18622	// TargetClusterVersion - Target Cluster version.
18623	TargetClusterVersion *string `json:"TargetClusterVersion,omitempty"`
18624	// UpgradeType - Type of upgrade.
18625	UpgradeType *string `json:"UpgradeType,omitempty"`
18626	// RollingUpgradeMode - Mode of upgrade.
18627	RollingUpgradeMode *string `json:"RollingUpgradeMode,omitempty"`
18628	// FailureAction - Action if failed.
18629	FailureAction *string `json:"FailureAction,omitempty"`
18630	// EventInstanceID - The identifier for the FabricEvent instance.
18631	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
18632	// TimeStamp - The time event was logged.
18633	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
18634	// HasCorrelatedEvents - Shows there is existing related events available.
18635	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
18636	// 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'
18637	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
18638}
18639
18640// MarshalJSON is the custom marshaler for ClusterUpgradeStartEvent.
18641func (cuse ClusterUpgradeStartEvent) MarshalJSON() ([]byte, error) {
18642	cuse.Kind = KindClusterUpgradeStart
18643	objectMap := make(map[string]interface{})
18644	if cuse.CurrentClusterVersion != nil {
18645		objectMap["CurrentClusterVersion"] = cuse.CurrentClusterVersion
18646	}
18647	if cuse.TargetClusterVersion != nil {
18648		objectMap["TargetClusterVersion"] = cuse.TargetClusterVersion
18649	}
18650	if cuse.UpgradeType != nil {
18651		objectMap["UpgradeType"] = cuse.UpgradeType
18652	}
18653	if cuse.RollingUpgradeMode != nil {
18654		objectMap["RollingUpgradeMode"] = cuse.RollingUpgradeMode
18655	}
18656	if cuse.FailureAction != nil {
18657		objectMap["FailureAction"] = cuse.FailureAction
18658	}
18659	if cuse.EventInstanceID != nil {
18660		objectMap["EventInstanceId"] = cuse.EventInstanceID
18661	}
18662	if cuse.TimeStamp != nil {
18663		objectMap["TimeStamp"] = cuse.TimeStamp
18664	}
18665	if cuse.HasCorrelatedEvents != nil {
18666		objectMap["HasCorrelatedEvents"] = cuse.HasCorrelatedEvents
18667	}
18668	if cuse.Kind != "" {
18669		objectMap["Kind"] = cuse.Kind
18670	}
18671	return json.Marshal(objectMap)
18672}
18673
18674// AsApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18675func (cuse ClusterUpgradeStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
18676	return nil, false
18677}
18678
18679// AsBasicApplicationEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18680func (cuse ClusterUpgradeStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
18681	return nil, false
18682}
18683
18684// AsClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18685func (cuse ClusterUpgradeStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
18686	return nil, false
18687}
18688
18689// AsBasicClusterEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18690func (cuse ClusterUpgradeStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
18691	return &cuse, true
18692}
18693
18694// AsContainerInstanceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18695func (cuse ClusterUpgradeStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
18696	return nil, false
18697}
18698
18699// AsNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18700func (cuse ClusterUpgradeStartEvent) AsNodeEvent() (*NodeEvent, bool) {
18701	return nil, false
18702}
18703
18704// AsBasicNodeEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18705func (cuse ClusterUpgradeStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
18706	return nil, false
18707}
18708
18709// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18710func (cuse ClusterUpgradeStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
18711	return nil, false
18712}
18713
18714// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18715func (cuse ClusterUpgradeStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
18716	return nil, false
18717}
18718
18719// AsPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18720func (cuse ClusterUpgradeStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
18721	return nil, false
18722}
18723
18724// AsBasicPartitionEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18725func (cuse ClusterUpgradeStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
18726	return nil, false
18727}
18728
18729// AsReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18730func (cuse ClusterUpgradeStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
18731	return nil, false
18732}
18733
18734// AsBasicReplicaEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18735func (cuse ClusterUpgradeStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
18736	return nil, false
18737}
18738
18739// AsServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18740func (cuse ClusterUpgradeStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
18741	return nil, false
18742}
18743
18744// AsBasicServiceEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18745func (cuse ClusterUpgradeStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
18746	return nil, false
18747}
18748
18749// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18750func (cuse ClusterUpgradeStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
18751	return nil, false
18752}
18753
18754// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18755func (cuse ClusterUpgradeStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
18756	return nil, false
18757}
18758
18759// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18760func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
18761	return nil, false
18762}
18763
18764// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18765func (cuse ClusterUpgradeStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
18766	return nil, false
18767}
18768
18769// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18770func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
18771	return nil, false
18772}
18773
18774// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18775func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
18776	return nil, false
18777}
18778
18779// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18780func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
18781	return nil, false
18782}
18783
18784// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18785func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
18786	return nil, false
18787}
18788
18789// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18790func (cuse ClusterUpgradeStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
18791	return nil, false
18792}
18793
18794// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18795func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
18796	return nil, false
18797}
18798
18799// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18800func (cuse ClusterUpgradeStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
18801	return nil, false
18802}
18803
18804// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18805func (cuse ClusterUpgradeStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
18806	return nil, false
18807}
18808
18809// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18810func (cuse ClusterUpgradeStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
18811	return nil, false
18812}
18813
18814// AsNodeAbortedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18815func (cuse ClusterUpgradeStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
18816	return nil, false
18817}
18818
18819// AsNodeAbortingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18820func (cuse ClusterUpgradeStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
18821	return nil, false
18822}
18823
18824// AsNodeAddedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18825func (cuse ClusterUpgradeStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
18826	return nil, false
18827}
18828
18829// AsNodeCloseEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18830func (cuse ClusterUpgradeStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
18831	return nil, false
18832}
18833
18834// AsNodeClosingEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18835func (cuse ClusterUpgradeStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
18836	return nil, false
18837}
18838
18839// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18840func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
18841	return nil, false
18842}
18843
18844// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18845func (cuse ClusterUpgradeStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
18846	return nil, false
18847}
18848
18849// AsNodeDownEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18850func (cuse ClusterUpgradeStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
18851	return nil, false
18852}
18853
18854// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18855func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
18856	return nil, false
18857}
18858
18859// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18860func (cuse ClusterUpgradeStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
18861	return nil, false
18862}
18863
18864// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18865func (cuse ClusterUpgradeStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
18866	return nil, false
18867}
18868
18869// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18870func (cuse ClusterUpgradeStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
18871	return nil, false
18872}
18873
18874// AsNodeOpeningEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18875func (cuse ClusterUpgradeStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
18876	return nil, false
18877}
18878
18879// AsNodeRemovedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18880func (cuse ClusterUpgradeStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
18881	return nil, false
18882}
18883
18884// AsNodeUpEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18885func (cuse ClusterUpgradeStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
18886	return nil, false
18887}
18888
18889// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18890func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
18891	return nil, false
18892}
18893
18894// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18895func (cuse ClusterUpgradeStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
18896	return nil, false
18897}
18898
18899// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18900func (cuse ClusterUpgradeStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
18901	return nil, false
18902}
18903
18904// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18905func (cuse ClusterUpgradeStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
18906	return nil, false
18907}
18908
18909// AsServiceCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18910func (cuse ClusterUpgradeStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
18911	return nil, false
18912}
18913
18914// AsServiceDeletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18915func (cuse ClusterUpgradeStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
18916	return nil, false
18917}
18918
18919// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18920func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
18921	return nil, false
18922}
18923
18924// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18925func (cuse ClusterUpgradeStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
18926	return nil, false
18927}
18928
18929// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18930func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
18931	return nil, false
18932}
18933
18934// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18935func (cuse ClusterUpgradeStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
18936	return nil, false
18937}
18938
18939// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18940func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
18941	return nil, false
18942}
18943
18944// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18945func (cuse ClusterUpgradeStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
18946	return nil, false
18947}
18948
18949// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18950func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
18951	return nil, false
18952}
18953
18954// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18955func (cuse ClusterUpgradeStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
18956	return nil, false
18957}
18958
18959// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18960func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
18961	return nil, false
18962}
18963
18964// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18965func (cuse ClusterUpgradeStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
18966	return nil, false
18967}
18968
18969// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18970func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
18971	return nil, false
18972}
18973
18974// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18975func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
18976	return nil, false
18977}
18978
18979// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18980func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
18981	return nil, false
18982}
18983
18984// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18985func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
18986	return nil, false
18987}
18988
18989// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18990func (cuse ClusterUpgradeStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
18991	return &cuse, true
18992}
18993
18994// AsChaosStoppedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
18995func (cuse ClusterUpgradeStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
18996	return nil, false
18997}
18998
18999// AsChaosStartedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19000func (cuse ClusterUpgradeStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
19001	return nil, false
19002}
19003
19004// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19005func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
19006	return nil, false
19007}
19008
19009// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19010func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
19011	return nil, false
19012}
19013
19014// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19015func (cuse ClusterUpgradeStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
19016	return nil, false
19017}
19018
19019// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19020func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
19021	return nil, false
19022}
19023
19024// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19025func (cuse ClusterUpgradeStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
19026	return nil, false
19027}
19028
19029// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19030func (cuse ClusterUpgradeStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
19031	return nil, false
19032}
19033
19034// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19035func (cuse ClusterUpgradeStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
19036	return nil, false
19037}
19038
19039// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19040func (cuse ClusterUpgradeStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
19041	return nil, false
19042}
19043
19044// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19045func (cuse ClusterUpgradeStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
19046	return nil, false
19047}
19048
19049// AsFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19050func (cuse ClusterUpgradeStartEvent) AsFabricEvent() (*FabricEvent, bool) {
19051	return nil, false
19052}
19053
19054// AsBasicFabricEvent is the BasicFabricEvent implementation for ClusterUpgradeStartEvent.
19055func (cuse ClusterUpgradeStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
19056	return &cuse, true
19057}
19058
19059// CodePackageEntryPoint information about setup or main entry point of a code package deployed on a
19060// Service Fabric node.
19061type CodePackageEntryPoint struct {
19062	// EntryPointLocation - The location of entry point executable on the node.
19063	EntryPointLocation *string `json:"EntryPointLocation,omitempty"`
19064	// ProcessID - The process ID of the entry point.
19065	ProcessID *string `json:"ProcessId,omitempty"`
19066	// RunAsUserName - The user name under which entry point executable is run on the node.
19067	RunAsUserName *string `json:"RunAsUserName,omitempty"`
19068	// CodePackageEntryPointStatistics - Statistics about setup or main entry point  of a code package deployed on a Service Fabric node.
19069	CodePackageEntryPointStatistics *CodePackageEntryPointStatistics `json:"CodePackageEntryPointStatistics,omitempty"`
19070	// 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'
19071	Status EntryPointStatus `json:"Status,omitempty"`
19072	// NextActivationTime - The time (in UTC) when the entry point executable will be run next.
19073	NextActivationTime *date.Time `json:"NextActivationTime,omitempty"`
19074	// 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.
19075	InstanceID *string `json:"InstanceId,omitempty"`
19076}
19077
19078// CodePackageEntryPointStatistics statistics about setup or main entry point  of a code package deployed
19079// on a Service Fabric node.
19080type CodePackageEntryPointStatistics struct {
19081	// LastExitCode - The last exit code of the entry point.
19082	LastExitCode *string `json:"LastExitCode,omitempty"`
19083	// LastActivationTime - The last time (in UTC) when Service Fabric attempted to run the entry point.
19084	LastActivationTime *date.Time `json:"LastActivationTime,omitempty"`
19085	// LastExitTime - The last time (in UTC) when the entry point finished running.
19086	LastExitTime *date.Time `json:"LastExitTime,omitempty"`
19087	// LastSuccessfulActivationTime - The last time (in UTC) when the entry point ran successfully.
19088	LastSuccessfulActivationTime *date.Time `json:"LastSuccessfulActivationTime,omitempty"`
19089	// LastSuccessfulExitTime - The last time (in UTC) when the entry point finished running gracefully.
19090	LastSuccessfulExitTime *date.Time `json:"LastSuccessfulExitTime,omitempty"`
19091	// ActivationCount - Number of times the entry point has run.
19092	ActivationCount *string `json:"ActivationCount,omitempty"`
19093	// ActivationFailureCount - Number of times the entry point failed to run.
19094	ActivationFailureCount *string `json:"ActivationFailureCount,omitempty"`
19095	// ContinuousActivationFailureCount - Number of times the entry point continuously failed to run.
19096	ContinuousActivationFailureCount *string `json:"ContinuousActivationFailureCount,omitempty"`
19097	// ExitCount - Number of times the entry point finished running.
19098	ExitCount *string `json:"ExitCount,omitempty"`
19099	// ExitFailureCount - Number of times the entry point failed to exit gracefully.
19100	ExitFailureCount *string `json:"ExitFailureCount,omitempty"`
19101	// ContinuousExitFailureCount - Number of times the entry point continuously failed to exit gracefully.
19102	ContinuousExitFailureCount *string `json:"ContinuousExitFailureCount,omitempty"`
19103}
19104
19105// ComposeDeploymentStatusInfo information about a Service Fabric compose deployment.
19106type ComposeDeploymentStatusInfo struct {
19107	autorest.Response `json:"-"`
19108	// Name - The name of the deployment.
19109	Name *string `json:"Name,omitempty"`
19110	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
19111	ApplicationName *string `json:"ApplicationName,omitempty"`
19112	// Status - The status of the compose deployment. Possible values include: 'ComposeDeploymentStatusInvalid', 'ComposeDeploymentStatusProvisioning', 'ComposeDeploymentStatusCreating', 'ComposeDeploymentStatusReady', 'ComposeDeploymentStatusUnprovisioning', 'ComposeDeploymentStatusDeleting', 'ComposeDeploymentStatusFailed', 'ComposeDeploymentStatusUpgrading'
19113	Status ComposeDeploymentStatus `json:"Status,omitempty"`
19114	// StatusDetails - The status details of compose deployment including failure message.
19115	StatusDetails *string `json:"StatusDetails,omitempty"`
19116}
19117
19118// ComposeDeploymentUpgradeDescription describes the parameters for a compose deployment upgrade.
19119type ComposeDeploymentUpgradeDescription struct {
19120	// DeploymentName - The name of the deployment.
19121	DeploymentName *string `json:"DeploymentName,omitempty"`
19122	// ComposeFileContent - The content of the compose file that describes the deployment to create.
19123	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
19124	// RegistryCredential - Credential information to connect to container registry.
19125	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
19126	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
19127	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
19128	// 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'
19129	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
19130	// 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).
19131	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
19132	// 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).
19133	ForceRestart *bool `json:"ForceRestart,omitempty"`
19134	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
19135	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
19136	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
19137	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
19138}
19139
19140// ComposeDeploymentUpgradeProgressInfo describes the parameters for a compose deployment upgrade.
19141type ComposeDeploymentUpgradeProgressInfo struct {
19142	autorest.Response `json:"-"`
19143	// DeploymentName - The name of the target deployment.
19144	DeploymentName *string `json:"DeploymentName,omitempty"`
19145	// ApplicationName - The name of the target application, including the 'fabric:' URI scheme.
19146	ApplicationName *string `json:"ApplicationName,omitempty"`
19147	// UpgradeState - The state of the compose deployment upgrade. Possible values include: 'ComposeDeploymentUpgradeStateInvalid', 'ComposeDeploymentUpgradeStateProvisioningTarget', 'ComposeDeploymentUpgradeStateRollingForwardInProgress', 'ComposeDeploymentUpgradeStateRollingForwardPending', 'ComposeDeploymentUpgradeStateUnprovisioningCurrent', 'ComposeDeploymentUpgradeStateRollingForwardCompleted', 'ComposeDeploymentUpgradeStateRollingBackInProgress', 'ComposeDeploymentUpgradeStateUnprovisioningTarget', 'ComposeDeploymentUpgradeStateRollingBackCompleted', 'ComposeDeploymentUpgradeStateFailed'
19148	UpgradeState ComposeDeploymentUpgradeState `json:"UpgradeState,omitempty"`
19149	// UpgradeStatusDetails - Additional detailed information about the status of the pending upgrade.
19150	UpgradeStatusDetails *string `json:"UpgradeStatusDetails,omitempty"`
19151	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
19152	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
19153	// 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'
19154	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
19155	// 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).
19156	ForceRestart *bool `json:"ForceRestart,omitempty"`
19157	// 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).
19158	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
19159	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
19160	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
19161	// ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities.
19162	ApplicationHealthPolicy *ApplicationHealthPolicy `json:"ApplicationHealthPolicy,omitempty"`
19163	// TargetApplicationTypeVersion - The target application type version (found in the application manifest) for the application upgrade.
19164	TargetApplicationTypeVersion *string `json:"TargetApplicationTypeVersion,omitempty"`
19165	// 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.
19166	UpgradeDuration *string `json:"UpgradeDuration,omitempty"`
19167	// 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.
19168	CurrentUpgradeDomainDuration *string `json:"CurrentUpgradeDomainDuration,omitempty"`
19169	// ApplicationUnhealthyEvaluations - List of health evaluations that resulted in the current aggregated health state.
19170	ApplicationUnhealthyEvaluations *[]HealthEvaluationWrapper `json:"ApplicationUnhealthyEvaluations,omitempty"`
19171	// CurrentUpgradeDomainProgress - Information about the current in-progress upgrade domain.
19172	CurrentUpgradeDomainProgress *CurrentUpgradeDomainProgressInfo `json:"CurrentUpgradeDomainProgress,omitempty"`
19173	// StartTimestampUtc - The estimated UTC datetime when the upgrade started.
19174	StartTimestampUtc *string `json:"StartTimestampUtc,omitempty"`
19175	// FailureTimestampUtc - The estimated UTC datetime when the upgrade failed and FailureAction was executed.
19176	FailureTimestampUtc *string `json:"FailureTimestampUtc,omitempty"`
19177	// FailureReason - The cause of an upgrade failure that resulted in FailureAction being executed. Possible values include: 'None', 'Interrupted', 'HealthCheck', 'UpgradeDomainTimeout', 'OverallUpgradeTimeout'
19178	FailureReason FailureReason `json:"FailureReason,omitempty"`
19179	// UpgradeDomainProgressAtFailure - Information about the upgrade domain progress at the time of upgrade failure.
19180	UpgradeDomainProgressAtFailure *FailureUpgradeDomainProgressInfo `json:"UpgradeDomainProgressAtFailure,omitempty"`
19181	// ApplicationUpgradeStatusDetails - Additional details of application upgrade including failure message.
19182	ApplicationUpgradeStatusDetails *string `json:"ApplicationUpgradeStatusDetails,omitempty"`
19183}
19184
19185// ContainerAPIRequestBody parameters for making container API call.
19186type ContainerAPIRequestBody struct {
19187	// HTTPVerb - HTTP verb of container REST API, defaults to "GET"
19188	HTTPVerb *string `json:"HttpVerb,omitempty"`
19189	// URIPath - URI path of container REST API
19190	URIPath *string `json:"UriPath,omitempty"`
19191	// ContentType - Content type of container REST API request, defaults to "application/json"
19192	ContentType *string `json:"Content-Type,omitempty"`
19193	// Body - HTTP request body of container REST API
19194	Body *string `json:"Body,omitempty"`
19195}
19196
19197// ContainerAPIResponse response body that wraps container API result.
19198type ContainerAPIResponse struct {
19199	autorest.Response `json:"-"`
19200	// ContainerAPIResult - Container API result.
19201	ContainerAPIResult *ContainerAPIResult `json:"ContainerApiResult,omitempty"`
19202}
19203
19204// ContainerAPIResult container API result.
19205type ContainerAPIResult struct {
19206	// Status - HTTP status code returned by the target container API
19207	Status *int32 `json:"Status,omitempty"`
19208	// ContentType - HTTP content type
19209	ContentType *string `json:"Content-Type,omitempty"`
19210	// ContentEncoding - HTTP content encoding
19211	ContentEncoding *string `json:"Content-Encoding,omitempty"`
19212	// Body - container API result body
19213	Body *string `json:"Body,omitempty"`
19214}
19215
19216// ContainerCodePackageProperties describes a container and its runtime properties.
19217type ContainerCodePackageProperties struct {
19218	// Name - The name of the code package.
19219	Name *string `json:"name,omitempty"`
19220	// Image - The Container image to use.
19221	Image *string `json:"image,omitempty"`
19222	// ImageRegistryCredential - Image registry credential.
19223	ImageRegistryCredential *ImageRegistryCredential `json:"imageRegistryCredential,omitempty"`
19224	// Entrypoint - Override for the default entry point in the container.
19225	Entrypoint *string `json:"entrypoint,omitempty"`
19226	// Commands - Command array to execute within the container in exec form.
19227	Commands *[]string `json:"commands,omitempty"`
19228	// EnvironmentVariables - The environment variables to set in this container
19229	EnvironmentVariables *[]EnvironmentVariable `json:"environmentVariables,omitempty"`
19230	// Settings - The settings to set in this container. The setting file path can be fetched from environment variable "Fabric_SettingPath". The path for Windows container is "C:\\secrets". The path for Linux container is "/var/secrets".
19231	Settings *[]Setting `json:"settings,omitempty"`
19232	// Labels - The labels to set in this container.
19233	Labels *[]ContainerLabel `json:"labels,omitempty"`
19234	// Endpoints - The endpoints exposed by this container.
19235	Endpoints *[]EndpointProperties `json:"endpoints,omitempty"`
19236	// Resources - This type describes the resource requirements for a container or a service.
19237	Resources *ResourceRequirements `json:"resources,omitempty"`
19238	// VolumeRefs - The volumes to be attached to the container.
19239	VolumeRefs *[]ContainerVolume `json:"volumeRefs,omitempty"`
19240	// InstanceView - READ-ONLY; Runtime information of a container instance.
19241	InstanceView *ContainerInstanceView `json:"instanceView,omitempty"`
19242	// Diagnostics - Reference to sinks in DiagnosticsDescription.
19243	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
19244}
19245
19246// ContainerDeactivatedEvent container Deactivated event.
19247type ContainerDeactivatedEvent struct {
19248	// ServiceName - Name of Service.
19249	ServiceName *string `json:"ServiceName,omitempty"`
19250	// ServicePackageName - Name of Service package.
19251	ServicePackageName *string `json:"ServicePackageName,omitempty"`
19252	// ServicePackageActivationID - Activation Id of Service package.
19253	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
19254	// IsExclusive - Indicates IsExclusive flag.
19255	IsExclusive *bool `json:"IsExclusive,omitempty"`
19256	// CodePackageName - Name of Code package.
19257	CodePackageName *string `json:"CodePackageName,omitempty"`
19258	// EntryPointType - Type of EntryPoint.
19259	EntryPointType *string `json:"EntryPointType,omitempty"`
19260	// ImageName - Name of Container image.
19261	ImageName *string `json:"ImageName,omitempty"`
19262	// ContainerName - Name of Container.
19263	ContainerName *string `json:"ContainerName,omitempty"`
19264	// HostID - Host Id.
19265	HostID *string `json:"HostId,omitempty"`
19266	// ExitCode - Exit code of process.
19267	ExitCode *int64 `json:"ExitCode,omitempty"`
19268	// UnexpectedTermination - Indicates if termination is unexpected.
19269	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
19270	// StartTime - Start time of process.
19271	StartTime *date.Time `json:"StartTime,omitempty"`
19272	// 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.
19273	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
19274	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
19275	ApplicationID *string `json:"ApplicationId,omitempty"`
19276	// EventInstanceID - The identifier for the FabricEvent instance.
19277	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
19278	// TimeStamp - The time event was logged.
19279	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
19280	// HasCorrelatedEvents - Shows there is existing related events available.
19281	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
19282	// 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'
19283	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
19284}
19285
19286// MarshalJSON is the custom marshaler for ContainerDeactivatedEvent.
19287func (cde ContainerDeactivatedEvent) MarshalJSON() ([]byte, error) {
19288	cde.Kind = KindContainerDeactivated
19289	objectMap := make(map[string]interface{})
19290	if cde.ServiceName != nil {
19291		objectMap["ServiceName"] = cde.ServiceName
19292	}
19293	if cde.ServicePackageName != nil {
19294		objectMap["ServicePackageName"] = cde.ServicePackageName
19295	}
19296	if cde.ServicePackageActivationID != nil {
19297		objectMap["ServicePackageActivationId"] = cde.ServicePackageActivationID
19298	}
19299	if cde.IsExclusive != nil {
19300		objectMap["IsExclusive"] = cde.IsExclusive
19301	}
19302	if cde.CodePackageName != nil {
19303		objectMap["CodePackageName"] = cde.CodePackageName
19304	}
19305	if cde.EntryPointType != nil {
19306		objectMap["EntryPointType"] = cde.EntryPointType
19307	}
19308	if cde.ImageName != nil {
19309		objectMap["ImageName"] = cde.ImageName
19310	}
19311	if cde.ContainerName != nil {
19312		objectMap["ContainerName"] = cde.ContainerName
19313	}
19314	if cde.HostID != nil {
19315		objectMap["HostId"] = cde.HostID
19316	}
19317	if cde.ExitCode != nil {
19318		objectMap["ExitCode"] = cde.ExitCode
19319	}
19320	if cde.UnexpectedTermination != nil {
19321		objectMap["UnexpectedTermination"] = cde.UnexpectedTermination
19322	}
19323	if cde.StartTime != nil {
19324		objectMap["StartTime"] = cde.StartTime
19325	}
19326	if cde.ApplicationID != nil {
19327		objectMap["ApplicationId"] = cde.ApplicationID
19328	}
19329	if cde.EventInstanceID != nil {
19330		objectMap["EventInstanceId"] = cde.EventInstanceID
19331	}
19332	if cde.TimeStamp != nil {
19333		objectMap["TimeStamp"] = cde.TimeStamp
19334	}
19335	if cde.HasCorrelatedEvents != nil {
19336		objectMap["HasCorrelatedEvents"] = cde.HasCorrelatedEvents
19337	}
19338	if cde.Kind != "" {
19339		objectMap["Kind"] = cde.Kind
19340	}
19341	return json.Marshal(objectMap)
19342}
19343
19344// AsApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19345func (cde ContainerDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
19346	return nil, false
19347}
19348
19349// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19350func (cde ContainerDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
19351	return &cde, true
19352}
19353
19354// AsClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19355func (cde ContainerDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
19356	return nil, false
19357}
19358
19359// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19360func (cde ContainerDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
19361	return nil, false
19362}
19363
19364// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19365func (cde ContainerDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
19366	return nil, false
19367}
19368
19369// AsNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19370func (cde ContainerDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
19371	return nil, false
19372}
19373
19374// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19375func (cde ContainerDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
19376	return nil, false
19377}
19378
19379// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19380func (cde ContainerDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
19381	return nil, false
19382}
19383
19384// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19385func (cde ContainerDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
19386	return nil, false
19387}
19388
19389// AsPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19390func (cde ContainerDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
19391	return nil, false
19392}
19393
19394// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19395func (cde ContainerDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
19396	return nil, false
19397}
19398
19399// AsReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19400func (cde ContainerDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
19401	return nil, false
19402}
19403
19404// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19405func (cde ContainerDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
19406	return nil, false
19407}
19408
19409// AsServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19410func (cde ContainerDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
19411	return nil, false
19412}
19413
19414// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19415func (cde ContainerDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
19416	return nil, false
19417}
19418
19419// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19420func (cde ContainerDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
19421	return nil, false
19422}
19423
19424// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19425func (cde ContainerDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
19426	return nil, false
19427}
19428
19429// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19430func (cde ContainerDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
19431	return nil, false
19432}
19433
19434// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19435func (cde ContainerDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
19436	return nil, false
19437}
19438
19439// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19440func (cde ContainerDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
19441	return nil, false
19442}
19443
19444// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19445func (cde ContainerDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
19446	return nil, false
19447}
19448
19449// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19450func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
19451	return nil, false
19452}
19453
19454// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19455func (cde ContainerDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
19456	return nil, false
19457}
19458
19459// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19460func (cde ContainerDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
19461	return nil, false
19462}
19463
19464// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19465func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
19466	return nil, false
19467}
19468
19469// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19470func (cde ContainerDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
19471	return nil, false
19472}
19473
19474// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19475func (cde ContainerDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
19476	return nil, false
19477}
19478
19479// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19480func (cde ContainerDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
19481	return &cde, true
19482}
19483
19484// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19485func (cde ContainerDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
19486	return nil, false
19487}
19488
19489// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19490func (cde ContainerDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
19491	return nil, false
19492}
19493
19494// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19495func (cde ContainerDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
19496	return nil, false
19497}
19498
19499// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19500func (cde ContainerDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
19501	return nil, false
19502}
19503
19504// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19505func (cde ContainerDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
19506	return nil, false
19507}
19508
19509// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19510func (cde ContainerDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
19511	return nil, false
19512}
19513
19514// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19515func (cde ContainerDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
19516	return nil, false
19517}
19518
19519// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19520func (cde ContainerDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
19521	return nil, false
19522}
19523
19524// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19525func (cde ContainerDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
19526	return nil, false
19527}
19528
19529// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19530func (cde ContainerDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
19531	return nil, false
19532}
19533
19534// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19535func (cde ContainerDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
19536	return nil, false
19537}
19538
19539// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19540func (cde ContainerDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
19541	return nil, false
19542}
19543
19544// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19545func (cde ContainerDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
19546	return nil, false
19547}
19548
19549// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19550func (cde ContainerDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
19551	return nil, false
19552}
19553
19554// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19555func (cde ContainerDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
19556	return nil, false
19557}
19558
19559// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19560func (cde ContainerDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
19561	return nil, false
19562}
19563
19564// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19565func (cde ContainerDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
19566	return nil, false
19567}
19568
19569// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19570func (cde ContainerDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
19571	return nil, false
19572}
19573
19574// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19575func (cde ContainerDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
19576	return nil, false
19577}
19578
19579// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19580func (cde ContainerDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
19581	return nil, false
19582}
19583
19584// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19585func (cde ContainerDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
19586	return nil, false
19587}
19588
19589// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19590func (cde ContainerDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
19591	return nil, false
19592}
19593
19594// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19595func (cde ContainerDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
19596	return nil, false
19597}
19598
19599// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19600func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
19601	return nil, false
19602}
19603
19604// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19605func (cde ContainerDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
19606	return nil, false
19607}
19608
19609// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19610func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
19611	return nil, false
19612}
19613
19614// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19615func (cde ContainerDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
19616	return nil, false
19617}
19618
19619// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19620func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
19621	return nil, false
19622}
19623
19624// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19625func (cde ContainerDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
19626	return nil, false
19627}
19628
19629// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19630func (cde ContainerDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
19631	return nil, false
19632}
19633
19634// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19635func (cde ContainerDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
19636	return nil, false
19637}
19638
19639// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19640func (cde ContainerDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
19641	return nil, false
19642}
19643
19644// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19645func (cde ContainerDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
19646	return nil, false
19647}
19648
19649// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19650func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
19651	return nil, false
19652}
19653
19654// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19655func (cde ContainerDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
19656	return nil, false
19657}
19658
19659// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19660func (cde ContainerDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
19661	return nil, false
19662}
19663
19664// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19665func (cde ContainerDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
19666	return nil, false
19667}
19668
19669// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19670func (cde ContainerDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
19671	return nil, false
19672}
19673
19674// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19675func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
19676	return nil, false
19677}
19678
19679// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19680func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
19681	return nil, false
19682}
19683
19684// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19685func (cde ContainerDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
19686	return nil, false
19687}
19688
19689// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19690func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
19691	return nil, false
19692}
19693
19694// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19695func (cde ContainerDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
19696	return nil, false
19697}
19698
19699// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19700func (cde ContainerDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
19701	return nil, false
19702}
19703
19704// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19705func (cde ContainerDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
19706	return nil, false
19707}
19708
19709// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19710func (cde ContainerDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
19711	return nil, false
19712}
19713
19714// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19715func (cde ContainerDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
19716	return nil, false
19717}
19718
19719// AsFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19720func (cde ContainerDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
19721	return nil, false
19722}
19723
19724// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerDeactivatedEvent.
19725func (cde ContainerDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
19726	return &cde, true
19727}
19728
19729// ContainerEvent a container event.
19730type ContainerEvent struct {
19731	// Name - The name of the container event.
19732	Name *string `json:"name,omitempty"`
19733	// Count - The count of the event.
19734	Count *int32 `json:"count,omitempty"`
19735	// FirstTimestamp - Date/time of the first event.
19736	FirstTimestamp *string `json:"firstTimestamp,omitempty"`
19737	// LastTimestamp - Date/time of the last event.
19738	LastTimestamp *string `json:"lastTimestamp,omitempty"`
19739	// Message - The event message
19740	Message *string `json:"message,omitempty"`
19741	// Type - The event type.
19742	Type *string `json:"type,omitempty"`
19743}
19744
19745// ContainerInstanceEvent represents the base for all Container Events.
19746type ContainerInstanceEvent struct {
19747	// EventInstanceID - The identifier for the FabricEvent instance.
19748	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
19749	// TimeStamp - The time event was logged.
19750	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
19751	// HasCorrelatedEvents - Shows there is existing related events available.
19752	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
19753	// 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'
19754	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
19755}
19756
19757// MarshalJSON is the custom marshaler for ContainerInstanceEvent.
19758func (cie ContainerInstanceEvent) MarshalJSON() ([]byte, error) {
19759	cie.Kind = KindContainerInstanceEvent
19760	objectMap := make(map[string]interface{})
19761	if cie.EventInstanceID != nil {
19762		objectMap["EventInstanceId"] = cie.EventInstanceID
19763	}
19764	if cie.TimeStamp != nil {
19765		objectMap["TimeStamp"] = cie.TimeStamp
19766	}
19767	if cie.HasCorrelatedEvents != nil {
19768		objectMap["HasCorrelatedEvents"] = cie.HasCorrelatedEvents
19769	}
19770	if cie.Kind != "" {
19771		objectMap["Kind"] = cie.Kind
19772	}
19773	return json.Marshal(objectMap)
19774}
19775
19776// AsApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19777func (cie ContainerInstanceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
19778	return nil, false
19779}
19780
19781// AsBasicApplicationEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19782func (cie ContainerInstanceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
19783	return nil, false
19784}
19785
19786// AsClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19787func (cie ContainerInstanceEvent) AsClusterEvent() (*ClusterEvent, bool) {
19788	return nil, false
19789}
19790
19791// AsBasicClusterEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19792func (cie ContainerInstanceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
19793	return nil, false
19794}
19795
19796// AsContainerInstanceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19797func (cie ContainerInstanceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
19798	return &cie, true
19799}
19800
19801// AsNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19802func (cie ContainerInstanceEvent) AsNodeEvent() (*NodeEvent, bool) {
19803	return nil, false
19804}
19805
19806// AsBasicNodeEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19807func (cie ContainerInstanceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
19808	return nil, false
19809}
19810
19811// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19812func (cie ContainerInstanceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
19813	return nil, false
19814}
19815
19816// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19817func (cie ContainerInstanceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
19818	return nil, false
19819}
19820
19821// AsPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19822func (cie ContainerInstanceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
19823	return nil, false
19824}
19825
19826// AsBasicPartitionEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19827func (cie ContainerInstanceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
19828	return nil, false
19829}
19830
19831// AsReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19832func (cie ContainerInstanceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
19833	return nil, false
19834}
19835
19836// AsBasicReplicaEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19837func (cie ContainerInstanceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
19838	return nil, false
19839}
19840
19841// AsServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19842func (cie ContainerInstanceEvent) AsServiceEvent() (*ServiceEvent, bool) {
19843	return nil, false
19844}
19845
19846// AsBasicServiceEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19847func (cie ContainerInstanceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
19848	return nil, false
19849}
19850
19851// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19852func (cie ContainerInstanceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
19853	return nil, false
19854}
19855
19856// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19857func (cie ContainerInstanceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
19858	return nil, false
19859}
19860
19861// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19862func (cie ContainerInstanceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
19863	return nil, false
19864}
19865
19866// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19867func (cie ContainerInstanceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
19868	return nil, false
19869}
19870
19871// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19872func (cie ContainerInstanceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
19873	return nil, false
19874}
19875
19876// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19877func (cie ContainerInstanceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
19878	return nil, false
19879}
19880
19881// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19882func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
19883	return nil, false
19884}
19885
19886// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19887func (cie ContainerInstanceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
19888	return nil, false
19889}
19890
19891// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19892func (cie ContainerInstanceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
19893	return nil, false
19894}
19895
19896// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19897func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
19898	return nil, false
19899}
19900
19901// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19902func (cie ContainerInstanceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
19903	return nil, false
19904}
19905
19906// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19907func (cie ContainerInstanceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
19908	return nil, false
19909}
19910
19911// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19912func (cie ContainerInstanceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
19913	return nil, false
19914}
19915
19916// AsNodeAbortedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19917func (cie ContainerInstanceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
19918	return nil, false
19919}
19920
19921// AsNodeAbortingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19922func (cie ContainerInstanceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
19923	return nil, false
19924}
19925
19926// AsNodeAddedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19927func (cie ContainerInstanceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
19928	return nil, false
19929}
19930
19931// AsNodeCloseEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19932func (cie ContainerInstanceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
19933	return nil, false
19934}
19935
19936// AsNodeClosingEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19937func (cie ContainerInstanceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
19938	return nil, false
19939}
19940
19941// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19942func (cie ContainerInstanceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
19943	return nil, false
19944}
19945
19946// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19947func (cie ContainerInstanceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
19948	return nil, false
19949}
19950
19951// AsNodeDownEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19952func (cie ContainerInstanceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
19953	return nil, false
19954}
19955
19956// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19957func (cie ContainerInstanceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
19958	return nil, false
19959}
19960
19961// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19962func (cie ContainerInstanceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
19963	return nil, false
19964}
19965
19966// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19967func (cie ContainerInstanceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
19968	return nil, false
19969}
19970
19971// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19972func (cie ContainerInstanceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
19973	return nil, false
19974}
19975
19976// AsNodeOpeningEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19977func (cie ContainerInstanceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
19978	return nil, false
19979}
19980
19981// AsNodeRemovedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19982func (cie ContainerInstanceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
19983	return nil, false
19984}
19985
19986// AsNodeUpEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19987func (cie ContainerInstanceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
19988	return nil, false
19989}
19990
19991// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19992func (cie ContainerInstanceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
19993	return nil, false
19994}
19995
19996// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
19997func (cie ContainerInstanceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
19998	return nil, false
19999}
20000
20001// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20002func (cie ContainerInstanceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
20003	return nil, false
20004}
20005
20006// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20007func (cie ContainerInstanceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
20008	return nil, false
20009}
20010
20011// AsServiceCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20012func (cie ContainerInstanceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
20013	return nil, false
20014}
20015
20016// AsServiceDeletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20017func (cie ContainerInstanceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
20018	return nil, false
20019}
20020
20021// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20022func (cie ContainerInstanceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
20023	return nil, false
20024}
20025
20026// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20027func (cie ContainerInstanceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
20028	return nil, false
20029}
20030
20031// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20032func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
20033	return nil, false
20034}
20035
20036// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20037func (cie ContainerInstanceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
20038	return nil, false
20039}
20040
20041// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20042func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
20043	return nil, false
20044}
20045
20046// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20047func (cie ContainerInstanceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
20048	return nil, false
20049}
20050
20051// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20052func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
20053	return nil, false
20054}
20055
20056// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20057func (cie ContainerInstanceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
20058	return nil, false
20059}
20060
20061// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20062func (cie ContainerInstanceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
20063	return nil, false
20064}
20065
20066// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20067func (cie ContainerInstanceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
20068	return nil, false
20069}
20070
20071// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20072func (cie ContainerInstanceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
20073	return nil, false
20074}
20075
20076// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20077func (cie ContainerInstanceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
20078	return nil, false
20079}
20080
20081// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20082func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
20083	return nil, false
20084}
20085
20086// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20087func (cie ContainerInstanceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
20088	return nil, false
20089}
20090
20091// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20092func (cie ContainerInstanceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
20093	return nil, false
20094}
20095
20096// AsChaosStoppedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20097func (cie ContainerInstanceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
20098	return nil, false
20099}
20100
20101// AsChaosStartedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20102func (cie ContainerInstanceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
20103	return nil, false
20104}
20105
20106// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20107func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
20108	return nil, false
20109}
20110
20111// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20112func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
20113	return nil, false
20114}
20115
20116// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20117func (cie ContainerInstanceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
20118	return nil, false
20119}
20120
20121// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20122func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
20123	return nil, false
20124}
20125
20126// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20127func (cie ContainerInstanceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
20128	return nil, false
20129}
20130
20131// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20132func (cie ContainerInstanceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
20133	return nil, false
20134}
20135
20136// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20137func (cie ContainerInstanceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
20138	return nil, false
20139}
20140
20141// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20142func (cie ContainerInstanceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
20143	return nil, false
20144}
20145
20146// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20147func (cie ContainerInstanceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
20148	return nil, false
20149}
20150
20151// AsFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20152func (cie ContainerInstanceEvent) AsFabricEvent() (*FabricEvent, bool) {
20153	return nil, false
20154}
20155
20156// AsBasicFabricEvent is the BasicFabricEvent implementation for ContainerInstanceEvent.
20157func (cie ContainerInstanceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
20158	return &cie, true
20159}
20160
20161// ContainerInstanceView runtime information of a container instance.
20162type ContainerInstanceView struct {
20163	// RestartCount - The number of times the container has been restarted.
20164	RestartCount *int32 `json:"restartCount,omitempty"`
20165	// CurrentState - Current container instance state.
20166	CurrentState *ContainerState `json:"currentState,omitempty"`
20167	// PreviousState - Previous container instance state.
20168	PreviousState *ContainerState `json:"previousState,omitempty"`
20169	// Events - The events of this container instance.
20170	Events *[]ContainerEvent `json:"events,omitempty"`
20171}
20172
20173// ContainerLabel describes a container label.
20174type ContainerLabel struct {
20175	// Name - The name of the container label.
20176	Name *string `json:"name,omitempty"`
20177	// Value - The value of the container label.
20178	Value *string `json:"value,omitempty"`
20179}
20180
20181// ContainerLogs container logs.
20182type ContainerLogs struct {
20183	autorest.Response `json:"-"`
20184	// Content - Container logs.
20185	Content *string `json:"Content,omitempty"`
20186}
20187
20188// ContainerState the container state.
20189type ContainerState struct {
20190	// State - The state of this container
20191	State *string `json:"state,omitempty"`
20192	// StartTime - Date/time when the container state started.
20193	StartTime *date.Time `json:"startTime,omitempty"`
20194	// ExitCode - The container exit code.
20195	ExitCode *string `json:"exitCode,omitempty"`
20196	// FinishTime - Date/time when the container state finished.
20197	FinishTime *date.Time `json:"finishTime,omitempty"`
20198	// DetailStatus - Human-readable status of this state.
20199	DetailStatus *string `json:"detailStatus,omitempty"`
20200}
20201
20202// ContainerVolume describes how a volume is attached to a container.
20203type ContainerVolume struct {
20204	// Name - Name of the volume.
20205	Name *string `json:"name,omitempty"`
20206	// ReadOnly - The flag indicating whether the volume is read only. Default is 'false'.
20207	ReadOnly *bool `json:"readOnly,omitempty"`
20208	// DestinationPath - The path within the container at which the volume should be mounted. Only valid path characters are allowed.
20209	DestinationPath *string `json:"destinationPath,omitempty"`
20210}
20211
20212// CreateComposeDeploymentDescription defines description for creating a Service Fabric compose deployment.
20213type CreateComposeDeploymentDescription struct {
20214	// DeploymentName - The name of the deployment.
20215	DeploymentName *string `json:"DeploymentName,omitempty"`
20216	// ComposeFileContent - The content of the compose file that describes the deployment to create.
20217	ComposeFileContent *string `json:"ComposeFileContent,omitempty"`
20218	// RegistryCredential - Credential information to connect to container registry.
20219	RegistryCredential *RegistryCredential `json:"RegistryCredential,omitempty"`
20220}
20221
20222// CurrentUpgradeDomainProgressInfo information about the current in-progress upgrade domain.
20223type CurrentUpgradeDomainProgressInfo struct {
20224	// DomainName - The name of the upgrade domain
20225	DomainName *string `json:"DomainName,omitempty"`
20226	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
20227	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
20228}
20229
20230// DeactivationIntentDescription describes the intent or reason for deactivating the node.
20231type DeactivationIntentDescription struct {
20232	// DeactivationIntent - Describes the intent or reason for deactivating the node. The possible values are following. Possible values include: 'Pause', 'Restart', 'RemoveData'
20233	DeactivationIntent DeactivationIntent `json:"DeactivationIntent,omitempty"`
20234}
20235
20236// DeletePropertyBatchOperation represents a PropertyBatchOperation that deletes a specified property if it
20237// exists.
20238// Note that if one PropertyBatchOperation in a PropertyBatch fails,
20239// the entire batch fails and cannot be committed in a transactional manner.
20240type DeletePropertyBatchOperation struct {
20241	// PropertyName - The name of the Service Fabric property.
20242	PropertyName *string `json:"PropertyName,omitempty"`
20243	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
20244	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
20245}
20246
20247// MarshalJSON is the custom marshaler for DeletePropertyBatchOperation.
20248func (dpbo DeletePropertyBatchOperation) MarshalJSON() ([]byte, error) {
20249	dpbo.Kind = KindDelete
20250	objectMap := make(map[string]interface{})
20251	if dpbo.PropertyName != nil {
20252		objectMap["PropertyName"] = dpbo.PropertyName
20253	}
20254	if dpbo.Kind != "" {
20255		objectMap["Kind"] = dpbo.Kind
20256	}
20257	return json.Marshal(objectMap)
20258}
20259
20260// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20261func (dpbo DeletePropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
20262	return nil, false
20263}
20264
20265// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20266func (dpbo DeletePropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
20267	return nil, false
20268}
20269
20270// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20271func (dpbo DeletePropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
20272	return nil, false
20273}
20274
20275// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20276func (dpbo DeletePropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
20277	return &dpbo, true
20278}
20279
20280// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20281func (dpbo DeletePropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
20282	return nil, false
20283}
20284
20285// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20286func (dpbo DeletePropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
20287	return nil, false
20288}
20289
20290// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20291func (dpbo DeletePropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
20292	return nil, false
20293}
20294
20295// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for DeletePropertyBatchOperation.
20296func (dpbo DeletePropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
20297	return &dpbo, true
20298}
20299
20300// DeltaNodesCheckHealthEvaluation represents health evaluation for delta nodes, containing health
20301// evaluations for each unhealthy node that impacted current aggregated health state.
20302// Can be returned during cluster upgrade when the aggregated health state of the cluster is Warning or
20303// Error.
20304type DeltaNodesCheckHealthEvaluation struct {
20305	// BaselineErrorCount - Number of nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
20306	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
20307	// BaselineTotalCount - Total number of nodes in the health store at the beginning of the cluster upgrade.
20308	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
20309	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
20310	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
20311	// TotalCount - Total number of nodes in the health store.
20312	TotalCount *int64 `json:"TotalCount,omitempty"`
20313	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state.
20314	// Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
20315	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
20316	// 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'
20317	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20318	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
20319	Description *string `json:"Description,omitempty"`
20320	// 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'
20321	Kind Kind `json:"Kind,omitempty"`
20322}
20323
20324// MarshalJSON is the custom marshaler for DeltaNodesCheckHealthEvaluation.
20325func (dnche DeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
20326	dnche.Kind = KindDeltaNodesCheck
20327	objectMap := make(map[string]interface{})
20328	if dnche.BaselineErrorCount != nil {
20329		objectMap["BaselineErrorCount"] = dnche.BaselineErrorCount
20330	}
20331	if dnche.BaselineTotalCount != nil {
20332		objectMap["BaselineTotalCount"] = dnche.BaselineTotalCount
20333	}
20334	if dnche.MaxPercentDeltaUnhealthyNodes != nil {
20335		objectMap["MaxPercentDeltaUnhealthyNodes"] = dnche.MaxPercentDeltaUnhealthyNodes
20336	}
20337	if dnche.TotalCount != nil {
20338		objectMap["TotalCount"] = dnche.TotalCount
20339	}
20340	if dnche.UnhealthyEvaluations != nil {
20341		objectMap["UnhealthyEvaluations"] = dnche.UnhealthyEvaluations
20342	}
20343	if dnche.AggregatedHealthState != "" {
20344		objectMap["AggregatedHealthState"] = dnche.AggregatedHealthState
20345	}
20346	if dnche.Description != nil {
20347		objectMap["Description"] = dnche.Description
20348	}
20349	if dnche.Kind != "" {
20350		objectMap["Kind"] = dnche.Kind
20351	}
20352	return json.Marshal(objectMap)
20353}
20354
20355// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20356func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
20357	return nil, false
20358}
20359
20360// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20361func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
20362	return nil, false
20363}
20364
20365// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20366func (dnche DeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
20367	return nil, false
20368}
20369
20370// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20371func (dnche DeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
20372	return &dnche, true
20373}
20374
20375// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20376func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
20377	return nil, false
20378}
20379
20380// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20381func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
20382	return nil, false
20383}
20384
20385// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20386func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
20387	return nil, false
20388}
20389
20390// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20391func (dnche DeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
20392	return nil, false
20393}
20394
20395// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20396func (dnche DeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
20397	return nil, false
20398}
20399
20400// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20401func (dnche DeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
20402	return nil, false
20403}
20404
20405// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20406func (dnche DeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
20407	return nil, false
20408}
20409
20410// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20411func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
20412	return nil, false
20413}
20414
20415// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20416func (dnche DeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
20417	return nil, false
20418}
20419
20420// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20421func (dnche DeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
20422	return nil, false
20423}
20424
20425// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20426func (dnche DeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
20427	return nil, false
20428}
20429
20430// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20431func (dnche DeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
20432	return nil, false
20433}
20434
20435// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20436func (dnche DeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
20437	return nil, false
20438}
20439
20440// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20441func (dnche DeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
20442	return nil, false
20443}
20444
20445// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20446func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
20447	return nil, false
20448}
20449
20450// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20451func (dnche DeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
20452	return nil, false
20453}
20454
20455// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20456func (dnche DeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
20457	return nil, false
20458}
20459
20460// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeltaNodesCheckHealthEvaluation.
20461func (dnche DeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
20462	return &dnche, true
20463}
20464
20465// DeployedApplicationHealth information about the health of an application deployed on a Service Fabric
20466// node.
20467type DeployedApplicationHealth struct {
20468	autorest.Response `json:"-"`
20469	// Name - Name of the application deployed on the node whose health information is described by this object.
20470	Name *string `json:"Name,omitempty"`
20471	// NodeName - Name of the node where this application is deployed.
20472	NodeName *string `json:"NodeName,omitempty"`
20473	// DeployedServicePackageHealthStates - Deployed service package health states for the current deployed application as found in the health store.
20474	DeployedServicePackageHealthStates *[]DeployedServicePackageHealthState `json:"DeployedServicePackageHealthStates,omitempty"`
20475	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
20476	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
20477	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
20478	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20479	// HealthEvents - The list of health events reported on the entity.
20480	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
20481	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
20482	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
20483	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
20484	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
20485}
20486
20487// DeployedApplicationHealthEvaluation represents health evaluation for a deployed application, containing
20488// information about the data and the algorithm used by the health store to evaluate health.
20489type DeployedApplicationHealthEvaluation struct {
20490	// NodeName - Name of the node where the application is deployed to.
20491	NodeName *string `json:"NodeName,omitempty"`
20492	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
20493	ApplicationName *string `json:"ApplicationName,omitempty"`
20494	// UnhealthyEvaluations - List of  unhealthy evaluations that led to the current aggregated health state of the deployed application.
20495	// The types of the unhealthy evaluations can be DeployedServicePackagesHealthEvaluation or EventHealthEvaluation.
20496	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
20497	// 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'
20498	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
20499	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
20500	Description *string `json:"Description,omitempty"`
20501	// 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'
20502	Kind Kind `json:"Kind,omitempty"`
20503}
20504
20505// MarshalJSON is the custom marshaler for DeployedApplicationHealthEvaluation.
20506func (dahe DeployedApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
20507	dahe.Kind = KindDeployedApplication
20508	objectMap := make(map[string]interface{})
20509	if dahe.NodeName != nil {
20510		objectMap["NodeName"] = dahe.NodeName
20511	}
20512	if dahe.ApplicationName != nil {
20513		objectMap["ApplicationName"] = dahe.ApplicationName
20514	}
20515	if dahe.UnhealthyEvaluations != nil {
20516		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
20517	}
20518	if dahe.AggregatedHealthState != "" {
20519		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
20520	}
20521	if dahe.Description != nil {
20522		objectMap["Description"] = dahe.Description
20523	}
20524	if dahe.Kind != "" {
20525		objectMap["Kind"] = dahe.Kind
20526	}
20527	return json.Marshal(objectMap)
20528}
20529
20530// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20531func (dahe DeployedApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
20532	return nil, false
20533}
20534
20535// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20536func (dahe DeployedApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
20537	return nil, false
20538}
20539
20540// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20541func (dahe DeployedApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
20542	return nil, false
20543}
20544
20545// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20546func (dahe DeployedApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
20547	return nil, false
20548}
20549
20550// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20551func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
20552	return &dahe, true
20553}
20554
20555// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20556func (dahe DeployedApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
20557	return nil, false
20558}
20559
20560// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20561func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
20562	return nil, false
20563}
20564
20565// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20566func (dahe DeployedApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
20567	return nil, false
20568}
20569
20570// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20571func (dahe DeployedApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
20572	return nil, false
20573}
20574
20575// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20576func (dahe DeployedApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
20577	return nil, false
20578}
20579
20580// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20581func (dahe DeployedApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
20582	return nil, false
20583}
20584
20585// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20586func (dahe DeployedApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
20587	return nil, false
20588}
20589
20590// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20591func (dahe DeployedApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
20592	return nil, false
20593}
20594
20595// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20596func (dahe DeployedApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
20597	return nil, false
20598}
20599
20600// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20601func (dahe DeployedApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
20602	return nil, false
20603}
20604
20605// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20606func (dahe DeployedApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
20607	return nil, false
20608}
20609
20610// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20611func (dahe DeployedApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
20612	return nil, false
20613}
20614
20615// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20616func (dahe DeployedApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
20617	return nil, false
20618}
20619
20620// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20621func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
20622	return nil, false
20623}
20624
20625// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20626func (dahe DeployedApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
20627	return nil, false
20628}
20629
20630// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20631func (dahe DeployedApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
20632	return nil, false
20633}
20634
20635// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationHealthEvaluation.
20636func (dahe DeployedApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
20637	return &dahe, true
20638}
20639
20640// DeployedApplicationHealthReportCreatedEvent deployed Application Health Report Created event.
20641type DeployedApplicationHealthReportCreatedEvent struct {
20642	// ApplicationInstanceID - Id of Application instance.
20643	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
20644	// NodeName - The name of a Service Fabric node.
20645	NodeName *string `json:"NodeName,omitempty"`
20646	// SourceID - Id of report source.
20647	SourceID *string `json:"SourceId,omitempty"`
20648	// Property - Describes the property.
20649	Property *string `json:"Property,omitempty"`
20650	// HealthState - Describes the property health state.
20651	HealthState *string `json:"HealthState,omitempty"`
20652	// TimeToLiveMs - Time to live in milli-seconds.
20653	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
20654	// SequenceNumber - Sequence number of report.
20655	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
20656	// Description - Description of report.
20657	Description *string `json:"Description,omitempty"`
20658	// RemoveWhenExpired - Indicates the removal when it expires.
20659	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
20660	// SourceUtcTimestamp - Source time.
20661	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
20662	// 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.
20663	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
20664	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
20665	ApplicationID *string `json:"ApplicationId,omitempty"`
20666	// EventInstanceID - The identifier for the FabricEvent instance.
20667	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
20668	// TimeStamp - The time event was logged.
20669	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
20670	// HasCorrelatedEvents - Shows there is existing related events available.
20671	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
20672	// 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'
20673	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
20674}
20675
20676// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportCreatedEvent.
20677func (dahrce DeployedApplicationHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
20678	dahrce.Kind = KindDeployedApplicationHealthReportCreated
20679	objectMap := make(map[string]interface{})
20680	if dahrce.ApplicationInstanceID != nil {
20681		objectMap["ApplicationInstanceId"] = dahrce.ApplicationInstanceID
20682	}
20683	if dahrce.NodeName != nil {
20684		objectMap["NodeName"] = dahrce.NodeName
20685	}
20686	if dahrce.SourceID != nil {
20687		objectMap["SourceId"] = dahrce.SourceID
20688	}
20689	if dahrce.Property != nil {
20690		objectMap["Property"] = dahrce.Property
20691	}
20692	if dahrce.HealthState != nil {
20693		objectMap["HealthState"] = dahrce.HealthState
20694	}
20695	if dahrce.TimeToLiveMs != nil {
20696		objectMap["TimeToLiveMs"] = dahrce.TimeToLiveMs
20697	}
20698	if dahrce.SequenceNumber != nil {
20699		objectMap["SequenceNumber"] = dahrce.SequenceNumber
20700	}
20701	if dahrce.Description != nil {
20702		objectMap["Description"] = dahrce.Description
20703	}
20704	if dahrce.RemoveWhenExpired != nil {
20705		objectMap["RemoveWhenExpired"] = dahrce.RemoveWhenExpired
20706	}
20707	if dahrce.SourceUtcTimestamp != nil {
20708		objectMap["SourceUtcTimestamp"] = dahrce.SourceUtcTimestamp
20709	}
20710	if dahrce.ApplicationID != nil {
20711		objectMap["ApplicationId"] = dahrce.ApplicationID
20712	}
20713	if dahrce.EventInstanceID != nil {
20714		objectMap["EventInstanceId"] = dahrce.EventInstanceID
20715	}
20716	if dahrce.TimeStamp != nil {
20717		objectMap["TimeStamp"] = dahrce.TimeStamp
20718	}
20719	if dahrce.HasCorrelatedEvents != nil {
20720		objectMap["HasCorrelatedEvents"] = dahrce.HasCorrelatedEvents
20721	}
20722	if dahrce.Kind != "" {
20723		objectMap["Kind"] = dahrce.Kind
20724	}
20725	return json.Marshal(objectMap)
20726}
20727
20728// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20729func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
20730	return nil, false
20731}
20732
20733// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20734func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
20735	return &dahrce, true
20736}
20737
20738// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20739func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
20740	return nil, false
20741}
20742
20743// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20744func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
20745	return nil, false
20746}
20747
20748// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20749func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
20750	return nil, false
20751}
20752
20753// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20754func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
20755	return nil, false
20756}
20757
20758// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20759func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
20760	return nil, false
20761}
20762
20763// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20764func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
20765	return nil, false
20766}
20767
20768// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20769func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
20770	return nil, false
20771}
20772
20773// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20774func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
20775	return nil, false
20776}
20777
20778// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20779func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
20780	return nil, false
20781}
20782
20783// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20784func (dahrce DeployedApplicationHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
20785	return nil, false
20786}
20787
20788// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20789func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
20790	return nil, false
20791}
20792
20793// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20794func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
20795	return nil, false
20796}
20797
20798// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20799func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
20800	return nil, false
20801}
20802
20803// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20804func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
20805	return nil, false
20806}
20807
20808// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20809func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
20810	return nil, false
20811}
20812
20813// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20814func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
20815	return nil, false
20816}
20817
20818// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20819func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
20820	return nil, false
20821}
20822
20823// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20824func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
20825	return nil, false
20826}
20827
20828// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20829func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
20830	return nil, false
20831}
20832
20833// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20834func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
20835	return nil, false
20836}
20837
20838// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20839func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
20840	return nil, false
20841}
20842
20843// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20844func (dahrce DeployedApplicationHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
20845	return nil, false
20846}
20847
20848// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20849func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
20850	return &dahrce, true
20851}
20852
20853// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20854func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
20855	return nil, false
20856}
20857
20858// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20859func (dahrce DeployedApplicationHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
20860	return nil, false
20861}
20862
20863// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20864func (dahrce DeployedApplicationHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
20865	return nil, false
20866}
20867
20868// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20869func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
20870	return nil, false
20871}
20872
20873// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20874func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
20875	return nil, false
20876}
20877
20878// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20879func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
20880	return nil, false
20881}
20882
20883// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20884func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
20885	return nil, false
20886}
20887
20888// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20889func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
20890	return nil, false
20891}
20892
20893// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20894func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
20895	return nil, false
20896}
20897
20898// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20899func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
20900	return nil, false
20901}
20902
20903// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20904func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
20905	return nil, false
20906}
20907
20908// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20909func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
20910	return nil, false
20911}
20912
20913// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20914func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
20915	return nil, false
20916}
20917
20918// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20919func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
20920	return nil, false
20921}
20922
20923// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20924func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
20925	return nil, false
20926}
20927
20928// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20929func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
20930	return nil, false
20931}
20932
20933// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20934func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
20935	return nil, false
20936}
20937
20938// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20939func (dahrce DeployedApplicationHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
20940	return nil, false
20941}
20942
20943// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20944func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
20945	return nil, false
20946}
20947
20948// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20949func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
20950	return nil, false
20951}
20952
20953// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20954func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
20955	return nil, false
20956}
20957
20958// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20959func (dahrce DeployedApplicationHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
20960	return nil, false
20961}
20962
20963// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20964func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
20965	return nil, false
20966}
20967
20968// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20969func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
20970	return nil, false
20971}
20972
20973// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20974func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
20975	return nil, false
20976}
20977
20978// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20979func (dahrce DeployedApplicationHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
20980	return nil, false
20981}
20982
20983// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20984func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
20985	return nil, false
20986}
20987
20988// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20989func (dahrce DeployedApplicationHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
20990	return nil, false
20991}
20992
20993// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20994func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
20995	return nil, false
20996}
20997
20998// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
20999func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
21000	return nil, false
21001}
21002
21003// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21004func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
21005	return nil, false
21006}
21007
21008// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21009func (dahrce DeployedApplicationHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
21010	return nil, false
21011}
21012
21013// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21014func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
21015	return nil, false
21016}
21017
21018// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21019func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
21020	return nil, false
21021}
21022
21023// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21024func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
21025	return nil, false
21026}
21027
21028// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21029func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
21030	return nil, false
21031}
21032
21033// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21034func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
21035	return nil, false
21036}
21037
21038// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21039func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
21040	return nil, false
21041}
21042
21043// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21044func (dahrce DeployedApplicationHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
21045	return nil, false
21046}
21047
21048// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21049func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
21050	return nil, false
21051}
21052
21053// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21054func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
21055	return nil, false
21056}
21057
21058// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21059func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
21060	return nil, false
21061}
21062
21063// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21064func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
21065	return nil, false
21066}
21067
21068// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21069func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
21070	return nil, false
21071}
21072
21073// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21074func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
21075	return nil, false
21076}
21077
21078// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21079func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
21080	return nil, false
21081}
21082
21083// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21084func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
21085	return nil, false
21086}
21087
21088// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21089func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
21090	return nil, false
21091}
21092
21093// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21094func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
21095	return nil, false
21096}
21097
21098// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21099func (dahrce DeployedApplicationHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
21100	return nil, false
21101}
21102
21103// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21104func (dahrce DeployedApplicationHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
21105	return nil, false
21106}
21107
21108// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportCreatedEvent.
21109func (dahrce DeployedApplicationHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
21110	return &dahrce, true
21111}
21112
21113// DeployedApplicationHealthReportExpiredEvent deployed Application Health Report Expired event.
21114type DeployedApplicationHealthReportExpiredEvent struct {
21115	// ApplicationInstanceID - Id of Application instance.
21116	ApplicationInstanceID *int64 `json:"ApplicationInstanceId,omitempty"`
21117	// NodeName - The name of a Service Fabric node.
21118	NodeName *string `json:"NodeName,omitempty"`
21119	// SourceID - Id of report source.
21120	SourceID *string `json:"SourceId,omitempty"`
21121	// Property - Describes the property.
21122	Property *string `json:"Property,omitempty"`
21123	// HealthState - Describes the property health state.
21124	HealthState *string `json:"HealthState,omitempty"`
21125	// TimeToLiveMs - Time to live in milli-seconds.
21126	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
21127	// SequenceNumber - Sequence number of report.
21128	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
21129	// Description - Description of report.
21130	Description *string `json:"Description,omitempty"`
21131	// RemoveWhenExpired - Indicates the removal when it expires.
21132	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
21133	// SourceUtcTimestamp - Source time.
21134	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
21135	// 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.
21136	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
21137	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
21138	ApplicationID *string `json:"ApplicationId,omitempty"`
21139	// EventInstanceID - The identifier for the FabricEvent instance.
21140	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
21141	// TimeStamp - The time event was logged.
21142	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
21143	// HasCorrelatedEvents - Shows there is existing related events available.
21144	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
21145	// 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'
21146	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
21147}
21148
21149// MarshalJSON is the custom marshaler for DeployedApplicationHealthReportExpiredEvent.
21150func (dahree DeployedApplicationHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
21151	dahree.Kind = KindDeployedApplicationHealthReportExpired
21152	objectMap := make(map[string]interface{})
21153	if dahree.ApplicationInstanceID != nil {
21154		objectMap["ApplicationInstanceId"] = dahree.ApplicationInstanceID
21155	}
21156	if dahree.NodeName != nil {
21157		objectMap["NodeName"] = dahree.NodeName
21158	}
21159	if dahree.SourceID != nil {
21160		objectMap["SourceId"] = dahree.SourceID
21161	}
21162	if dahree.Property != nil {
21163		objectMap["Property"] = dahree.Property
21164	}
21165	if dahree.HealthState != nil {
21166		objectMap["HealthState"] = dahree.HealthState
21167	}
21168	if dahree.TimeToLiveMs != nil {
21169		objectMap["TimeToLiveMs"] = dahree.TimeToLiveMs
21170	}
21171	if dahree.SequenceNumber != nil {
21172		objectMap["SequenceNumber"] = dahree.SequenceNumber
21173	}
21174	if dahree.Description != nil {
21175		objectMap["Description"] = dahree.Description
21176	}
21177	if dahree.RemoveWhenExpired != nil {
21178		objectMap["RemoveWhenExpired"] = dahree.RemoveWhenExpired
21179	}
21180	if dahree.SourceUtcTimestamp != nil {
21181		objectMap["SourceUtcTimestamp"] = dahree.SourceUtcTimestamp
21182	}
21183	if dahree.ApplicationID != nil {
21184		objectMap["ApplicationId"] = dahree.ApplicationID
21185	}
21186	if dahree.EventInstanceID != nil {
21187		objectMap["EventInstanceId"] = dahree.EventInstanceID
21188	}
21189	if dahree.TimeStamp != nil {
21190		objectMap["TimeStamp"] = dahree.TimeStamp
21191	}
21192	if dahree.HasCorrelatedEvents != nil {
21193		objectMap["HasCorrelatedEvents"] = dahree.HasCorrelatedEvents
21194	}
21195	if dahree.Kind != "" {
21196		objectMap["Kind"] = dahree.Kind
21197	}
21198	return json.Marshal(objectMap)
21199}
21200
21201// AsApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21202func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
21203	return nil, false
21204}
21205
21206// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21207func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
21208	return &dahree, true
21209}
21210
21211// AsClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21212func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
21213	return nil, false
21214}
21215
21216// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21217func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
21218	return nil, false
21219}
21220
21221// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21222func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
21223	return nil, false
21224}
21225
21226// AsNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21227func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
21228	return nil, false
21229}
21230
21231// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21232func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
21233	return nil, false
21234}
21235
21236// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21237func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
21238	return nil, false
21239}
21240
21241// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21242func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
21243	return nil, false
21244}
21245
21246// AsPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21247func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
21248	return nil, false
21249}
21250
21251// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21252func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
21253	return nil, false
21254}
21255
21256// AsReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21257func (dahree DeployedApplicationHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
21258	return nil, false
21259}
21260
21261// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21262func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
21263	return nil, false
21264}
21265
21266// AsServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21267func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
21268	return nil, false
21269}
21270
21271// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21272func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
21273	return nil, false
21274}
21275
21276// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21277func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
21278	return nil, false
21279}
21280
21281// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21282func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
21283	return nil, false
21284}
21285
21286// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21287func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
21288	return nil, false
21289}
21290
21291// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21292func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
21293	return nil, false
21294}
21295
21296// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21297func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
21298	return nil, false
21299}
21300
21301// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21302func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
21303	return nil, false
21304}
21305
21306// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21307func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
21308	return nil, false
21309}
21310
21311// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21312func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
21313	return nil, false
21314}
21315
21316// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21317func (dahree DeployedApplicationHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
21318	return nil, false
21319}
21320
21321// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21322func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
21323	return nil, false
21324}
21325
21326// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21327func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
21328	return &dahree, true
21329}
21330
21331// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21332func (dahree DeployedApplicationHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
21333	return nil, false
21334}
21335
21336// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21337func (dahree DeployedApplicationHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
21338	return nil, false
21339}
21340
21341// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21342func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
21343	return nil, false
21344}
21345
21346// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21347func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
21348	return nil, false
21349}
21350
21351// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21352func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
21353	return nil, false
21354}
21355
21356// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21357func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
21358	return nil, false
21359}
21360
21361// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21362func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
21363	return nil, false
21364}
21365
21366// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21367func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
21368	return nil, false
21369}
21370
21371// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21372func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
21373	return nil, false
21374}
21375
21376// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21377func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
21378	return nil, false
21379}
21380
21381// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21382func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
21383	return nil, false
21384}
21385
21386// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21387func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
21388	return nil, false
21389}
21390
21391// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21392func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
21393	return nil, false
21394}
21395
21396// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21397func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
21398	return nil, false
21399}
21400
21401// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21402func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
21403	return nil, false
21404}
21405
21406// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21407func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
21408	return nil, false
21409}
21410
21411// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21412func (dahree DeployedApplicationHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
21413	return nil, false
21414}
21415
21416// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21417func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
21418	return nil, false
21419}
21420
21421// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21422func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
21423	return nil, false
21424}
21425
21426// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21427func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
21428	return nil, false
21429}
21430
21431// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21432func (dahree DeployedApplicationHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
21433	return nil, false
21434}
21435
21436// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21437func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
21438	return nil, false
21439}
21440
21441// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21442func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
21443	return nil, false
21444}
21445
21446// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21447func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
21448	return nil, false
21449}
21450
21451// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21452func (dahree DeployedApplicationHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
21453	return nil, false
21454}
21455
21456// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21457func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
21458	return nil, false
21459}
21460
21461// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21462func (dahree DeployedApplicationHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
21463	return nil, false
21464}
21465
21466// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21467func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
21468	return nil, false
21469}
21470
21471// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21472func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
21473	return nil, false
21474}
21475
21476// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21477func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
21478	return nil, false
21479}
21480
21481// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21482func (dahree DeployedApplicationHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
21483	return nil, false
21484}
21485
21486// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21487func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
21488	return nil, false
21489}
21490
21491// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21492func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
21493	return nil, false
21494}
21495
21496// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21497func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
21498	return nil, false
21499}
21500
21501// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21502func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
21503	return nil, false
21504}
21505
21506// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21507func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
21508	return nil, false
21509}
21510
21511// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21512func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
21513	return nil, false
21514}
21515
21516// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21517func (dahree DeployedApplicationHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
21518	return nil, false
21519}
21520
21521// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21522func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
21523	return nil, false
21524}
21525
21526// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21527func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
21528	return nil, false
21529}
21530
21531// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21532func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
21533	return nil, false
21534}
21535
21536// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21537func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
21538	return nil, false
21539}
21540
21541// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21542func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
21543	return nil, false
21544}
21545
21546// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21547func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
21548	return nil, false
21549}
21550
21551// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21552func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
21553	return nil, false
21554}
21555
21556// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21557func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
21558	return nil, false
21559}
21560
21561// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21562func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
21563	return nil, false
21564}
21565
21566// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21567func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
21568	return nil, false
21569}
21570
21571// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21572func (dahree DeployedApplicationHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
21573	return nil, false
21574}
21575
21576// AsFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21577func (dahree DeployedApplicationHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
21578	return nil, false
21579}
21580
21581// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedApplicationHealthReportExpiredEvent.
21582func (dahree DeployedApplicationHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
21583	return &dahree, true
21584}
21585
21586// DeployedApplicationHealthState represents the health state of a deployed application, which contains the
21587// entity identifier and the aggregated health state.
21588type DeployedApplicationHealthState struct {
21589	// NodeName - Name of the node on which the service package is deployed.
21590	NodeName *string `json:"NodeName,omitempty"`
21591	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
21592	ApplicationName *string `json:"ApplicationName,omitempty"`
21593	// 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'
21594	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
21595}
21596
21597// DeployedApplicationHealthStateChunk represents the health state chunk of a deployed application, which
21598// contains the node where the application is deployed, the aggregated health state and any deployed
21599// service packages that respect the chunk query description filters.
21600type DeployedApplicationHealthStateChunk struct {
21601	// NodeName - The name of node where the application is deployed.
21602	NodeName *string `json:"NodeName,omitempty"`
21603	// 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.
21604	DeployedServicePackageHealthStateChunks *DeployedServicePackageHealthStateChunkList `json:"DeployedServicePackageHealthStateChunks,omitempty"`
21605	// 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'
21606	HealthState HealthState `json:"HealthState,omitempty"`
21607}
21608
21609// DeployedApplicationHealthStateChunkList the list of deployed application health state chunks that
21610// respect the input filters in the chunk query. Returned by get cluster health state chunks query.
21611type DeployedApplicationHealthStateChunkList struct {
21612	// Items - The list of deployed application health state chunks that respect the input filters in the chunk query.
21613	Items *[]DeployedApplicationHealthStateChunk `json:"Items,omitempty"`
21614}
21615
21616// DeployedApplicationHealthStateFilter defines matching criteria to determine whether a deployed
21617// application should be included as a child of an application in the cluster health chunk.
21618// The deployed applications are only returned if the parent application matches a filter specified in the
21619// cluster health chunk query description.
21620// One filter can match zero, one or multiple deployed applications, depending on its properties.
21621type DeployedApplicationHealthStateFilter struct {
21622	// NodeNameFilter - The name of the node where the application is deployed in order to match the filter.
21623	// If specified, the filter is applied only to the application deployed on the specified node.
21624	// 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.
21625	// Otherwise, the deployed application is included in the cluster health chunk if it respects the other filter properties.
21626	// 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.
21627	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
21628	// HealthStateFilter - The filter for the health state of the deployed applications. It allows selecting deployed applications if they match the desired health states.
21629	// 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.
21630	// 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.
21631	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
21632	// For example, if the provided value is 6, it matches deployed applications with HealthState value of OK (2) and Warning (4).
21633	// - Default - Default value. Matches any HealthState. The value is zero.
21634	// - 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.
21635	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
21636	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
21637	// - Error - Filter that matches input with HealthState value Error. The value is 8.
21638	// - All - Filter that matches input with any HealthState value. The value is 65535.
21639	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
21640	// 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.
21641	// 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.
21642	// The deployed application filter may specify multiple deployed service package filters.
21643	// 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.
21644	DeployedServicePackageFilters *[]DeployedServicePackageHealthStateFilter `json:"DeployedServicePackageFilters,omitempty"`
21645}
21646
21647// DeployedApplicationInfo information about application deployed on the node.
21648type DeployedApplicationInfo struct {
21649	autorest.Response `json:"-"`
21650	// 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.
21651	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
21652	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
21653	ID *string `json:"Id,omitempty"`
21654	// Name - The name of the application, including the 'fabric:' URI scheme.
21655	Name *string `json:"Name,omitempty"`
21656	// TypeName - The application type name as defined in the application manifest.
21657	TypeName *string `json:"TypeName,omitempty"`
21658	// Status - The status of the application deployed on the node. Following are the possible values. Possible values include: 'DeployedApplicationStatusInvalid', 'DeployedApplicationStatusDownloading', 'DeployedApplicationStatusActivating', 'DeployedApplicationStatusActive', 'DeployedApplicationStatusUpgrading', 'DeployedApplicationStatusDeactivating'
21659	Status DeployedApplicationStatus `json:"Status,omitempty"`
21660	// WorkDirectory - The work directory of the application on the node. The work directory can be used to store application data.
21661	WorkDirectory *string `json:"WorkDirectory,omitempty"`
21662	// LogDirectory - The log directory of the application on the node. The log directory can be used to store application logs.
21663	LogDirectory *string `json:"LogDirectory,omitempty"`
21664	// 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.
21665	TempDirectory *string `json:"TempDirectory,omitempty"`
21666	// 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'
21667	HealthState HealthState `json:"HealthState,omitempty"`
21668}
21669
21670// DeployedApplicationsHealthEvaluation represents health evaluation for deployed applications, containing
21671// health evaluations for each unhealthy deployed application that impacted current aggregated health
21672// state.
21673// Can be returned when evaluating application health and the aggregated health state is either Error or
21674// Warning.
21675type DeployedApplicationsHealthEvaluation struct {
21676	// MaxPercentUnhealthyDeployedApplications - Maximum allowed percentage of unhealthy deployed applications from the ApplicationHealthPolicy.
21677	MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"`
21678	// TotalCount - Total number of deployed applications of the application in the health store.
21679	TotalCount *int64 `json:"TotalCount,omitempty"`
21680	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedApplicationHealthEvaluation that impacted the aggregated health.
21681	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
21682	// 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'
21683	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
21684	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
21685	Description *string `json:"Description,omitempty"`
21686	// 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'
21687	Kind Kind `json:"Kind,omitempty"`
21688}
21689
21690// MarshalJSON is the custom marshaler for DeployedApplicationsHealthEvaluation.
21691func (dahe DeployedApplicationsHealthEvaluation) MarshalJSON() ([]byte, error) {
21692	dahe.Kind = KindDeployedApplications
21693	objectMap := make(map[string]interface{})
21694	if dahe.MaxPercentUnhealthyDeployedApplications != nil {
21695		objectMap["MaxPercentUnhealthyDeployedApplications"] = dahe.MaxPercentUnhealthyDeployedApplications
21696	}
21697	if dahe.TotalCount != nil {
21698		objectMap["TotalCount"] = dahe.TotalCount
21699	}
21700	if dahe.UnhealthyEvaluations != nil {
21701		objectMap["UnhealthyEvaluations"] = dahe.UnhealthyEvaluations
21702	}
21703	if dahe.AggregatedHealthState != "" {
21704		objectMap["AggregatedHealthState"] = dahe.AggregatedHealthState
21705	}
21706	if dahe.Description != nil {
21707		objectMap["Description"] = dahe.Description
21708	}
21709	if dahe.Kind != "" {
21710		objectMap["Kind"] = dahe.Kind
21711	}
21712	return json.Marshal(objectMap)
21713}
21714
21715// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21716func (dahe DeployedApplicationsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
21717	return nil, false
21718}
21719
21720// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21721func (dahe DeployedApplicationsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
21722	return nil, false
21723}
21724
21725// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21726func (dahe DeployedApplicationsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
21727	return nil, false
21728}
21729
21730// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21731func (dahe DeployedApplicationsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
21732	return nil, false
21733}
21734
21735// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21736func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
21737	return nil, false
21738}
21739
21740// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21741func (dahe DeployedApplicationsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
21742	return &dahe, true
21743}
21744
21745// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21746func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
21747	return nil, false
21748}
21749
21750// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21751func (dahe DeployedApplicationsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
21752	return nil, false
21753}
21754
21755// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21756func (dahe DeployedApplicationsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
21757	return nil, false
21758}
21759
21760// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21761func (dahe DeployedApplicationsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
21762	return nil, false
21763}
21764
21765// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21766func (dahe DeployedApplicationsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
21767	return nil, false
21768}
21769
21770// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21771func (dahe DeployedApplicationsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
21772	return nil, false
21773}
21774
21775// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21776func (dahe DeployedApplicationsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
21777	return nil, false
21778}
21779
21780// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21781func (dahe DeployedApplicationsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
21782	return nil, false
21783}
21784
21785// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21786func (dahe DeployedApplicationsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
21787	return nil, false
21788}
21789
21790// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21791func (dahe DeployedApplicationsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
21792	return nil, false
21793}
21794
21795// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21796func (dahe DeployedApplicationsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
21797	return nil, false
21798}
21799
21800// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21801func (dahe DeployedApplicationsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
21802	return nil, false
21803}
21804
21805// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21806func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
21807	return nil, false
21808}
21809
21810// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21811func (dahe DeployedApplicationsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
21812	return nil, false
21813}
21814
21815// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21816func (dahe DeployedApplicationsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
21817	return nil, false
21818}
21819
21820// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedApplicationsHealthEvaluation.
21821func (dahe DeployedApplicationsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
21822	return &dahe, true
21823}
21824
21825// DeployedCodePackageInfo information about code package deployed on a Service Fabric node.
21826type DeployedCodePackageInfo struct {
21827	// Name - The name of the code package.
21828	Name *string `json:"Name,omitempty"`
21829	// Version - The version of the code package specified in service manifest.
21830	Version *string `json:"Version,omitempty"`
21831	// ServiceManifestName - The name of service manifest that specified this code package.
21832	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
21833	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
21834	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
21835	// is always an empty string.
21836	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
21837	// 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'
21838	HostType HostType `json:"HostType,omitempty"`
21839	// 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'
21840	HostIsolationMode HostIsolationMode `json:"HostIsolationMode,omitempty"`
21841	// 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'
21842	Status DeploymentStatus `json:"Status,omitempty"`
21843	// RunFrequencyInterval - The interval at which code package is run. This is used for periodic code package.
21844	RunFrequencyInterval *string `json:"RunFrequencyInterval,omitempty"`
21845	// SetupEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
21846	SetupEntryPoint *CodePackageEntryPoint `json:"SetupEntryPoint,omitempty"`
21847	// MainEntryPoint - Information about setup or main entry point of a code package deployed on a Service Fabric node.
21848	MainEntryPoint *CodePackageEntryPoint `json:"MainEntryPoint,omitempty"`
21849}
21850
21851// DeployedServiceHealthReportCreatedEvent deployed Service Health Report Created event.
21852type DeployedServiceHealthReportCreatedEvent struct {
21853	// ServiceManifestName - Service manifest name.
21854	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
21855	// ServicePackageInstanceID - Id of Service package instance.
21856	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
21857	// ServicePackageActivationID - Id of Service package activation.
21858	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
21859	// NodeName - The name of a Service Fabric node.
21860	NodeName *string `json:"NodeName,omitempty"`
21861	// SourceID - Id of report source.
21862	SourceID *string `json:"SourceId,omitempty"`
21863	// Property - Describes the property.
21864	Property *string `json:"Property,omitempty"`
21865	// HealthState - Describes the property health state.
21866	HealthState *string `json:"HealthState,omitempty"`
21867	// TTLTimespan - Time to live in milli-seconds.
21868	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
21869	// SequenceNumber - Sequence number of report.
21870	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
21871	// Description - Description of report.
21872	Description *string `json:"Description,omitempty"`
21873	// RemoveWhenExpired - Indicates the removal when it expires.
21874	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
21875	// SourceUtcTimestamp - Source time.
21876	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
21877	// 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.
21878	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
21879	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
21880	ApplicationID *string `json:"ApplicationId,omitempty"`
21881	// EventInstanceID - The identifier for the FabricEvent instance.
21882	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
21883	// TimeStamp - The time event was logged.
21884	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
21885	// HasCorrelatedEvents - Shows there is existing related events available.
21886	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
21887	// 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'
21888	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
21889}
21890
21891// MarshalJSON is the custom marshaler for DeployedServiceHealthReportCreatedEvent.
21892func (dshrce DeployedServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
21893	dshrce.Kind = KindDeployedServiceHealthReportCreated
21894	objectMap := make(map[string]interface{})
21895	if dshrce.ServiceManifestName != nil {
21896		objectMap["ServiceManifestName"] = dshrce.ServiceManifestName
21897	}
21898	if dshrce.ServicePackageInstanceID != nil {
21899		objectMap["ServicePackageInstanceId"] = dshrce.ServicePackageInstanceID
21900	}
21901	if dshrce.ServicePackageActivationID != nil {
21902		objectMap["ServicePackageActivationId"] = dshrce.ServicePackageActivationID
21903	}
21904	if dshrce.NodeName != nil {
21905		objectMap["NodeName"] = dshrce.NodeName
21906	}
21907	if dshrce.SourceID != nil {
21908		objectMap["SourceId"] = dshrce.SourceID
21909	}
21910	if dshrce.Property != nil {
21911		objectMap["Property"] = dshrce.Property
21912	}
21913	if dshrce.HealthState != nil {
21914		objectMap["HealthState"] = dshrce.HealthState
21915	}
21916	if dshrce.TTLTimespan != nil {
21917		objectMap["TTLTimespan"] = dshrce.TTLTimespan
21918	}
21919	if dshrce.SequenceNumber != nil {
21920		objectMap["SequenceNumber"] = dshrce.SequenceNumber
21921	}
21922	if dshrce.Description != nil {
21923		objectMap["Description"] = dshrce.Description
21924	}
21925	if dshrce.RemoveWhenExpired != nil {
21926		objectMap["RemoveWhenExpired"] = dshrce.RemoveWhenExpired
21927	}
21928	if dshrce.SourceUtcTimestamp != nil {
21929		objectMap["SourceUtcTimestamp"] = dshrce.SourceUtcTimestamp
21930	}
21931	if dshrce.ApplicationID != nil {
21932		objectMap["ApplicationId"] = dshrce.ApplicationID
21933	}
21934	if dshrce.EventInstanceID != nil {
21935		objectMap["EventInstanceId"] = dshrce.EventInstanceID
21936	}
21937	if dshrce.TimeStamp != nil {
21938		objectMap["TimeStamp"] = dshrce.TimeStamp
21939	}
21940	if dshrce.HasCorrelatedEvents != nil {
21941		objectMap["HasCorrelatedEvents"] = dshrce.HasCorrelatedEvents
21942	}
21943	if dshrce.Kind != "" {
21944		objectMap["Kind"] = dshrce.Kind
21945	}
21946	return json.Marshal(objectMap)
21947}
21948
21949// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21950func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
21951	return nil, false
21952}
21953
21954// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21955func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
21956	return &dshrce, true
21957}
21958
21959// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21960func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
21961	return nil, false
21962}
21963
21964// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21965func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
21966	return nil, false
21967}
21968
21969// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21970func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
21971	return nil, false
21972}
21973
21974// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21975func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
21976	return nil, false
21977}
21978
21979// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21980func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
21981	return nil, false
21982}
21983
21984// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21985func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
21986	return nil, false
21987}
21988
21989// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21990func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
21991	return nil, false
21992}
21993
21994// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
21995func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
21996	return nil, false
21997}
21998
21999// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22000func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
22001	return nil, false
22002}
22003
22004// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22005func (dshrce DeployedServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
22006	return nil, false
22007}
22008
22009// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22010func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
22011	return nil, false
22012}
22013
22014// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22015func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
22016	return nil, false
22017}
22018
22019// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22020func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
22021	return nil, false
22022}
22023
22024// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22025func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
22026	return nil, false
22027}
22028
22029// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22030func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
22031	return nil, false
22032}
22033
22034// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22035func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
22036	return nil, false
22037}
22038
22039// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22040func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
22041	return nil, false
22042}
22043
22044// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22045func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
22046	return nil, false
22047}
22048
22049// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22050func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
22051	return nil, false
22052}
22053
22054// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22055func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
22056	return nil, false
22057}
22058
22059// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22060func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
22061	return nil, false
22062}
22063
22064// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22065func (dshrce DeployedServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
22066	return nil, false
22067}
22068
22069// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22070func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
22071	return nil, false
22072}
22073
22074// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22075func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
22076	return nil, false
22077}
22078
22079// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22080func (dshrce DeployedServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
22081	return nil, false
22082}
22083
22084// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22085func (dshrce DeployedServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
22086	return nil, false
22087}
22088
22089// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22090func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
22091	return nil, false
22092}
22093
22094// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22095func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
22096	return nil, false
22097}
22098
22099// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22100func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
22101	return nil, false
22102}
22103
22104// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22105func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
22106	return nil, false
22107}
22108
22109// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22110func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
22111	return nil, false
22112}
22113
22114// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22115func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
22116	return nil, false
22117}
22118
22119// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22120func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
22121	return nil, false
22122}
22123
22124// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22125func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
22126	return nil, false
22127}
22128
22129// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22130func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
22131	return nil, false
22132}
22133
22134// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22135func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
22136	return nil, false
22137}
22138
22139// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22140func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
22141	return nil, false
22142}
22143
22144// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22145func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
22146	return nil, false
22147}
22148
22149// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22150func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
22151	return nil, false
22152}
22153
22154// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22155func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
22156	return nil, false
22157}
22158
22159// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22160func (dshrce DeployedServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
22161	return nil, false
22162}
22163
22164// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22165func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
22166	return nil, false
22167}
22168
22169// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22170func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
22171	return nil, false
22172}
22173
22174// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22175func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
22176	return nil, false
22177}
22178
22179// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22180func (dshrce DeployedServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
22181	return nil, false
22182}
22183
22184// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22185func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
22186	return nil, false
22187}
22188
22189// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22190func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
22191	return nil, false
22192}
22193
22194// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22195func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
22196	return nil, false
22197}
22198
22199// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22200func (dshrce DeployedServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
22201	return nil, false
22202}
22203
22204// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22205func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
22206	return &dshrce, true
22207}
22208
22209// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22210func (dshrce DeployedServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
22211	return nil, false
22212}
22213
22214// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22215func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
22216	return nil, false
22217}
22218
22219// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22220func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
22221	return nil, false
22222}
22223
22224// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22225func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
22226	return nil, false
22227}
22228
22229// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22230func (dshrce DeployedServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
22231	return nil, false
22232}
22233
22234// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22235func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
22236	return nil, false
22237}
22238
22239// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22240func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
22241	return nil, false
22242}
22243
22244// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22245func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
22246	return nil, false
22247}
22248
22249// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22250func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
22251	return nil, false
22252}
22253
22254// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22255func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
22256	return nil, false
22257}
22258
22259// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22260func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
22261	return nil, false
22262}
22263
22264// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22265func (dshrce DeployedServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
22266	return nil, false
22267}
22268
22269// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22270func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
22271	return nil, false
22272}
22273
22274// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22275func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
22276	return nil, false
22277}
22278
22279// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22280func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
22281	return nil, false
22282}
22283
22284// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22285func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
22286	return nil, false
22287}
22288
22289// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22290func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
22291	return nil, false
22292}
22293
22294// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22295func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
22296	return nil, false
22297}
22298
22299// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22300func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
22301	return nil, false
22302}
22303
22304// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22305func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
22306	return nil, false
22307}
22308
22309// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22310func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
22311	return nil, false
22312}
22313
22314// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22315func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
22316	return nil, false
22317}
22318
22319// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22320func (dshrce DeployedServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
22321	return nil, false
22322}
22323
22324// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22325func (dshrce DeployedServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
22326	return nil, false
22327}
22328
22329// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportCreatedEvent.
22330func (dshrce DeployedServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
22331	return &dshrce, true
22332}
22333
22334// DeployedServiceHealthReportExpiredEvent deployed Service Health Report Expired event.
22335type DeployedServiceHealthReportExpiredEvent struct {
22336	// ServiceManifest - Service manifest name.
22337	ServiceManifest *string `json:"ServiceManifest,omitempty"`
22338	// ServicePackageInstanceID - Id of Service package instance.
22339	ServicePackageInstanceID *int64 `json:"ServicePackageInstanceId,omitempty"`
22340	// ServicePackageActivationID - Id of Service package activation.
22341	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
22342	// NodeName - The name of a Service Fabric node.
22343	NodeName *string `json:"NodeName,omitempty"`
22344	// SourceID - Id of report source.
22345	SourceID *string `json:"SourceId,omitempty"`
22346	// Property - Describes the property.
22347	Property *string `json:"Property,omitempty"`
22348	// HealthState - Describes the property health state.
22349	HealthState *string `json:"HealthState,omitempty"`
22350	// TTLTimespan - Time to live in milli-seconds.
22351	TTLTimespan *int64 `json:"TTLTimespan,omitempty"`
22352	// SequenceNumber - Sequence number of report.
22353	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
22354	// Description - Description of report.
22355	Description *string `json:"Description,omitempty"`
22356	// RemoveWhenExpired - Indicates the removal when it expires.
22357	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
22358	// SourceUtcTimestamp - Source time.
22359	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
22360	// 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.
22361	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
22362	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
22363	ApplicationID *string `json:"ApplicationId,omitempty"`
22364	// EventInstanceID - The identifier for the FabricEvent instance.
22365	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
22366	// TimeStamp - The time event was logged.
22367	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
22368	// HasCorrelatedEvents - Shows there is existing related events available.
22369	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
22370	// 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'
22371	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
22372}
22373
22374// MarshalJSON is the custom marshaler for DeployedServiceHealthReportExpiredEvent.
22375func (dshree DeployedServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
22376	dshree.Kind = KindDeployedServiceHealthReportExpired
22377	objectMap := make(map[string]interface{})
22378	if dshree.ServiceManifest != nil {
22379		objectMap["ServiceManifest"] = dshree.ServiceManifest
22380	}
22381	if dshree.ServicePackageInstanceID != nil {
22382		objectMap["ServicePackageInstanceId"] = dshree.ServicePackageInstanceID
22383	}
22384	if dshree.ServicePackageActivationID != nil {
22385		objectMap["ServicePackageActivationId"] = dshree.ServicePackageActivationID
22386	}
22387	if dshree.NodeName != nil {
22388		objectMap["NodeName"] = dshree.NodeName
22389	}
22390	if dshree.SourceID != nil {
22391		objectMap["SourceId"] = dshree.SourceID
22392	}
22393	if dshree.Property != nil {
22394		objectMap["Property"] = dshree.Property
22395	}
22396	if dshree.HealthState != nil {
22397		objectMap["HealthState"] = dshree.HealthState
22398	}
22399	if dshree.TTLTimespan != nil {
22400		objectMap["TTLTimespan"] = dshree.TTLTimespan
22401	}
22402	if dshree.SequenceNumber != nil {
22403		objectMap["SequenceNumber"] = dshree.SequenceNumber
22404	}
22405	if dshree.Description != nil {
22406		objectMap["Description"] = dshree.Description
22407	}
22408	if dshree.RemoveWhenExpired != nil {
22409		objectMap["RemoveWhenExpired"] = dshree.RemoveWhenExpired
22410	}
22411	if dshree.SourceUtcTimestamp != nil {
22412		objectMap["SourceUtcTimestamp"] = dshree.SourceUtcTimestamp
22413	}
22414	if dshree.ApplicationID != nil {
22415		objectMap["ApplicationId"] = dshree.ApplicationID
22416	}
22417	if dshree.EventInstanceID != nil {
22418		objectMap["EventInstanceId"] = dshree.EventInstanceID
22419	}
22420	if dshree.TimeStamp != nil {
22421		objectMap["TimeStamp"] = dshree.TimeStamp
22422	}
22423	if dshree.HasCorrelatedEvents != nil {
22424		objectMap["HasCorrelatedEvents"] = dshree.HasCorrelatedEvents
22425	}
22426	if dshree.Kind != "" {
22427		objectMap["Kind"] = dshree.Kind
22428	}
22429	return json.Marshal(objectMap)
22430}
22431
22432// AsApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22433func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
22434	return nil, false
22435}
22436
22437// AsBasicApplicationEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22438func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
22439	return &dshree, true
22440}
22441
22442// AsClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22443func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
22444	return nil, false
22445}
22446
22447// AsBasicClusterEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22448func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
22449	return nil, false
22450}
22451
22452// AsContainerInstanceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22453func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
22454	return nil, false
22455}
22456
22457// AsNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22458func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
22459	return nil, false
22460}
22461
22462// AsBasicNodeEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22463func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
22464	return nil, false
22465}
22466
22467// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22468func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
22469	return nil, false
22470}
22471
22472// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22473func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
22474	return nil, false
22475}
22476
22477// AsPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22478func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
22479	return nil, false
22480}
22481
22482// AsBasicPartitionEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22483func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
22484	return nil, false
22485}
22486
22487// AsReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22488func (dshree DeployedServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
22489	return nil, false
22490}
22491
22492// AsBasicReplicaEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22493func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
22494	return nil, false
22495}
22496
22497// AsServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22498func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
22499	return nil, false
22500}
22501
22502// AsBasicServiceEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22503func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
22504	return nil, false
22505}
22506
22507// AsApplicationCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22508func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
22509	return nil, false
22510}
22511
22512// AsApplicationDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22513func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
22514	return nil, false
22515}
22516
22517// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22518func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
22519	return nil, false
22520}
22521
22522// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22523func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
22524	return nil, false
22525}
22526
22527// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22528func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
22529	return nil, false
22530}
22531
22532// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22533func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
22534	return nil, false
22535}
22536
22537// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22538func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
22539	return nil, false
22540}
22541
22542// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22543func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
22544	return nil, false
22545}
22546
22547// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22548func (dshree DeployedServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
22549	return nil, false
22550}
22551
22552// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22553func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
22554	return nil, false
22555}
22556
22557// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22558func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
22559	return nil, false
22560}
22561
22562// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22563func (dshree DeployedServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
22564	return nil, false
22565}
22566
22567// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22568func (dshree DeployedServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
22569	return nil, false
22570}
22571
22572// AsNodeAbortedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22573func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
22574	return nil, false
22575}
22576
22577// AsNodeAbortingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22578func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
22579	return nil, false
22580}
22581
22582// AsNodeAddedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22583func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
22584	return nil, false
22585}
22586
22587// AsNodeCloseEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22588func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
22589	return nil, false
22590}
22591
22592// AsNodeClosingEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22593func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
22594	return nil, false
22595}
22596
22597// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22598func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
22599	return nil, false
22600}
22601
22602// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22603func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
22604	return nil, false
22605}
22606
22607// AsNodeDownEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22608func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
22609	return nil, false
22610}
22611
22612// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22613func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
22614	return nil, false
22615}
22616
22617// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22618func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
22619	return nil, false
22620}
22621
22622// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22623func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
22624	return nil, false
22625}
22626
22627// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22628func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
22629	return nil, false
22630}
22631
22632// AsNodeOpeningEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22633func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
22634	return nil, false
22635}
22636
22637// AsNodeRemovedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22638func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
22639	return nil, false
22640}
22641
22642// AsNodeUpEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22643func (dshree DeployedServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
22644	return nil, false
22645}
22646
22647// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22648func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
22649	return nil, false
22650}
22651
22652// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22653func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
22654	return nil, false
22655}
22656
22657// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22658func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
22659	return nil, false
22660}
22661
22662// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22663func (dshree DeployedServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
22664	return nil, false
22665}
22666
22667// AsServiceCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22668func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
22669	return nil, false
22670}
22671
22672// AsServiceDeletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22673func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
22674	return nil, false
22675}
22676
22677// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22678func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
22679	return nil, false
22680}
22681
22682// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22683func (dshree DeployedServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
22684	return nil, false
22685}
22686
22687// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22688func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
22689	return nil, false
22690}
22691
22692// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22693func (dshree DeployedServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
22694	return &dshree, true
22695}
22696
22697// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22698func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
22699	return nil, false
22700}
22701
22702// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22703func (dshree DeployedServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
22704	return nil, false
22705}
22706
22707// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22708func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
22709	return nil, false
22710}
22711
22712// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22713func (dshree DeployedServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
22714	return nil, false
22715}
22716
22717// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22718func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
22719	return nil, false
22720}
22721
22722// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22723func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
22724	return nil, false
22725}
22726
22727// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22728func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
22729	return nil, false
22730}
22731
22732// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22733func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
22734	return nil, false
22735}
22736
22737// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22738func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
22739	return nil, false
22740}
22741
22742// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22743func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
22744	return nil, false
22745}
22746
22747// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22748func (dshree DeployedServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
22749	return nil, false
22750}
22751
22752// AsChaosStoppedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22753func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
22754	return nil, false
22755}
22756
22757// AsChaosStartedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22758func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
22759	return nil, false
22760}
22761
22762// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22763func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
22764	return nil, false
22765}
22766
22767// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22768func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
22769	return nil, false
22770}
22771
22772// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22773func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
22774	return nil, false
22775}
22776
22777// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22778func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
22779	return nil, false
22780}
22781
22782// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22783func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
22784	return nil, false
22785}
22786
22787// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22788func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
22789	return nil, false
22790}
22791
22792// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22793func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
22794	return nil, false
22795}
22796
22797// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22798func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
22799	return nil, false
22800}
22801
22802// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22803func (dshree DeployedServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
22804	return nil, false
22805}
22806
22807// AsFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22808func (dshree DeployedServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
22809	return nil, false
22810}
22811
22812// AsBasicFabricEvent is the BasicFabricEvent implementation for DeployedServiceHealthReportExpiredEvent.
22813func (dshree DeployedServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
22814	return &dshree, true
22815}
22816
22817// DeployedServicePackageHealth information about the health of a service package for a specific
22818// application deployed on a Service Fabric node.
22819type DeployedServicePackageHealth struct {
22820	autorest.Response `json:"-"`
22821	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
22822	ApplicationName *string `json:"ApplicationName,omitempty"`
22823	// ServiceManifestName - Name of the service manifest.
22824	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
22825	// NodeName - Name of the node where this service package is deployed.
22826	NodeName *string `json:"NodeName,omitempty"`
22827	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
22828	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
22829	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
22830	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22831	// HealthEvents - The list of health events reported on the entity.
22832	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
22833	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
22834	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
22835	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
22836	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
22837}
22838
22839// DeployedServicePackageHealthEvaluation represents health evaluation for a deployed service package,
22840// containing information about the data and the algorithm used by health store to evaluate health. The
22841// evaluation is returned only when the aggregated health state is either Error or Warning.
22842type DeployedServicePackageHealthEvaluation struct {
22843	// NodeName - The name of a Service Fabric node.
22844	NodeName *string `json:"NodeName,omitempty"`
22845	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
22846	ApplicationName *string `json:"ApplicationName,omitempty"`
22847	// ServiceManifestName - The name of the service manifest.
22848	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
22849	// UnhealthyEvaluations - List of unhealthy evaluations that led to the current aggregated health state. The type of the unhealthy evaluations can be EventHealthEvaluation.
22850	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
22851	// 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'
22852	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
22853	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
22854	Description *string `json:"Description,omitempty"`
22855	// 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'
22856	Kind Kind `json:"Kind,omitempty"`
22857}
22858
22859// MarshalJSON is the custom marshaler for DeployedServicePackageHealthEvaluation.
22860func (dsphe DeployedServicePackageHealthEvaluation) MarshalJSON() ([]byte, error) {
22861	dsphe.Kind = KindDeployedServicePackage
22862	objectMap := make(map[string]interface{})
22863	if dsphe.NodeName != nil {
22864		objectMap["NodeName"] = dsphe.NodeName
22865	}
22866	if dsphe.ApplicationName != nil {
22867		objectMap["ApplicationName"] = dsphe.ApplicationName
22868	}
22869	if dsphe.ServiceManifestName != nil {
22870		objectMap["ServiceManifestName"] = dsphe.ServiceManifestName
22871	}
22872	if dsphe.UnhealthyEvaluations != nil {
22873		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
22874	}
22875	if dsphe.AggregatedHealthState != "" {
22876		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
22877	}
22878	if dsphe.Description != nil {
22879		objectMap["Description"] = dsphe.Description
22880	}
22881	if dsphe.Kind != "" {
22882		objectMap["Kind"] = dsphe.Kind
22883	}
22884	return json.Marshal(objectMap)
22885}
22886
22887// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22888func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
22889	return nil, false
22890}
22891
22892// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22893func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
22894	return nil, false
22895}
22896
22897// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22898func (dsphe DeployedServicePackageHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
22899	return nil, false
22900}
22901
22902// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22903func (dsphe DeployedServicePackageHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
22904	return nil, false
22905}
22906
22907// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22908func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
22909	return nil, false
22910}
22911
22912// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22913func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
22914	return nil, false
22915}
22916
22917// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22918func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
22919	return &dsphe, true
22920}
22921
22922// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22923func (dsphe DeployedServicePackageHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
22924	return nil, false
22925}
22926
22927// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22928func (dsphe DeployedServicePackageHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
22929	return nil, false
22930}
22931
22932// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22933func (dsphe DeployedServicePackageHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
22934	return nil, false
22935}
22936
22937// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22938func (dsphe DeployedServicePackageHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
22939	return nil, false
22940}
22941
22942// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22943func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
22944	return nil, false
22945}
22946
22947// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22948func (dsphe DeployedServicePackageHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
22949	return nil, false
22950}
22951
22952// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22953func (dsphe DeployedServicePackageHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
22954	return nil, false
22955}
22956
22957// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22958func (dsphe DeployedServicePackageHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
22959	return nil, false
22960}
22961
22962// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22963func (dsphe DeployedServicePackageHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
22964	return nil, false
22965}
22966
22967// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22968func (dsphe DeployedServicePackageHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
22969	return nil, false
22970}
22971
22972// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22973func (dsphe DeployedServicePackageHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
22974	return nil, false
22975}
22976
22977// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22978func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
22979	return nil, false
22980}
22981
22982// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22983func (dsphe DeployedServicePackageHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
22984	return nil, false
22985}
22986
22987// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22988func (dsphe DeployedServicePackageHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
22989	return nil, false
22990}
22991
22992// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackageHealthEvaluation.
22993func (dsphe DeployedServicePackageHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
22994	return &dsphe, true
22995}
22996
22997// DeployedServicePackageHealthState represents the health state of a deployed service package, containing
22998// the entity identifier and the aggregated health state.
22999type DeployedServicePackageHealthState struct {
23000	// NodeName - Name of the node on which the service package is deployed.
23001	NodeName *string `json:"NodeName,omitempty"`
23002	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
23003	ApplicationName *string `json:"ApplicationName,omitempty"`
23004	// ServiceManifestName - Name of the manifest describing the service package.
23005	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23006	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23007	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23008	// is always an empty string.
23009	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23010	// 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'
23011	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
23012}
23013
23014// DeployedServicePackageHealthStateChunk represents the health state chunk of a deployed service package,
23015// which contains the service manifest name and the service package aggregated health state.
23016type DeployedServicePackageHealthStateChunk struct {
23017	// ServiceManifestName - The name of the service manifest.
23018	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23019	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23020	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23021	// is always an empty string.
23022	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23023	// 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'
23024	HealthState HealthState `json:"HealthState,omitempty"`
23025}
23026
23027// DeployedServicePackageHealthStateChunkList the list of deployed service package health state chunks that
23028// respect the input filters in the chunk query. Returned by get cluster health state chunks query.
23029type DeployedServicePackageHealthStateChunkList struct {
23030	// Items - The list of deployed service package health state chunks that respect the input filters in the chunk query.
23031	Items *[]DeployedServicePackageHealthStateChunk `json:"Items,omitempty"`
23032}
23033
23034// DeployedServicePackageHealthStateFilter defines matching criteria to determine whether a deployed
23035// service package should be included as a child of a deployed application in the cluster health chunk.
23036// The deployed service packages are only returned if the parent entities match a filter specified in the
23037// cluster health chunk query description. The parent deployed application and its parent application must
23038// be included in the cluster health chunk.
23039// One filter can match zero, one or multiple deployed service packages, depending on its properties.
23040type DeployedServicePackageHealthStateFilter struct {
23041	// ServiceManifestNameFilter - The name of the service manifest which identifies the deployed service packages that matches the filter.
23042	// If specified, the filter is applied only to the specified deployed service packages, if any.
23043	// If no deployed service packages with specified manifest name exist, nothing is returned in the cluster health chunk based on this filter.
23044	// If any deployed service package exists, they are included in the cluster health chunk if it respects the other filter properties.
23045	// 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.
23046	ServiceManifestNameFilter *string `json:"ServiceManifestNameFilter,omitempty"`
23047	// ServicePackageActivationIDFilter - The activation ID of a deployed service package that matches the filter.
23048	// If not specified, the filter applies to all deployed service packages that match the other parameters.
23049	// If specified, the filter matches only the deployed service package with the specified activation ID.
23050	ServicePackageActivationIDFilter *string `json:"ServicePackageActivationIdFilter,omitempty"`
23051	// 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.
23052	// 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.
23053	// 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.
23054	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
23055	// For example, if the provided value is 6, it matches deployed service packages with HealthState value of OK (2) and Warning (4).
23056	// - Default - Default value. Matches any HealthState. The value is zero.
23057	// - 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.
23058	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
23059	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
23060	// - Error - Filter that matches input with HealthState value Error. The value is 8.
23061	// - All - Filter that matches input with any HealthState value. The value is 65535.
23062	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
23063}
23064
23065// DeployedServicePackageInfo information about service package deployed on a Service Fabric node.
23066type DeployedServicePackageInfo struct {
23067	// Name - The name of the service package as specified in the service manifest.
23068	Name *string `json:"Name,omitempty"`
23069	// Version - The version of the service package specified in service manifest.
23070	Version *string `json:"Version,omitempty"`
23071	// 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'
23072	Status DeploymentStatus `json:"Status,omitempty"`
23073	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23074	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23075	// is always an empty string.
23076	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23077}
23078
23079// DeployedServicePackagesHealthEvaluation represents health evaluation for deployed service packages,
23080// containing health evaluations for each unhealthy deployed service package that impacted current
23081// aggregated health state. Can be returned when evaluating deployed application health and the aggregated
23082// health state is either Error or Warning.
23083type DeployedServicePackagesHealthEvaluation struct {
23084	// TotalCount - Total number of deployed service packages of the deployed application in the health store.
23085	TotalCount *int64 `json:"TotalCount,omitempty"`
23086	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy DeployedServicePackageHealthEvaluation that impacted the aggregated health.
23087	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
23088	// 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'
23089	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
23090	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
23091	Description *string `json:"Description,omitempty"`
23092	// 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'
23093	Kind Kind `json:"Kind,omitempty"`
23094}
23095
23096// MarshalJSON is the custom marshaler for DeployedServicePackagesHealthEvaluation.
23097func (dsphe DeployedServicePackagesHealthEvaluation) MarshalJSON() ([]byte, error) {
23098	dsphe.Kind = KindDeployedServicePackages
23099	objectMap := make(map[string]interface{})
23100	if dsphe.TotalCount != nil {
23101		objectMap["TotalCount"] = dsphe.TotalCount
23102	}
23103	if dsphe.UnhealthyEvaluations != nil {
23104		objectMap["UnhealthyEvaluations"] = dsphe.UnhealthyEvaluations
23105	}
23106	if dsphe.AggregatedHealthState != "" {
23107		objectMap["AggregatedHealthState"] = dsphe.AggregatedHealthState
23108	}
23109	if dsphe.Description != nil {
23110		objectMap["Description"] = dsphe.Description
23111	}
23112	if dsphe.Kind != "" {
23113		objectMap["Kind"] = dsphe.Kind
23114	}
23115	return json.Marshal(objectMap)
23116}
23117
23118// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23119func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
23120	return nil, false
23121}
23122
23123// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23124func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
23125	return nil, false
23126}
23127
23128// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23129func (dsphe DeployedServicePackagesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
23130	return nil, false
23131}
23132
23133// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23134func (dsphe DeployedServicePackagesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
23135	return nil, false
23136}
23137
23138// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23139func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
23140	return nil, false
23141}
23142
23143// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23144func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
23145	return nil, false
23146}
23147
23148// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23149func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
23150	return nil, false
23151}
23152
23153// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23154func (dsphe DeployedServicePackagesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
23155	return &dsphe, true
23156}
23157
23158// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23159func (dsphe DeployedServicePackagesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
23160	return nil, false
23161}
23162
23163// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23164func (dsphe DeployedServicePackagesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
23165	return nil, false
23166}
23167
23168// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23169func (dsphe DeployedServicePackagesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
23170	return nil, false
23171}
23172
23173// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23174func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
23175	return nil, false
23176}
23177
23178// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23179func (dsphe DeployedServicePackagesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
23180	return nil, false
23181}
23182
23183// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23184func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
23185	return nil, false
23186}
23187
23188// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23189func (dsphe DeployedServicePackagesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
23190	return nil, false
23191}
23192
23193// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23194func (dsphe DeployedServicePackagesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
23195	return nil, false
23196}
23197
23198// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23199func (dsphe DeployedServicePackagesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
23200	return nil, false
23201}
23202
23203// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23204func (dsphe DeployedServicePackagesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
23205	return nil, false
23206}
23207
23208// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23209func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
23210	return nil, false
23211}
23212
23213// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23214func (dsphe DeployedServicePackagesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
23215	return nil, false
23216}
23217
23218// AsHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23219func (dsphe DeployedServicePackagesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
23220	return nil, false
23221}
23222
23223// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for DeployedServicePackagesHealthEvaluation.
23224func (dsphe DeployedServicePackagesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
23225	return &dsphe, true
23226}
23227
23228// BasicDeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
23229type BasicDeployedServiceReplicaDetailInfo interface {
23230	AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool)
23231	AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool)
23232	AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool)
23233}
23234
23235// DeployedServiceReplicaDetailInfo information about a Service Fabric service replica deployed on a node.
23236type DeployedServiceReplicaDetailInfo struct {
23237	autorest.Response `json:"-"`
23238	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
23239	ServiceName *string `json:"ServiceName,omitempty"`
23240	// 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.
23241	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23242	// 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'
23243	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
23244	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
23245	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
23246	// ReportedLoad - List of load reported by replica.
23247	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
23248	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
23249	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
23250}
23251
23252func unmarshalBasicDeployedServiceReplicaDetailInfo(body []byte) (BasicDeployedServiceReplicaDetailInfo, error) {
23253	var m map[string]interface{}
23254	err := json.Unmarshal(body, &m)
23255	if err != nil {
23256		return nil, err
23257	}
23258
23259	switch m["ServiceKind"] {
23260	case string(ServiceKindStateful1):
23261		var dssrdi DeployedStatefulServiceReplicaDetailInfo
23262		err := json.Unmarshal(body, &dssrdi)
23263		return dssrdi, err
23264	case string(ServiceKindStateless1):
23265		var dssidi DeployedStatelessServiceInstanceDetailInfo
23266		err := json.Unmarshal(body, &dssidi)
23267		return dssidi, err
23268	default:
23269		var dsrdi DeployedServiceReplicaDetailInfo
23270		err := json.Unmarshal(body, &dsrdi)
23271		return dsrdi, err
23272	}
23273}
23274func unmarshalBasicDeployedServiceReplicaDetailInfoArray(body []byte) ([]BasicDeployedServiceReplicaDetailInfo, error) {
23275	var rawMessages []*json.RawMessage
23276	err := json.Unmarshal(body, &rawMessages)
23277	if err != nil {
23278		return nil, err
23279	}
23280
23281	dsrdiArray := make([]BasicDeployedServiceReplicaDetailInfo, len(rawMessages))
23282
23283	for index, rawMessage := range rawMessages {
23284		dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(*rawMessage)
23285		if err != nil {
23286			return nil, err
23287		}
23288		dsrdiArray[index] = dsrdi
23289	}
23290	return dsrdiArray, nil
23291}
23292
23293// MarshalJSON is the custom marshaler for DeployedServiceReplicaDetailInfo.
23294func (dsrdi DeployedServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
23295	dsrdi.ServiceKind = ServiceKindDeployedServiceReplicaDetailInfo
23296	objectMap := make(map[string]interface{})
23297	if dsrdi.ServiceName != nil {
23298		objectMap["ServiceName"] = dsrdi.ServiceName
23299	}
23300	if dsrdi.PartitionID != nil {
23301		objectMap["PartitionId"] = dsrdi.PartitionID
23302	}
23303	if dsrdi.CurrentServiceOperation != "" {
23304		objectMap["CurrentServiceOperation"] = dsrdi.CurrentServiceOperation
23305	}
23306	if dsrdi.CurrentServiceOperationStartTimeUtc != nil {
23307		objectMap["CurrentServiceOperationStartTimeUtc"] = dsrdi.CurrentServiceOperationStartTimeUtc
23308	}
23309	if dsrdi.ReportedLoad != nil {
23310		objectMap["ReportedLoad"] = dsrdi.ReportedLoad
23311	}
23312	if dsrdi.ServiceKind != "" {
23313		objectMap["ServiceKind"] = dsrdi.ServiceKind
23314	}
23315	return json.Marshal(objectMap)
23316}
23317
23318// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23319func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
23320	return nil, false
23321}
23322
23323// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23324func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
23325	return nil, false
23326}
23327
23328// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23329func (dsrdi DeployedServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
23330	return &dsrdi, true
23331}
23332
23333// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedServiceReplicaDetailInfo.
23334func (dsrdi DeployedServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
23335	return &dsrdi, true
23336}
23337
23338// DeployedServiceReplicaDetailInfoModel ...
23339type DeployedServiceReplicaDetailInfoModel struct {
23340	autorest.Response `json:"-"`
23341	Value             BasicDeployedServiceReplicaDetailInfo `json:"value,omitempty"`
23342}
23343
23344// UnmarshalJSON is the custom unmarshaler for DeployedServiceReplicaDetailInfoModel struct.
23345func (dsrdim *DeployedServiceReplicaDetailInfoModel) UnmarshalJSON(body []byte) error {
23346	dsrdi, err := unmarshalBasicDeployedServiceReplicaDetailInfo(body)
23347	if err != nil {
23348		return err
23349	}
23350	dsrdim.Value = dsrdi
23351
23352	return nil
23353}
23354
23355// BasicDeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
23356type BasicDeployedServiceReplicaInfo interface {
23357	AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool)
23358	AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool)
23359	AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool)
23360}
23361
23362// DeployedServiceReplicaInfo information about a Service Fabric service replica deployed on a node.
23363type DeployedServiceReplicaInfo struct {
23364	// ServiceName - The full name of the service with 'fabric:' URI scheme.
23365	ServiceName *string `json:"ServiceName,omitempty"`
23366	// ServiceTypeName - Name of the service type as specified in the service manifest.
23367	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23368	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23369	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23370	// CodePackageName - The name of the code package that hosts this replica.
23371	CodePackageName *string `json:"CodePackageName,omitempty"`
23372	// 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.
23373	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23374	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
23375	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
23376	// Address - The last address returned by the replica in Open or ChangeRole.
23377	Address *string `json:"Address,omitempty"`
23378	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23379	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23380	// is always an empty string.
23381	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23382	// 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.
23383	HostProcessID *string `json:"HostProcessId,omitempty"`
23384	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
23385	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
23386}
23387
23388func unmarshalBasicDeployedServiceReplicaInfo(body []byte) (BasicDeployedServiceReplicaInfo, error) {
23389	var m map[string]interface{}
23390	err := json.Unmarshal(body, &m)
23391	if err != nil {
23392		return nil, err
23393	}
23394
23395	switch m["ServiceKind"] {
23396	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful):
23397		var dssri DeployedStatefulServiceReplicaInfo
23398		err := json.Unmarshal(body, &dssri)
23399		return dssri, err
23400	case string(ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless):
23401		var dssii DeployedStatelessServiceInstanceInfo
23402		err := json.Unmarshal(body, &dssii)
23403		return dssii, err
23404	default:
23405		var dsri DeployedServiceReplicaInfo
23406		err := json.Unmarshal(body, &dsri)
23407		return dsri, err
23408	}
23409}
23410func unmarshalBasicDeployedServiceReplicaInfoArray(body []byte) ([]BasicDeployedServiceReplicaInfo, error) {
23411	var rawMessages []*json.RawMessage
23412	err := json.Unmarshal(body, &rawMessages)
23413	if err != nil {
23414		return nil, err
23415	}
23416
23417	dsriArray := make([]BasicDeployedServiceReplicaInfo, len(rawMessages))
23418
23419	for index, rawMessage := range rawMessages {
23420		dsri, err := unmarshalBasicDeployedServiceReplicaInfo(*rawMessage)
23421		if err != nil {
23422			return nil, err
23423		}
23424		dsriArray[index] = dsri
23425	}
23426	return dsriArray, nil
23427}
23428
23429// MarshalJSON is the custom marshaler for DeployedServiceReplicaInfo.
23430func (dsri DeployedServiceReplicaInfo) MarshalJSON() ([]byte, error) {
23431	dsri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo
23432	objectMap := make(map[string]interface{})
23433	if dsri.ServiceName != nil {
23434		objectMap["ServiceName"] = dsri.ServiceName
23435	}
23436	if dsri.ServiceTypeName != nil {
23437		objectMap["ServiceTypeName"] = dsri.ServiceTypeName
23438	}
23439	if dsri.ServiceManifestName != nil {
23440		objectMap["ServiceManifestName"] = dsri.ServiceManifestName
23441	}
23442	if dsri.CodePackageName != nil {
23443		objectMap["CodePackageName"] = dsri.CodePackageName
23444	}
23445	if dsri.PartitionID != nil {
23446		objectMap["PartitionId"] = dsri.PartitionID
23447	}
23448	if dsri.ReplicaStatus != "" {
23449		objectMap["ReplicaStatus"] = dsri.ReplicaStatus
23450	}
23451	if dsri.Address != nil {
23452		objectMap["Address"] = dsri.Address
23453	}
23454	if dsri.ServicePackageActivationID != nil {
23455		objectMap["ServicePackageActivationId"] = dsri.ServicePackageActivationID
23456	}
23457	if dsri.HostProcessID != nil {
23458		objectMap["HostProcessId"] = dsri.HostProcessID
23459	}
23460	if dsri.ServiceKind != "" {
23461		objectMap["ServiceKind"] = dsri.ServiceKind
23462	}
23463	return json.Marshal(objectMap)
23464}
23465
23466// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23467func (dsri DeployedServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
23468	return nil, false
23469}
23470
23471// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23472func (dsri DeployedServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
23473	return nil, false
23474}
23475
23476// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23477func (dsri DeployedServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
23478	return &dsri, true
23479}
23480
23481// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedServiceReplicaInfo.
23482func (dsri DeployedServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
23483	return &dsri, true
23484}
23485
23486// DeployedServiceTypeInfo information about service type deployed on a node, information such as the
23487// status of the service type registration on a node.
23488type DeployedServiceTypeInfo struct {
23489	// ServiceTypeName - Name of the service type as specified in the service manifest.
23490	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23491	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23492	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23493	// CodePackageName - The name of the code package that registered the service type.
23494	CodePackageName *string `json:"CodePackageName,omitempty"`
23495	// Status - The status of the service type registration on the node. Possible values include: 'ServiceTypeRegistrationStatusInvalid', 'ServiceTypeRegistrationStatusDisabled', 'ServiceTypeRegistrationStatusEnabled', 'ServiceTypeRegistrationStatusRegistered'
23496	Status ServiceTypeRegistrationStatus `json:"Status,omitempty"`
23497	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23498	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23499	// is always an empty string.
23500	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23501}
23502
23503// DeployedStatefulServiceReplicaDetailInfo information about a stateful replica running in a code package.
23504// Note DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind, ServiceName,
23505// PartitionId and replicaId.
23506type DeployedStatefulServiceReplicaDetailInfo struct {
23507	// 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.
23508	ReplicaID *string `json:"ReplicaId,omitempty"`
23509	// CurrentReplicatorOperation - Specifies the operation currently being executed by the Replicator. Possible values include: 'ReplicatorOperationNameInvalid', 'ReplicatorOperationNameNone', 'ReplicatorOperationNameOpen', 'ReplicatorOperationNameChangeRole', 'ReplicatorOperationNameUpdateEpoch', 'ReplicatorOperationNameClose', 'ReplicatorOperationNameAbort', 'ReplicatorOperationNameOnDataLoss', 'ReplicatorOperationNameWaitForCatchup', 'ReplicatorOperationNameBuild'
23510	CurrentReplicatorOperation ReplicatorOperationName `json:"CurrentReplicatorOperation,omitempty"`
23511	// ReadStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
23512	ReadStatus PartitionAccessStatus `json:"ReadStatus,omitempty"`
23513	// WriteStatus - Specifies the access status of the partition. Possible values include: 'PartitionAccessStatusInvalid', 'PartitionAccessStatusGranted', 'PartitionAccessStatusReconfigurationPending', 'PartitionAccessStatusNotPrimary', 'PartitionAccessStatusNoWriteQuorum'
23514	WriteStatus PartitionAccessStatus `json:"WriteStatus,omitempty"`
23515	// ReplicatorStatus - Represents a base class for primary or secondary replicator status.
23516	// Contains information about the service fabric replicator like the replication/copy queue utilization, last acknowledgement received timestamp, etc.
23517	ReplicatorStatus BasicReplicatorStatus `json:"ReplicatorStatus,omitempty"`
23518	// ReplicaStatus - Key value store related information for the replica.
23519	ReplicaStatus *KeyValueStoreReplicaStatus `json:"ReplicaStatus,omitempty"`
23520	// DeployedServiceReplicaQueryResult - Information about a stateful service replica deployed on a node.
23521	DeployedServiceReplicaQueryResult *DeployedStatefulServiceReplicaInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
23522	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
23523	ServiceName *string `json:"ServiceName,omitempty"`
23524	// 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.
23525	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23526	// 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'
23527	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
23528	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
23529	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
23530	// ReportedLoad - List of load reported by replica.
23531	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
23532	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
23533	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
23534}
23535
23536// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaDetailInfo.
23537func (dssrdi DeployedStatefulServiceReplicaDetailInfo) MarshalJSON() ([]byte, error) {
23538	dssrdi.ServiceKind = ServiceKindStateful1
23539	objectMap := make(map[string]interface{})
23540	if dssrdi.ReplicaID != nil {
23541		objectMap["ReplicaId"] = dssrdi.ReplicaID
23542	}
23543	if dssrdi.CurrentReplicatorOperation != "" {
23544		objectMap["CurrentReplicatorOperation"] = dssrdi.CurrentReplicatorOperation
23545	}
23546	if dssrdi.ReadStatus != "" {
23547		objectMap["ReadStatus"] = dssrdi.ReadStatus
23548	}
23549	if dssrdi.WriteStatus != "" {
23550		objectMap["WriteStatus"] = dssrdi.WriteStatus
23551	}
23552	objectMap["ReplicatorStatus"] = dssrdi.ReplicatorStatus
23553	if dssrdi.ReplicaStatus != nil {
23554		objectMap["ReplicaStatus"] = dssrdi.ReplicaStatus
23555	}
23556	if dssrdi.DeployedServiceReplicaQueryResult != nil {
23557		objectMap["DeployedServiceReplicaQueryResult"] = dssrdi.DeployedServiceReplicaQueryResult
23558	}
23559	if dssrdi.ServiceName != nil {
23560		objectMap["ServiceName"] = dssrdi.ServiceName
23561	}
23562	if dssrdi.PartitionID != nil {
23563		objectMap["PartitionId"] = dssrdi.PartitionID
23564	}
23565	if dssrdi.CurrentServiceOperation != "" {
23566		objectMap["CurrentServiceOperation"] = dssrdi.CurrentServiceOperation
23567	}
23568	if dssrdi.CurrentServiceOperationStartTimeUtc != nil {
23569		objectMap["CurrentServiceOperationStartTimeUtc"] = dssrdi.CurrentServiceOperationStartTimeUtc
23570	}
23571	if dssrdi.ReportedLoad != nil {
23572		objectMap["ReportedLoad"] = dssrdi.ReportedLoad
23573	}
23574	if dssrdi.ServiceKind != "" {
23575		objectMap["ServiceKind"] = dssrdi.ServiceKind
23576	}
23577	return json.Marshal(objectMap)
23578}
23579
23580// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23581func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
23582	return &dssrdi, true
23583}
23584
23585// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23586func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
23587	return nil, false
23588}
23589
23590// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23591func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
23592	return nil, false
23593}
23594
23595// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatefulServiceReplicaDetailInfo.
23596func (dssrdi DeployedStatefulServiceReplicaDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
23597	return &dssrdi, true
23598}
23599
23600// UnmarshalJSON is the custom unmarshaler for DeployedStatefulServiceReplicaDetailInfo struct.
23601func (dssrdi *DeployedStatefulServiceReplicaDetailInfo) UnmarshalJSON(body []byte) error {
23602	var m map[string]*json.RawMessage
23603	err := json.Unmarshal(body, &m)
23604	if err != nil {
23605		return err
23606	}
23607	for k, v := range m {
23608		switch k {
23609		case "ReplicaId":
23610			if v != nil {
23611				var replicaID string
23612				err = json.Unmarshal(*v, &replicaID)
23613				if err != nil {
23614					return err
23615				}
23616				dssrdi.ReplicaID = &replicaID
23617			}
23618		case "CurrentReplicatorOperation":
23619			if v != nil {
23620				var currentReplicatorOperation ReplicatorOperationName
23621				err = json.Unmarshal(*v, &currentReplicatorOperation)
23622				if err != nil {
23623					return err
23624				}
23625				dssrdi.CurrentReplicatorOperation = currentReplicatorOperation
23626			}
23627		case "ReadStatus":
23628			if v != nil {
23629				var readStatus PartitionAccessStatus
23630				err = json.Unmarshal(*v, &readStatus)
23631				if err != nil {
23632					return err
23633				}
23634				dssrdi.ReadStatus = readStatus
23635			}
23636		case "WriteStatus":
23637			if v != nil {
23638				var writeStatus PartitionAccessStatus
23639				err = json.Unmarshal(*v, &writeStatus)
23640				if err != nil {
23641					return err
23642				}
23643				dssrdi.WriteStatus = writeStatus
23644			}
23645		case "ReplicatorStatus":
23646			if v != nil {
23647				replicatorStatus, err := unmarshalBasicReplicatorStatus(*v)
23648				if err != nil {
23649					return err
23650				}
23651				dssrdi.ReplicatorStatus = replicatorStatus
23652			}
23653		case "ReplicaStatus":
23654			if v != nil {
23655				var replicaStatus KeyValueStoreReplicaStatus
23656				err = json.Unmarshal(*v, &replicaStatus)
23657				if err != nil {
23658					return err
23659				}
23660				dssrdi.ReplicaStatus = &replicaStatus
23661			}
23662		case "DeployedServiceReplicaQueryResult":
23663			if v != nil {
23664				var deployedServiceReplicaQueryResult DeployedStatefulServiceReplicaInfo
23665				err = json.Unmarshal(*v, &deployedServiceReplicaQueryResult)
23666				if err != nil {
23667					return err
23668				}
23669				dssrdi.DeployedServiceReplicaQueryResult = &deployedServiceReplicaQueryResult
23670			}
23671		case "ServiceName":
23672			if v != nil {
23673				var serviceName string
23674				err = json.Unmarshal(*v, &serviceName)
23675				if err != nil {
23676					return err
23677				}
23678				dssrdi.ServiceName = &serviceName
23679			}
23680		case "PartitionId":
23681			if v != nil {
23682				var partitionID uuid.UUID
23683				err = json.Unmarshal(*v, &partitionID)
23684				if err != nil {
23685					return err
23686				}
23687				dssrdi.PartitionID = &partitionID
23688			}
23689		case "CurrentServiceOperation":
23690			if v != nil {
23691				var currentServiceOperation ServiceOperationName
23692				err = json.Unmarshal(*v, &currentServiceOperation)
23693				if err != nil {
23694					return err
23695				}
23696				dssrdi.CurrentServiceOperation = currentServiceOperation
23697			}
23698		case "CurrentServiceOperationStartTimeUtc":
23699			if v != nil {
23700				var currentServiceOperationStartTimeUtc date.Time
23701				err = json.Unmarshal(*v, &currentServiceOperationStartTimeUtc)
23702				if err != nil {
23703					return err
23704				}
23705				dssrdi.CurrentServiceOperationStartTimeUtc = &currentServiceOperationStartTimeUtc
23706			}
23707		case "ReportedLoad":
23708			if v != nil {
23709				var reportedLoad []LoadMetricReportInfo
23710				err = json.Unmarshal(*v, &reportedLoad)
23711				if err != nil {
23712					return err
23713				}
23714				dssrdi.ReportedLoad = &reportedLoad
23715			}
23716		case "ServiceKind":
23717			if v != nil {
23718				var serviceKind ServiceKindBasicDeployedServiceReplicaDetailInfo
23719				err = json.Unmarshal(*v, &serviceKind)
23720				if err != nil {
23721					return err
23722				}
23723				dssrdi.ServiceKind = serviceKind
23724			}
23725		}
23726	}
23727
23728	return nil
23729}
23730
23731// DeployedStatefulServiceReplicaInfo information about a stateful service replica deployed on a node.
23732type DeployedStatefulServiceReplicaInfo struct {
23733	// 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.
23734	ReplicaID *string `json:"ReplicaId,omitempty"`
23735	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
23736	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
23737	// ReconfigurationInformation - Information about current reconfiguration like phase, type, previous configuration role of replica and reconfiguration start date time.
23738	ReconfigurationInformation *ReconfigurationInformation `json:"ReconfigurationInformation,omitempty"`
23739	// ServiceName - The full name of the service with 'fabric:' URI scheme.
23740	ServiceName *string `json:"ServiceName,omitempty"`
23741	// ServiceTypeName - Name of the service type as specified in the service manifest.
23742	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23743	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23744	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23745	// CodePackageName - The name of the code package that hosts this replica.
23746	CodePackageName *string `json:"CodePackageName,omitempty"`
23747	// 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.
23748	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23749	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
23750	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
23751	// Address - The last address returned by the replica in Open or ChangeRole.
23752	Address *string `json:"Address,omitempty"`
23753	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23754	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23755	// is always an empty string.
23756	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23757	// 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.
23758	HostProcessID *string `json:"HostProcessId,omitempty"`
23759	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
23760	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
23761}
23762
23763// MarshalJSON is the custom marshaler for DeployedStatefulServiceReplicaInfo.
23764func (dssri DeployedStatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
23765	dssri.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful
23766	objectMap := make(map[string]interface{})
23767	if dssri.ReplicaID != nil {
23768		objectMap["ReplicaId"] = dssri.ReplicaID
23769	}
23770	if dssri.ReplicaRole != "" {
23771		objectMap["ReplicaRole"] = dssri.ReplicaRole
23772	}
23773	if dssri.ReconfigurationInformation != nil {
23774		objectMap["ReconfigurationInformation"] = dssri.ReconfigurationInformation
23775	}
23776	if dssri.ServiceName != nil {
23777		objectMap["ServiceName"] = dssri.ServiceName
23778	}
23779	if dssri.ServiceTypeName != nil {
23780		objectMap["ServiceTypeName"] = dssri.ServiceTypeName
23781	}
23782	if dssri.ServiceManifestName != nil {
23783		objectMap["ServiceManifestName"] = dssri.ServiceManifestName
23784	}
23785	if dssri.CodePackageName != nil {
23786		objectMap["CodePackageName"] = dssri.CodePackageName
23787	}
23788	if dssri.PartitionID != nil {
23789		objectMap["PartitionId"] = dssri.PartitionID
23790	}
23791	if dssri.ReplicaStatus != "" {
23792		objectMap["ReplicaStatus"] = dssri.ReplicaStatus
23793	}
23794	if dssri.Address != nil {
23795		objectMap["Address"] = dssri.Address
23796	}
23797	if dssri.ServicePackageActivationID != nil {
23798		objectMap["ServicePackageActivationId"] = dssri.ServicePackageActivationID
23799	}
23800	if dssri.HostProcessID != nil {
23801		objectMap["HostProcessId"] = dssri.HostProcessID
23802	}
23803	if dssri.ServiceKind != "" {
23804		objectMap["ServiceKind"] = dssri.ServiceKind
23805	}
23806	return json.Marshal(objectMap)
23807}
23808
23809// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23810func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
23811	return &dssri, true
23812}
23813
23814// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23815func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
23816	return nil, false
23817}
23818
23819// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23820func (dssri DeployedStatefulServiceReplicaInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
23821	return nil, false
23822}
23823
23824// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatefulServiceReplicaInfo.
23825func (dssri DeployedStatefulServiceReplicaInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
23826	return &dssri, true
23827}
23828
23829// DeployedStatelessServiceInstanceDetailInfo information about a stateless instance running in a code
23830// package. Note that DeployedServiceReplicaQueryResult will contain duplicate data like ServiceKind,
23831// ServiceName, PartitionId and InstanceId.
23832type DeployedStatelessServiceInstanceDetailInfo struct {
23833	// 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.
23834	InstanceID *string `json:"InstanceId,omitempty"`
23835	// DeployedServiceReplicaQueryResult - Information about a stateless service instance deployed on a node.
23836	DeployedServiceReplicaQueryResult *DeployedStatelessServiceInstanceInfo `json:"DeployedServiceReplicaQueryResult,omitempty"`
23837	// ServiceName - Full hierarchical name of the service in URI format starting with `fabric:`.
23838	ServiceName *string `json:"ServiceName,omitempty"`
23839	// 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.
23840	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23841	// 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'
23842	CurrentServiceOperation ServiceOperationName `json:"CurrentServiceOperation,omitempty"`
23843	// CurrentServiceOperationStartTimeUtc - The start time of the current service operation in UTC format.
23844	CurrentServiceOperationStartTimeUtc *date.Time `json:"CurrentServiceOperationStartTimeUtc,omitempty"`
23845	// ReportedLoad - List of load reported by replica.
23846	ReportedLoad *[]LoadMetricReportInfo `json:"ReportedLoad,omitempty"`
23847	// ServiceKind - Possible values include: 'ServiceKindDeployedServiceReplicaDetailInfo', 'ServiceKindStateful1', 'ServiceKindStateless1'
23848	ServiceKind ServiceKindBasicDeployedServiceReplicaDetailInfo `json:"ServiceKind,omitempty"`
23849}
23850
23851// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceDetailInfo.
23852func (dssidi DeployedStatelessServiceInstanceDetailInfo) MarshalJSON() ([]byte, error) {
23853	dssidi.ServiceKind = ServiceKindStateless1
23854	objectMap := make(map[string]interface{})
23855	if dssidi.InstanceID != nil {
23856		objectMap["InstanceId"] = dssidi.InstanceID
23857	}
23858	if dssidi.DeployedServiceReplicaQueryResult != nil {
23859		objectMap["DeployedServiceReplicaQueryResult"] = dssidi.DeployedServiceReplicaQueryResult
23860	}
23861	if dssidi.ServiceName != nil {
23862		objectMap["ServiceName"] = dssidi.ServiceName
23863	}
23864	if dssidi.PartitionID != nil {
23865		objectMap["PartitionId"] = dssidi.PartitionID
23866	}
23867	if dssidi.CurrentServiceOperation != "" {
23868		objectMap["CurrentServiceOperation"] = dssidi.CurrentServiceOperation
23869	}
23870	if dssidi.CurrentServiceOperationStartTimeUtc != nil {
23871		objectMap["CurrentServiceOperationStartTimeUtc"] = dssidi.CurrentServiceOperationStartTimeUtc
23872	}
23873	if dssidi.ReportedLoad != nil {
23874		objectMap["ReportedLoad"] = dssidi.ReportedLoad
23875	}
23876	if dssidi.ServiceKind != "" {
23877		objectMap["ServiceKind"] = dssidi.ServiceKind
23878	}
23879	return json.Marshal(objectMap)
23880}
23881
23882// AsDeployedStatefulServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23883func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatefulServiceReplicaDetailInfo() (*DeployedStatefulServiceReplicaDetailInfo, bool) {
23884	return nil, false
23885}
23886
23887// AsDeployedStatelessServiceInstanceDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23888func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedStatelessServiceInstanceDetailInfo() (*DeployedStatelessServiceInstanceDetailInfo, bool) {
23889	return &dssidi, true
23890}
23891
23892// AsDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23893func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsDeployedServiceReplicaDetailInfo() (*DeployedServiceReplicaDetailInfo, bool) {
23894	return nil, false
23895}
23896
23897// AsBasicDeployedServiceReplicaDetailInfo is the BasicDeployedServiceReplicaDetailInfo implementation for DeployedStatelessServiceInstanceDetailInfo.
23898func (dssidi DeployedStatelessServiceInstanceDetailInfo) AsBasicDeployedServiceReplicaDetailInfo() (BasicDeployedServiceReplicaDetailInfo, bool) {
23899	return &dssidi, true
23900}
23901
23902// DeployedStatelessServiceInstanceInfo information about a stateless service instance deployed on a node.
23903type DeployedStatelessServiceInstanceInfo struct {
23904	// 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.
23905	InstanceID *string `json:"InstanceId,omitempty"`
23906	// ServiceName - The full name of the service with 'fabric:' URI scheme.
23907	ServiceName *string `json:"ServiceName,omitempty"`
23908	// ServiceTypeName - Name of the service type as specified in the service manifest.
23909	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
23910	// ServiceManifestName - The name of the service manifest in which this service type is defined.
23911	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23912	// CodePackageName - The name of the code package that hosts this replica.
23913	CodePackageName *string `json:"CodePackageName,omitempty"`
23914	// 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.
23915	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
23916	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
23917	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
23918	// Address - The last address returned by the replica in Open or ChangeRole.
23919	Address *string `json:"Address,omitempty"`
23920	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
23921	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
23922	// is always an empty string.
23923	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
23924	// 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.
23925	HostProcessID *string `json:"HostProcessId,omitempty"`
23926	// ServiceKind - Possible values include: 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindDeployedServiceReplicaInfo', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateful', 'ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless'
23927	ServiceKind ServiceKindBasicDeployedServiceReplicaInfo `json:"ServiceKind,omitempty"`
23928}
23929
23930// MarshalJSON is the custom marshaler for DeployedStatelessServiceInstanceInfo.
23931func (dssii DeployedStatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
23932	dssii.ServiceKind = ServiceKindBasicDeployedServiceReplicaInfoServiceKindStateless
23933	objectMap := make(map[string]interface{})
23934	if dssii.InstanceID != nil {
23935		objectMap["InstanceId"] = dssii.InstanceID
23936	}
23937	if dssii.ServiceName != nil {
23938		objectMap["ServiceName"] = dssii.ServiceName
23939	}
23940	if dssii.ServiceTypeName != nil {
23941		objectMap["ServiceTypeName"] = dssii.ServiceTypeName
23942	}
23943	if dssii.ServiceManifestName != nil {
23944		objectMap["ServiceManifestName"] = dssii.ServiceManifestName
23945	}
23946	if dssii.CodePackageName != nil {
23947		objectMap["CodePackageName"] = dssii.CodePackageName
23948	}
23949	if dssii.PartitionID != nil {
23950		objectMap["PartitionId"] = dssii.PartitionID
23951	}
23952	if dssii.ReplicaStatus != "" {
23953		objectMap["ReplicaStatus"] = dssii.ReplicaStatus
23954	}
23955	if dssii.Address != nil {
23956		objectMap["Address"] = dssii.Address
23957	}
23958	if dssii.ServicePackageActivationID != nil {
23959		objectMap["ServicePackageActivationId"] = dssii.ServicePackageActivationID
23960	}
23961	if dssii.HostProcessID != nil {
23962		objectMap["HostProcessId"] = dssii.HostProcessID
23963	}
23964	if dssii.ServiceKind != "" {
23965		objectMap["ServiceKind"] = dssii.ServiceKind
23966	}
23967	return json.Marshal(objectMap)
23968}
23969
23970// AsDeployedStatefulServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23971func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatefulServiceReplicaInfo() (*DeployedStatefulServiceReplicaInfo, bool) {
23972	return nil, false
23973}
23974
23975// AsDeployedStatelessServiceInstanceInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23976func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedStatelessServiceInstanceInfo() (*DeployedStatelessServiceInstanceInfo, bool) {
23977	return &dssii, true
23978}
23979
23980// AsDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23981func (dssii DeployedStatelessServiceInstanceInfo) AsDeployedServiceReplicaInfo() (*DeployedServiceReplicaInfo, bool) {
23982	return nil, false
23983}
23984
23985// AsBasicDeployedServiceReplicaInfo is the BasicDeployedServiceReplicaInfo implementation for DeployedStatelessServiceInstanceInfo.
23986func (dssii DeployedStatelessServiceInstanceInfo) AsBasicDeployedServiceReplicaInfo() (BasicDeployedServiceReplicaInfo, bool) {
23987	return &dssii, true
23988}
23989
23990// DeployServicePackageToNodeDescription defines description for downloading packages associated with a
23991// service manifest to image cache on a Service Fabric node.
23992type DeployServicePackageToNodeDescription struct {
23993	// ServiceManifestName - The name of service manifest whose packages need to be downloaded.
23994	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
23995	// ApplicationTypeName - The application type name as defined in the application manifest.
23996	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
23997	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
23998	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
23999	// NodeName - The name of a Service Fabric node.
24000	NodeName *string `json:"NodeName,omitempty"`
24001	// PackageSharingPolicy - List of package sharing policy information.
24002	PackageSharingPolicy *[]PackageSharingPolicyInfo `json:"PackageSharingPolicy,omitempty"`
24003}
24004
24005// DiagnosticsDescription describes the diagnostics options available
24006type DiagnosticsDescription struct {
24007	// Sinks - List of supported sinks that can be referenced.
24008	Sinks *[]BasicDiagnosticsSinkProperties `json:"sinks,omitempty"`
24009	// Enabled - Status of whether or not sinks are enabled.
24010	Enabled *bool `json:"enabled,omitempty"`
24011	// DefaultSinkRefs - The sinks to be used if diagnostics is enabled. Sink choices can be overridden at the service and code package level.
24012	DefaultSinkRefs *[]string `json:"defaultSinkRefs,omitempty"`
24013}
24014
24015// UnmarshalJSON is the custom unmarshaler for DiagnosticsDescription struct.
24016func (dd *DiagnosticsDescription) UnmarshalJSON(body []byte) error {
24017	var m map[string]*json.RawMessage
24018	err := json.Unmarshal(body, &m)
24019	if err != nil {
24020		return err
24021	}
24022	for k, v := range m {
24023		switch k {
24024		case "sinks":
24025			if v != nil {
24026				sinks, err := unmarshalBasicDiagnosticsSinkPropertiesArray(*v)
24027				if err != nil {
24028					return err
24029				}
24030				dd.Sinks = &sinks
24031			}
24032		case "enabled":
24033			if v != nil {
24034				var enabled bool
24035				err = json.Unmarshal(*v, &enabled)
24036				if err != nil {
24037					return err
24038				}
24039				dd.Enabled = &enabled
24040			}
24041		case "defaultSinkRefs":
24042			if v != nil {
24043				var defaultSinkRefs []string
24044				err = json.Unmarshal(*v, &defaultSinkRefs)
24045				if err != nil {
24046					return err
24047				}
24048				dd.DefaultSinkRefs = &defaultSinkRefs
24049			}
24050		}
24051	}
24052
24053	return nil
24054}
24055
24056// DiagnosticsRef reference to sinks in DiagnosticsDescription.
24057type DiagnosticsRef struct {
24058	// Enabled - Status of whether or not sinks are enabled.
24059	Enabled *bool `json:"enabled,omitempty"`
24060	// SinkRefs - List of sinks to be used if enabled. References the list of sinks in DiagnosticsDescription.
24061	SinkRefs *[]string `json:"sinkRefs,omitempty"`
24062}
24063
24064// BasicDiagnosticsSinkProperties properties of a DiagnosticsSink.
24065type BasicDiagnosticsSinkProperties interface {
24066	AsDiagnosticsSinkProperties() (*DiagnosticsSinkProperties, bool)
24067}
24068
24069// DiagnosticsSinkProperties properties of a DiagnosticsSink.
24070type DiagnosticsSinkProperties struct {
24071	// Name - Name of the sink. This value is referenced by DiagnosticsReferenceDescription
24072	Name *string `json:"name,omitempty"`
24073	// Description - A description of the sink.
24074	Description *string `json:"description,omitempty"`
24075	// Kind - Possible values include: 'KindDiagnosticsSinkProperties'
24076	Kind KindBasicDiagnosticsSinkProperties `json:"kind,omitempty"`
24077}
24078
24079func unmarshalBasicDiagnosticsSinkProperties(body []byte) (BasicDiagnosticsSinkProperties, error) {
24080	var m map[string]interface{}
24081	err := json.Unmarshal(body, &m)
24082	if err != nil {
24083		return nil, err
24084	}
24085
24086	switch m["kind"] {
24087	default:
24088		var dsp DiagnosticsSinkProperties
24089		err := json.Unmarshal(body, &dsp)
24090		return dsp, err
24091	}
24092}
24093func unmarshalBasicDiagnosticsSinkPropertiesArray(body []byte) ([]BasicDiagnosticsSinkProperties, error) {
24094	var rawMessages []*json.RawMessage
24095	err := json.Unmarshal(body, &rawMessages)
24096	if err != nil {
24097		return nil, err
24098	}
24099
24100	dspArray := make([]BasicDiagnosticsSinkProperties, len(rawMessages))
24101
24102	for index, rawMessage := range rawMessages {
24103		dsp, err := unmarshalBasicDiagnosticsSinkProperties(*rawMessage)
24104		if err != nil {
24105			return nil, err
24106		}
24107		dspArray[index] = dsp
24108	}
24109	return dspArray, nil
24110}
24111
24112// MarshalJSON is the custom marshaler for DiagnosticsSinkProperties.
24113func (dsp DiagnosticsSinkProperties) MarshalJSON() ([]byte, error) {
24114	dsp.Kind = KindDiagnosticsSinkProperties
24115	objectMap := make(map[string]interface{})
24116	if dsp.Name != nil {
24117		objectMap["name"] = dsp.Name
24118	}
24119	if dsp.Description != nil {
24120		objectMap["description"] = dsp.Description
24121	}
24122	if dsp.Kind != "" {
24123		objectMap["kind"] = dsp.Kind
24124	}
24125	return json.Marshal(objectMap)
24126}
24127
24128// AsDiagnosticsSinkProperties is the BasicDiagnosticsSinkProperties implementation for DiagnosticsSinkProperties.
24129func (dsp DiagnosticsSinkProperties) AsDiagnosticsSinkProperties() (*DiagnosticsSinkProperties, bool) {
24130	return &dsp, true
24131}
24132
24133// AsBasicDiagnosticsSinkProperties is the BasicDiagnosticsSinkProperties implementation for DiagnosticsSinkProperties.
24134func (dsp DiagnosticsSinkProperties) AsBasicDiagnosticsSinkProperties() (BasicDiagnosticsSinkProperties, bool) {
24135	return &dsp, true
24136}
24137
24138// DoublePropertyValue describes a Service Fabric property value of type Double.
24139type DoublePropertyValue struct {
24140	// Data - The data of the property value.
24141	Data *float64 `json:"Data,omitempty"`
24142	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
24143	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
24144}
24145
24146// MarshalJSON is the custom marshaler for DoublePropertyValue.
24147func (dpv DoublePropertyValue) MarshalJSON() ([]byte, error) {
24148	dpv.Kind = KindDouble
24149	objectMap := make(map[string]interface{})
24150	if dpv.Data != nil {
24151		objectMap["Data"] = dpv.Data
24152	}
24153	if dpv.Kind != "" {
24154		objectMap["Kind"] = dpv.Kind
24155	}
24156	return json.Marshal(objectMap)
24157}
24158
24159// AsBinaryPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
24160func (dpv DoublePropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
24161	return nil, false
24162}
24163
24164// AsInt64PropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
24165func (dpv DoublePropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
24166	return nil, false
24167}
24168
24169// AsDoublePropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
24170func (dpv DoublePropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
24171	return &dpv, true
24172}
24173
24174// AsStringPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
24175func (dpv DoublePropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
24176	return nil, false
24177}
24178
24179// AsGUIDPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
24180func (dpv DoublePropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
24181	return nil, false
24182}
24183
24184// AsPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
24185func (dpv DoublePropertyValue) AsPropertyValue() (*PropertyValue, bool) {
24186	return nil, false
24187}
24188
24189// AsBasicPropertyValue is the BasicPropertyValue implementation for DoublePropertyValue.
24190func (dpv DoublePropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
24191	return &dpv, true
24192}
24193
24194// EnableBackupDescription specifies the parameters needed to enable periodic backup.
24195type EnableBackupDescription struct {
24196	// BackupPolicyName - Name of the backup policy to be used for enabling periodic backups.
24197	BackupPolicyName *string `json:"BackupPolicyName,omitempty"`
24198}
24199
24200// EndpointProperties describes a container endpoint.
24201type EndpointProperties struct {
24202	// Name - The name of the endpoint.
24203	Name *string `json:"name,omitempty"`
24204	// Port - Port used by the container.
24205	Port *int32 `json:"port,omitempty"`
24206}
24207
24208// EnsureAvailabilitySafetyCheck safety check that waits to ensure the availability of the partition. It
24209// waits until there are replicas available such that bringing down this replica will not cause
24210// availability loss for the partition.
24211type EnsureAvailabilitySafetyCheck struct {
24212	// PartitionID - Id of the partition which is undergoing the safety check.
24213	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
24214	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
24215	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
24216}
24217
24218// MarshalJSON is the custom marshaler for EnsureAvailabilitySafetyCheck.
24219func (easc EnsureAvailabilitySafetyCheck) MarshalJSON() ([]byte, error) {
24220	easc.Kind = KindEnsureAvailability
24221	objectMap := make(map[string]interface{})
24222	if easc.PartitionID != nil {
24223		objectMap["PartitionId"] = easc.PartitionID
24224	}
24225	if easc.Kind != "" {
24226		objectMap["Kind"] = easc.Kind
24227	}
24228	return json.Marshal(objectMap)
24229}
24230
24231// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24232func (easc EnsureAvailabilitySafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
24233	return nil, false
24234}
24235
24236// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24237func (easc EnsureAvailabilitySafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
24238	return &easc, true
24239}
24240
24241// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24242func (easc EnsureAvailabilitySafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
24243	return &easc, true
24244}
24245
24246// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24247func (easc EnsureAvailabilitySafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
24248	return nil, false
24249}
24250
24251// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24252func (easc EnsureAvailabilitySafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
24253	return nil, false
24254}
24255
24256// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24257func (easc EnsureAvailabilitySafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
24258	return nil, false
24259}
24260
24261// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24262func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
24263	return nil, false
24264}
24265
24266// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24267func (easc EnsureAvailabilitySafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
24268	return nil, false
24269}
24270
24271// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24272func (easc EnsureAvailabilitySafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
24273	return nil, false
24274}
24275
24276// AsSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24277func (easc EnsureAvailabilitySafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
24278	return nil, false
24279}
24280
24281// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsureAvailabilitySafetyCheck.
24282func (easc EnsureAvailabilitySafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
24283	return &easc, true
24284}
24285
24286// EnsurePartitionQurumSafetyCheck safety check that ensures that a quorum of replicas are not lost for a
24287// partition.
24288type EnsurePartitionQurumSafetyCheck struct {
24289	// PartitionID - Id of the partition which is undergoing the safety check.
24290	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
24291	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
24292	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
24293}
24294
24295// MarshalJSON is the custom marshaler for EnsurePartitionQurumSafetyCheck.
24296func (epqsc EnsurePartitionQurumSafetyCheck) MarshalJSON() ([]byte, error) {
24297	epqsc.Kind = KindEnsurePartitionQuorum
24298	objectMap := make(map[string]interface{})
24299	if epqsc.PartitionID != nil {
24300		objectMap["PartitionId"] = epqsc.PartitionID
24301	}
24302	if epqsc.Kind != "" {
24303		objectMap["Kind"] = epqsc.Kind
24304	}
24305	return json.Marshal(objectMap)
24306}
24307
24308// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24309func (epqsc EnsurePartitionQurumSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
24310	return nil, false
24311}
24312
24313// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24314func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
24315	return &epqsc, true
24316}
24317
24318// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24319func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
24320	return nil, false
24321}
24322
24323// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24324func (epqsc EnsurePartitionQurumSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
24325	return &epqsc, true
24326}
24327
24328// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24329func (epqsc EnsurePartitionQurumSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
24330	return nil, false
24331}
24332
24333// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24334func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
24335	return nil, false
24336}
24337
24338// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24339func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
24340	return nil, false
24341}
24342
24343// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24344func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
24345	return nil, false
24346}
24347
24348// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24349func (epqsc EnsurePartitionQurumSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
24350	return nil, false
24351}
24352
24353// AsSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24354func (epqsc EnsurePartitionQurumSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
24355	return nil, false
24356}
24357
24358// AsBasicSafetyCheck is the BasicSafetyCheck implementation for EnsurePartitionQurumSafetyCheck.
24359func (epqsc EnsurePartitionQurumSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
24360	return &epqsc, true
24361}
24362
24363// EntityHealth health information common to all entities in the cluster. It contains the aggregated health
24364// state, health events and unhealthy evaluation.
24365type EntityHealth struct {
24366	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
24367	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
24368	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
24369	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
24370	// HealthEvents - The list of health events reported on the entity.
24371	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
24372	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
24373	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
24374	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
24375	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
24376}
24377
24378// EntityHealthState a base type for the health state of various entities in the cluster. It contains the
24379// aggregated health state.
24380type EntityHealthState struct {
24381	// 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'
24382	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
24383}
24384
24385// EntityHealthStateChunk a base type for the health state chunk of various entities in the cluster. It
24386// contains the aggregated health state.
24387type EntityHealthStateChunk struct {
24388	// 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'
24389	HealthState HealthState `json:"HealthState,omitempty"`
24390}
24391
24392// EntityHealthStateChunkList a base type for the list of health state chunks found in the cluster. It
24393// contains the total number of health states that match the input filters.
24394type EntityHealthStateChunkList struct {
24395	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
24396	TotalCount *int64 `json:"TotalCount,omitempty"`
24397}
24398
24399// EntityKindHealthStateCount represents health state count for entities of the specified entity kind.
24400type EntityKindHealthStateCount struct {
24401	// EntityKind - The entity kind for which health states are evaluated. Possible values include: 'EntityKindInvalid', 'EntityKindNode', 'EntityKindPartition', 'EntityKindService', 'EntityKindApplication', 'EntityKindReplica', 'EntityKindDeployedApplication', 'EntityKindDeployedServicePackage', 'EntityKindCluster'
24402	EntityKind EntityKind `json:"EntityKind,omitempty"`
24403	// HealthStateCount - The health state count for the entities of the specified kind.
24404	HealthStateCount *HealthStateCount `json:"HealthStateCount,omitempty"`
24405}
24406
24407// EnvironmentVariable describes an environment variable for the container.
24408type EnvironmentVariable struct {
24409	// Name - The name of the environment variable.
24410	Name *string `json:"name,omitempty"`
24411	// Value - The value of the environment variable.
24412	Value *string `json:"value,omitempty"`
24413}
24414
24415// Epoch an Epoch is a configuration number for the partition as a whole. When the configuration of the
24416// replica set changes, for example when the Primary replica changes, the operations that are replicated
24417// from the new Primary replica are said to be a new Epoch from the ones which were sent by the old Primary
24418// replica.
24419type Epoch struct {
24420	// 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.
24421	ConfigurationVersion *string `json:"ConfigurationVersion,omitempty"`
24422	// DataLossVersion - The current data loss number of this Epoch. The data loss number property is an increasing value which is updated whenever data loss is suspected, as when loss of a quorum of replicas in the replica set that includes the Primary replica.
24423	DataLossVersion *string `json:"DataLossVersion,omitempty"`
24424}
24425
24426// EventHealthEvaluation represents health evaluation of a HealthEvent that was reported on the entity.
24427// The health evaluation is returned when evaluating health of an entity results in Error or Warning.
24428type EventHealthEvaluation struct {
24429	// 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.
24430	ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"`
24431	// UnhealthyEvent - Represents health information reported on a health entity, such as cluster, application or node, with additional metadata added by the Health Manager.
24432	UnhealthyEvent *HealthEvent `json:"UnhealthyEvent,omitempty"`
24433	// 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'
24434	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
24435	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
24436	Description *string `json:"Description,omitempty"`
24437	// 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'
24438	Kind Kind `json:"Kind,omitempty"`
24439}
24440
24441// MarshalJSON is the custom marshaler for EventHealthEvaluation.
24442func (ehe EventHealthEvaluation) MarshalJSON() ([]byte, error) {
24443	ehe.Kind = KindEvent
24444	objectMap := make(map[string]interface{})
24445	if ehe.ConsiderWarningAsError != nil {
24446		objectMap["ConsiderWarningAsError"] = ehe.ConsiderWarningAsError
24447	}
24448	if ehe.UnhealthyEvent != nil {
24449		objectMap["UnhealthyEvent"] = ehe.UnhealthyEvent
24450	}
24451	if ehe.AggregatedHealthState != "" {
24452		objectMap["AggregatedHealthState"] = ehe.AggregatedHealthState
24453	}
24454	if ehe.Description != nil {
24455		objectMap["Description"] = ehe.Description
24456	}
24457	if ehe.Kind != "" {
24458		objectMap["Kind"] = ehe.Kind
24459	}
24460	return json.Marshal(objectMap)
24461}
24462
24463// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24464func (ehe EventHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
24465	return nil, false
24466}
24467
24468// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24469func (ehe EventHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
24470	return nil, false
24471}
24472
24473// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24474func (ehe EventHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
24475	return nil, false
24476}
24477
24478// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24479func (ehe EventHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
24480	return nil, false
24481}
24482
24483// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24484func (ehe EventHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
24485	return nil, false
24486}
24487
24488// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24489func (ehe EventHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
24490	return nil, false
24491}
24492
24493// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24494func (ehe EventHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
24495	return nil, false
24496}
24497
24498// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24499func (ehe EventHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
24500	return nil, false
24501}
24502
24503// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24504func (ehe EventHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
24505	return &ehe, true
24506}
24507
24508// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24509func (ehe EventHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
24510	return nil, false
24511}
24512
24513// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24514func (ehe EventHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
24515	return nil, false
24516}
24517
24518// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24519func (ehe EventHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
24520	return nil, false
24521}
24522
24523// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24524func (ehe EventHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
24525	return nil, false
24526}
24527
24528// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24529func (ehe EventHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
24530	return nil, false
24531}
24532
24533// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24534func (ehe EventHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
24535	return nil, false
24536}
24537
24538// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24539func (ehe EventHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
24540	return nil, false
24541}
24542
24543// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24544func (ehe EventHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
24545	return nil, false
24546}
24547
24548// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24549func (ehe EventHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
24550	return nil, false
24551}
24552
24553// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24554func (ehe EventHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
24555	return nil, false
24556}
24557
24558// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24559func (ehe EventHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
24560	return nil, false
24561}
24562
24563// AsHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24564func (ehe EventHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
24565	return nil, false
24566}
24567
24568// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for EventHealthEvaluation.
24569func (ehe EventHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
24570	return &ehe, true
24571}
24572
24573// ExecutingFaultsChaosEvent describes a Chaos event that gets generated when Chaos has decided on the
24574// faults for an iteration. This Chaos event contains the details of the faults as a list of strings.
24575type ExecutingFaultsChaosEvent struct {
24576	// Faults - List of string description of the faults that Chaos decided to execute in an iteration.
24577	Faults *[]string `json:"Faults,omitempty"`
24578	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
24579	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
24580	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
24581	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
24582}
24583
24584// MarshalJSON is the custom marshaler for ExecutingFaultsChaosEvent.
24585func (efce ExecutingFaultsChaosEvent) MarshalJSON() ([]byte, error) {
24586	efce.Kind = KindExecutingFaults
24587	objectMap := make(map[string]interface{})
24588	if efce.Faults != nil {
24589		objectMap["Faults"] = efce.Faults
24590	}
24591	if efce.TimeStampUtc != nil {
24592		objectMap["TimeStampUtc"] = efce.TimeStampUtc
24593	}
24594	if efce.Kind != "" {
24595		objectMap["Kind"] = efce.Kind
24596	}
24597	return json.Marshal(objectMap)
24598}
24599
24600// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24601func (efce ExecutingFaultsChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
24602	return &efce, true
24603}
24604
24605// AsStartedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24606func (efce ExecutingFaultsChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
24607	return nil, false
24608}
24609
24610// AsStoppedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24611func (efce ExecutingFaultsChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
24612	return nil, false
24613}
24614
24615// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24616func (efce ExecutingFaultsChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
24617	return nil, false
24618}
24619
24620// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24621func (efce ExecutingFaultsChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
24622	return nil, false
24623}
24624
24625// AsWaitingChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24626func (efce ExecutingFaultsChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
24627	return nil, false
24628}
24629
24630// AsChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24631func (efce ExecutingFaultsChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
24632	return nil, false
24633}
24634
24635// AsBasicChaosEvent is the BasicChaosEvent implementation for ExecutingFaultsChaosEvent.
24636func (efce ExecutingFaultsChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
24637	return &efce, true
24638}
24639
24640// ExternalStoreProvisionApplicationTypeDescription describes the operation to register or provision an
24641// application type using an application package from an external store instead of a package uploaded to
24642// the Service Fabric image store.
24643type ExternalStoreProvisionApplicationTypeDescription struct {
24644	// 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.
24645	ApplicationPackageDownloadURI *string `json:"ApplicationPackageDownloadUri,omitempty"`
24646	// ApplicationTypeName - The application type name represents the name of the application type found in the application manifest.
24647	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
24648	// ApplicationTypeVersion - The application type version represents the version of the application type found in the application manifest.
24649	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
24650	// 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.
24651	Async *bool `json:"Async,omitempty"`
24652	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
24653	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
24654}
24655
24656// MarshalJSON is the custom marshaler for ExternalStoreProvisionApplicationTypeDescription.
24657func (espatd ExternalStoreProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
24658	espatd.Kind = KindExternalStore
24659	objectMap := make(map[string]interface{})
24660	if espatd.ApplicationPackageDownloadURI != nil {
24661		objectMap["ApplicationPackageDownloadUri"] = espatd.ApplicationPackageDownloadURI
24662	}
24663	if espatd.ApplicationTypeName != nil {
24664		objectMap["ApplicationTypeName"] = espatd.ApplicationTypeName
24665	}
24666	if espatd.ApplicationTypeVersion != nil {
24667		objectMap["ApplicationTypeVersion"] = espatd.ApplicationTypeVersion
24668	}
24669	if espatd.Async != nil {
24670		objectMap["Async"] = espatd.Async
24671	}
24672	if espatd.Kind != "" {
24673		objectMap["Kind"] = espatd.Kind
24674	}
24675	return json.Marshal(objectMap)
24676}
24677
24678// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24679func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
24680	return nil, false
24681}
24682
24683// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24684func (espatd ExternalStoreProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
24685	return &espatd, true
24686}
24687
24688// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24689func (espatd ExternalStoreProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
24690	return nil, false
24691}
24692
24693// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ExternalStoreProvisionApplicationTypeDescription.
24694func (espatd ExternalStoreProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
24695	return &espatd, true
24696}
24697
24698// FabricCodeVersionInfo information about a Service Fabric code version.
24699type FabricCodeVersionInfo struct {
24700	// CodeVersion - The product version of Service Fabric.
24701	CodeVersion *string `json:"CodeVersion,omitempty"`
24702}
24703
24704// FabricConfigVersionInfo information about a Service Fabric config version.
24705type FabricConfigVersionInfo struct {
24706	// ConfigVersion - The config version of Service Fabric.
24707	ConfigVersion *string `json:"ConfigVersion,omitempty"`
24708}
24709
24710// FabricError the REST API operations for Service Fabric return standard HTTP status codes. This type
24711// defines the additional information returned from the Service Fabric API operations that are not
24712// successful.
24713type FabricError struct {
24714	// Error - Error object containing error code and error message.
24715	Error *FabricErrorError `json:"Error,omitempty"`
24716}
24717
24718// FabricErrorError error object containing error code and error message.
24719type FabricErrorError struct {
24720	// 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.
24721	//   - Possible values of the error code for HTTP status code 400 (Bad Request)
24722	//     - "FABRIC_E_INVALID_PARTITION_KEY"
24723	//     - "FABRIC_E_IMAGEBUILDER_VALIDATION_ERROR"
24724	//     - "FABRIC_E_INVALID_ADDRESS"
24725	//     - "FABRIC_E_APPLICATION_NOT_UPGRADING"
24726	//     - "FABRIC_E_APPLICATION_UPGRADE_VALIDATION_ERROR"
24727	//     - "FABRIC_E_FABRIC_NOT_UPGRADING"
24728	//     - "FABRIC_E_FABRIC_UPGRADE_VALIDATION_ERROR"
24729	//     - "FABRIC_E_INVALID_CONFIGURATION"
24730	//     - "FABRIC_E_INVALID_NAME_URI"
24731	//     - "FABRIC_E_PATH_TOO_LONG"
24732	//     - "FABRIC_E_KEY_TOO_LARGE"
24733	//     - "FABRIC_E_SERVICE_AFFINITY_CHAIN_NOT_SUPPORTED"
24734	//     - "FABRIC_E_INVALID_ATOMIC_GROUP"
24735	//     - "FABRIC_E_VALUE_EMPTY"
24736	//     - "FABRIC_E_BACKUP_IS_ENABLED"
24737	//     - "FABRIC_E_RESTORE_SOURCE_TARGET_PARTITION_MISMATCH"
24738	//     - "FABRIC_E_INVALID_FOR_STATELESS_SERVICES"
24739	//     - "FABRIC_E_INVALID_SERVICE_SCALING_POLICY"
24740	//     - "E_INVALIDARG"
24741	//   - Possible values of the error code for HTTP status code 404 (Not Found)
24742	//     - "FABRIC_E_NODE_NOT_FOUND"
24743	//     - "FABRIC_E_APPLICATION_TYPE_NOT_FOUND"
24744	//     - "FABRIC_E_APPLICATION_NOT_FOUND"
24745	//     - "FABRIC_E_SERVICE_TYPE_NOT_FOUND"
24746	//     - "FABRIC_E_SERVICE_DOES_NOT_EXIST"
24747	//     - "FABRIC_E_SERVICE_TYPE_TEMPLATE_NOT_FOUND"
24748	//     - "FABRIC_E_CONFIGURATION_SECTION_NOT_FOUND"
24749	//     - "FABRIC_E_PARTITION_NOT_FOUND"
24750	//     - "FABRIC_E_REPLICA_DOES_NOT_EXIST"
24751	//     - "FABRIC_E_SERVICE_GROUP_DOES_NOT_EXIST"
24752	//     - "FABRIC_E_CONFIGURATION_PARAMETER_NOT_FOUND"
24753	//     - "FABRIC_E_DIRECTORY_NOT_FOUND"
24754	//     - "FABRIC_E_FABRIC_VERSION_NOT_FOUND"
24755	//     - "FABRIC_E_FILE_NOT_FOUND"
24756	//     - "FABRIC_E_NAME_DOES_NOT_EXIST"
24757	//     - "FABRIC_E_PROPERTY_DOES_NOT_EXIST"
24758	//     - "FABRIC_E_ENUMERATION_COMPLETED"
24759	//     - "FABRIC_E_SERVICE_MANIFEST_NOT_FOUND"
24760	//     - "FABRIC_E_KEY_NOT_FOUND"
24761	//     - "FABRIC_E_HEALTH_ENTITY_NOT_FOUND"
24762	//     - "FABRIC_E_BACKUP_NOT_ENABLED"
24763	//     - "FABRIC_E_BACKUP_POLICY_NOT_EXISTING"
24764	//     - "FABRIC_E_FAULT_ANALYSIS_SERVICE_NOT_EXISTING"
24765	//   - Possible values of the error code for HTTP status code 409 (Conflict)
24766	//     - "FABRIC_E_APPLICATION_TYPE_ALREADY_EXISTS"
24767	//     - "FABRIC_E_APPLICATION_ALREADY_EXISTS"
24768	//     - "FABRIC_E_APPLICATION_ALREADY_IN_TARGET_VERSION"
24769	//     - "FABRIC_E_APPLICATION_TYPE_PROVISION_IN_PROGRESS"
24770	//     - "FABRIC_E_APPLICATION_UPGRADE_IN_PROGRESS"
24771	//     - "FABRIC_E_SERVICE_ALREADY_EXISTS"
24772	//     - "FABRIC_E_SERVICE_GROUP_ALREADY_EXISTS"
24773	//     - "FABRIC_E_APPLICATION_TYPE_IN_USE"
24774	//     - "FABRIC_E_FABRIC_ALREADY_IN_TARGET_VERSION"
24775	//     - "FABRIC_E_FABRIC_VERSION_ALREADY_EXISTS"
24776	//     - "FABRIC_E_FABRIC_VERSION_IN_USE"
24777	//     - "FABRIC_E_FABRIC_UPGRADE_IN_PROGRESS"
24778	//     - "FABRIC_E_NAME_ALREADY_EXISTS"
24779	//     - "FABRIC_E_NAME_NOT_EMPTY"
24780	//     - "FABRIC_E_PROPERTY_CHECK_FAILED"
24781	//     - "FABRIC_E_SERVICE_METADATA_MISMATCH"
24782	//     - "FABRIC_E_SERVICE_TYPE_MISMATCH"
24783	//     - "FABRIC_E_HEALTH_STALE_REPORT"
24784	//     - "FABRIC_E_SEQUENCE_NUMBER_CHECK_FAILED"
24785	//     - "FABRIC_E_NODE_HAS_NOT_STOPPED_YET"
24786	//     - "FABRIC_E_INSTANCE_ID_MISMATCH"
24787	//     - "FABRIC_E_BACKUP_IN_PROGRESS"
24788	//     - "FABRIC_E_RESTORE_IN_PROGRESS"
24789	//     - "FABRIC_E_BACKUP_POLICY_ALREADY_EXISTING"
24790	//   - Possible values of the error code for HTTP status code 413 (Request Entity Too Large)
24791	//     - "FABRIC_E_VALUE_TOO_LARGE"
24792	//   - Possible values of the error code for HTTP status code 500 (Internal Server Error)
24793	//     - "FABRIC_E_NODE_IS_UP"
24794	//     - "E_FAIL"
24795	//     - "FABRIC_E_SINGLE_INSTANCE_APPLICATION_ALREADY_EXISTS"
24796	//     - "FABRIC_E_SINGLE_INSTANCE_APPLICATION_NOT_FOUND"
24797	//     - "FABRIC_E_VOLUME_ALREADY_EXISTS"
24798	//     - "FABRIC_E_VOLUME_NOT_FOUND"
24799	//     - "SerializationError"
24800	//   - Possible values of the error code for HTTP status code 503 (Service Unavailable)
24801	//     - "FABRIC_E_NO_WRITE_QUORUM"
24802	//     - "FABRIC_E_NOT_PRIMARY"
24803	//     - "FABRIC_E_NOT_READY"
24804	//     - "FABRIC_E_RECONFIGURATION_PENDING"
24805	//     - "FABRIC_E_SERVICE_OFFLINE"
24806	//     - "E_ABORT"
24807	//     - "FABRIC_E_VALUE_TOO_LARGE"
24808	//   - Possible values of the error code for HTTP status code 504 (Gateway Timeout)
24809	//     - "FABRIC_E_COMMUNICATION_ERROR"
24810	//     - "FABRIC_E_OPERATION_NOT_COMPLETE"
24811	//     - "FABRIC_E_TIMEOUT". Possible values include: 'FABRICEINVALIDPARTITIONKEY', 'FABRICEIMAGEBUILDERVALIDATIONERROR', 'FABRICEINVALIDADDRESS', 'FABRICEAPPLICATIONNOTUPGRADING', 'FABRICEAPPLICATIONUPGRADEVALIDATIONERROR', 'FABRICEFABRICNOTUPGRADING', 'FABRICEFABRICUPGRADEVALIDATIONERROR', 'FABRICEINVALIDCONFIGURATION', 'FABRICEINVALIDNAMEURI', 'FABRICEPATHTOOLONG', 'FABRICEKEYTOOLARGE', 'FABRICESERVICEAFFINITYCHAINNOTSUPPORTED', 'FABRICEINVALIDATOMICGROUP', 'FABRICEVALUEEMPTY', 'FABRICENODENOTFOUND', 'FABRICEAPPLICATIONTYPENOTFOUND', 'FABRICEAPPLICATIONNOTFOUND', 'FABRICESERVICETYPENOTFOUND', 'FABRICESERVICEDOESNOTEXIST', 'FABRICESERVICETYPETEMPLATENOTFOUND', 'FABRICECONFIGURATIONSECTIONNOTFOUND', 'FABRICEPARTITIONNOTFOUND', 'FABRICEREPLICADOESNOTEXIST', 'FABRICESERVICEGROUPDOESNOTEXIST', 'FABRICECONFIGURATIONPARAMETERNOTFOUND', 'FABRICEDIRECTORYNOTFOUND', 'FABRICEFABRICVERSIONNOTFOUND', 'FABRICEFILENOTFOUND', 'FABRICENAMEDOESNOTEXIST', 'FABRICEPROPERTYDOESNOTEXIST', 'FABRICEENUMERATIONCOMPLETED', 'FABRICESERVICEMANIFESTNOTFOUND', 'FABRICEKEYNOTFOUND', 'FABRICEHEALTHENTITYNOTFOUND', 'FABRICEAPPLICATIONTYPEALREADYEXISTS', 'FABRICEAPPLICATIONALREADYEXISTS', 'FABRICEAPPLICATIONALREADYINTARGETVERSION', 'FABRICEAPPLICATIONTYPEPROVISIONINPROGRESS', 'FABRICEAPPLICATIONUPGRADEINPROGRESS', 'FABRICESERVICEALREADYEXISTS', 'FABRICESERVICEGROUPALREADYEXISTS', 'FABRICEAPPLICATIONTYPEINUSE', 'FABRICEFABRICALREADYINTARGETVERSION', 'FABRICEFABRICVERSIONALREADYEXISTS', 'FABRICEFABRICVERSIONINUSE', 'FABRICEFABRICUPGRADEINPROGRESS', 'FABRICENAMEALREADYEXISTS', 'FABRICENAMENOTEMPTY', 'FABRICEPROPERTYCHECKFAILED', 'FABRICESERVICEMETADATAMISMATCH', 'FABRICESERVICETYPEMISMATCH', 'FABRICEHEALTHSTALEREPORT', 'FABRICESEQUENCENUMBERCHECKFAILED', 'FABRICENODEHASNOTSTOPPEDYET', 'FABRICEINSTANCEIDMISMATCH', 'FABRICEVALUETOOLARGE', 'FABRICENOWRITEQUORUM', 'FABRICENOTPRIMARY', 'FABRICENOTREADY', 'FABRICERECONFIGURATIONPENDING', 'FABRICESERVICEOFFLINE', 'EABORT', 'FABRICECOMMUNICATIONERROR', 'FABRICEOPERATIONNOTCOMPLETE', 'FABRICETIMEOUT', 'FABRICENODEISUP', 'EFAIL', 'FABRICEBACKUPISENABLED', 'FABRICERESTORESOURCETARGETPARTITIONMISMATCH', 'FABRICEINVALIDFORSTATELESSSERVICES', 'FABRICEBACKUPNOTENABLED', 'FABRICEBACKUPPOLICYNOTEXISTING', 'FABRICEFAULTANALYSISSERVICENOTEXISTING', 'FABRICEBACKUPINPROGRESS', 'FABRICERESTOREINPROGRESS', 'FABRICEBACKUPPOLICYALREADYEXISTING', 'FABRICEINVALIDSERVICESCALINGPOLICY', 'EINVALIDARG', 'FABRICESINGLEINSTANCEAPPLICATIONALREADYEXISTS', 'FABRICESINGLEINSTANCEAPPLICATIONNOTFOUND', 'FABRICEVOLUMEALREADYEXISTS', 'FABRICEVOLUMENOTFOUND', 'SerializationError'
24812	Code FabricErrorCodes `json:"Code,omitempty"`
24813	// Message - Error message.
24814	Message *string `json:"Message,omitempty"`
24815}
24816
24817// BasicFabricEvent represents the base for all Fabric Events.
24818type BasicFabricEvent interface {
24819	AsApplicationEvent() (*ApplicationEvent, bool)
24820	AsBasicApplicationEvent() (BasicApplicationEvent, bool)
24821	AsClusterEvent() (*ClusterEvent, bool)
24822	AsBasicClusterEvent() (BasicClusterEvent, bool)
24823	AsContainerInstanceEvent() (*ContainerInstanceEvent, bool)
24824	AsNodeEvent() (*NodeEvent, bool)
24825	AsBasicNodeEvent() (BasicNodeEvent, bool)
24826	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
24827	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
24828	AsPartitionEvent() (*PartitionEvent, bool)
24829	AsBasicPartitionEvent() (BasicPartitionEvent, bool)
24830	AsReplicaEvent() (*ReplicaEvent, bool)
24831	AsBasicReplicaEvent() (BasicReplicaEvent, bool)
24832	AsServiceEvent() (*ServiceEvent, bool)
24833	AsBasicServiceEvent() (BasicServiceEvent, bool)
24834	AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool)
24835	AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool)
24836	AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool)
24837	AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool)
24838	AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool)
24839	AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool)
24840	AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool)
24841	AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool)
24842	AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool)
24843	AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool)
24844	AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool)
24845	AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool)
24846	AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool)
24847	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
24848	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
24849	AsNodeAddedEvent() (*NodeAddedEvent, bool)
24850	AsNodeCloseEvent() (*NodeCloseEvent, bool)
24851	AsNodeClosingEvent() (*NodeClosingEvent, bool)
24852	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
24853	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
24854	AsNodeDownEvent() (*NodeDownEvent, bool)
24855	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
24856	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
24857	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
24858	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
24859	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
24860	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
24861	AsNodeUpEvent() (*NodeUpEvent, bool)
24862	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
24863	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
24864	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
24865	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
24866	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
24867	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
24868	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
24869	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
24870	AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool)
24871	AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool)
24872	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
24873	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
24874	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
24875	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
24876	AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool)
24877	AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool)
24878	AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool)
24879	AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool)
24880	AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool)
24881	AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool)
24882	AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool)
24883	AsChaosStoppedEvent() (*ChaosStoppedEvent, bool)
24884	AsChaosStartedEvent() (*ChaosStartedEvent, bool)
24885	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
24886	AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool)
24887	AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool)
24888	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
24889	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
24890	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
24891	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
24892	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
24893	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
24894	AsFabricEvent() (*FabricEvent, bool)
24895}
24896
24897// FabricEvent represents the base for all Fabric Events.
24898type FabricEvent struct {
24899	// EventInstanceID - The identifier for the FabricEvent instance.
24900	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
24901	// TimeStamp - The time event was logged.
24902	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
24903	// HasCorrelatedEvents - Shows there is existing related events available.
24904	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
24905	// 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'
24906	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
24907}
24908
24909func unmarshalBasicFabricEvent(body []byte) (BasicFabricEvent, error) {
24910	var m map[string]interface{}
24911	err := json.Unmarshal(body, &m)
24912	if err != nil {
24913		return nil, err
24914	}
24915
24916	switch m["Kind"] {
24917	case string(KindApplicationEvent):
24918		var ae ApplicationEvent
24919		err := json.Unmarshal(body, &ae)
24920		return ae, err
24921	case string(KindClusterEvent):
24922		var ce ClusterEvent
24923		err := json.Unmarshal(body, &ce)
24924		return ce, err
24925	case string(KindContainerInstanceEvent):
24926		var cie ContainerInstanceEvent
24927		err := json.Unmarshal(body, &cie)
24928		return cie, err
24929	case string(KindNodeEvent):
24930		var ne NodeEvent
24931		err := json.Unmarshal(body, &ne)
24932		return ne, err
24933	case string(KindPartitionAnalysisEvent):
24934		var pae PartitionAnalysisEvent
24935		err := json.Unmarshal(body, &pae)
24936		return pae, err
24937	case string(KindPartitionEvent):
24938		var peVar PartitionEvent
24939		err := json.Unmarshal(body, &peVar)
24940		return peVar, err
24941	case string(KindReplicaEvent):
24942		var re ReplicaEvent
24943		err := json.Unmarshal(body, &re)
24944		return re, err
24945	case string(KindServiceEvent):
24946		var se ServiceEvent
24947		err := json.Unmarshal(body, &se)
24948		return se, err
24949	case string(KindApplicationCreated):
24950		var ace ApplicationCreatedEvent
24951		err := json.Unmarshal(body, &ace)
24952		return ace, err
24953	case string(KindApplicationDeleted):
24954		var ade ApplicationDeletedEvent
24955		err := json.Unmarshal(body, &ade)
24956		return ade, err
24957	case string(KindApplicationHealthReportCreated):
24958		var ahrce ApplicationHealthReportCreatedEvent
24959		err := json.Unmarshal(body, &ahrce)
24960		return ahrce, err
24961	case string(KindApplicationHealthReportExpired):
24962		var ahree ApplicationHealthReportExpiredEvent
24963		err := json.Unmarshal(body, &ahree)
24964		return ahree, err
24965	case string(KindApplicationUpgradeComplete):
24966		var auce ApplicationUpgradeCompleteEvent
24967		err := json.Unmarshal(body, &auce)
24968		return auce, err
24969	case string(KindApplicationUpgradeDomainComplete):
24970		var audce ApplicationUpgradeDomainCompleteEvent
24971		err := json.Unmarshal(body, &audce)
24972		return audce, err
24973	case string(KindApplicationUpgradeRollbackComplete):
24974		var aurce ApplicationUpgradeRollbackCompleteEvent
24975		err := json.Unmarshal(body, &aurce)
24976		return aurce, err
24977	case string(KindApplicationUpgradeRollbackStart):
24978		var aurse ApplicationUpgradeRollbackStartEvent
24979		err := json.Unmarshal(body, &aurse)
24980		return aurse, err
24981	case string(KindApplicationUpgradeStart):
24982		var ause ApplicationUpgradeStartEvent
24983		err := json.Unmarshal(body, &ause)
24984		return ause, err
24985	case string(KindDeployedApplicationHealthReportCreated):
24986		var dahrce DeployedApplicationHealthReportCreatedEvent
24987		err := json.Unmarshal(body, &dahrce)
24988		return dahrce, err
24989	case string(KindDeployedApplicationHealthReportExpired):
24990		var dahree DeployedApplicationHealthReportExpiredEvent
24991		err := json.Unmarshal(body, &dahree)
24992		return dahree, err
24993	case string(KindProcessDeactivated):
24994		var pde ProcessDeactivatedEvent
24995		err := json.Unmarshal(body, &pde)
24996		return pde, err
24997	case string(KindContainerDeactivated):
24998		var cde ContainerDeactivatedEvent
24999		err := json.Unmarshal(body, &cde)
25000		return cde, err
25001	case string(KindNodeAborted):
25002		var nae NodeAbortedEvent
25003		err := json.Unmarshal(body, &nae)
25004		return nae, err
25005	case string(KindNodeAborting):
25006		var nae NodeAbortingEvent
25007		err := json.Unmarshal(body, &nae)
25008		return nae, err
25009	case string(KindNodeAdded):
25010		var nae NodeAddedEvent
25011		err := json.Unmarshal(body, &nae)
25012		return nae, err
25013	case string(KindNodeClose):
25014		var nce NodeCloseEvent
25015		err := json.Unmarshal(body, &nce)
25016		return nce, err
25017	case string(KindNodeClosing):
25018		var nce NodeClosingEvent
25019		err := json.Unmarshal(body, &nce)
25020		return nce, err
25021	case string(KindNodeDeactivateComplete):
25022		var ndce NodeDeactivateCompleteEvent
25023		err := json.Unmarshal(body, &ndce)
25024		return ndce, err
25025	case string(KindNodeDeactivateStart):
25026		var ndse NodeDeactivateStartEvent
25027		err := json.Unmarshal(body, &ndse)
25028		return ndse, err
25029	case string(KindNodeDown):
25030		var nde NodeDownEvent
25031		err := json.Unmarshal(body, &nde)
25032		return nde, err
25033	case string(KindNodeHealthReportCreated):
25034		var nhrce NodeHealthReportCreatedEvent
25035		err := json.Unmarshal(body, &nhrce)
25036		return nhrce, err
25037	case string(KindNodeHealthReportExpired):
25038		var nhree NodeHealthReportExpiredEvent
25039		err := json.Unmarshal(body, &nhree)
25040		return nhree, err
25041	case string(KindNodeOpenedSuccess):
25042		var nose NodeOpenedSuccessEvent
25043		err := json.Unmarshal(body, &nose)
25044		return nose, err
25045	case string(KindNodeOpenFailed):
25046		var nofe NodeOpenFailedEvent
25047		err := json.Unmarshal(body, &nofe)
25048		return nofe, err
25049	case string(KindNodeOpening):
25050		var noe NodeOpeningEvent
25051		err := json.Unmarshal(body, &noe)
25052		return noe, err
25053	case string(KindNodeRemoved):
25054		var nre NodeRemovedEvent
25055		err := json.Unmarshal(body, &nre)
25056		return nre, err
25057	case string(KindNodeUp):
25058		var nue NodeUpEvent
25059		err := json.Unmarshal(body, &nue)
25060		return nue, err
25061	case string(KindPartitionHealthReportCreated):
25062		var phrce PartitionHealthReportCreatedEvent
25063		err := json.Unmarshal(body, &phrce)
25064		return phrce, err
25065	case string(KindPartitionHealthReportExpired):
25066		var phree PartitionHealthReportExpiredEvent
25067		err := json.Unmarshal(body, &phree)
25068		return phree, err
25069	case string(KindPartitionReconfigurationCompleted):
25070		var prce PartitionReconfigurationCompletedEvent
25071		err := json.Unmarshal(body, &prce)
25072		return prce, err
25073	case string(KindPartitionPrimaryMoveAnalysis):
25074		var ppmae PartitionPrimaryMoveAnalysisEvent
25075		err := json.Unmarshal(body, &ppmae)
25076		return ppmae, err
25077	case string(KindServiceCreated):
25078		var sce ServiceCreatedEvent
25079		err := json.Unmarshal(body, &sce)
25080		return sce, err
25081	case string(KindServiceDeleted):
25082		var sde ServiceDeletedEvent
25083		err := json.Unmarshal(body, &sde)
25084		return sde, err
25085	case string(KindServiceHealthReportCreated):
25086		var shrce ServiceHealthReportCreatedEvent
25087		err := json.Unmarshal(body, &shrce)
25088		return shrce, err
25089	case string(KindServiceHealthReportExpired):
25090		var shree ServiceHealthReportExpiredEvent
25091		err := json.Unmarshal(body, &shree)
25092		return shree, err
25093	case string(KindDeployedServiceHealthReportCreated):
25094		var dshrce DeployedServiceHealthReportCreatedEvent
25095		err := json.Unmarshal(body, &dshrce)
25096		return dshrce, err
25097	case string(KindDeployedServiceHealthReportExpired):
25098		var dshree DeployedServiceHealthReportExpiredEvent
25099		err := json.Unmarshal(body, &dshree)
25100		return dshree, err
25101	case string(KindStatefulReplicaHealthReportCreated):
25102		var srhrce StatefulReplicaHealthReportCreatedEvent
25103		err := json.Unmarshal(body, &srhrce)
25104		return srhrce, err
25105	case string(KindStatefulReplicaHealthReportExpired):
25106		var srhree StatefulReplicaHealthReportExpiredEvent
25107		err := json.Unmarshal(body, &srhree)
25108		return srhree, err
25109	case string(KindStatelessReplicaHealthReportCreated):
25110		var srhrce StatelessReplicaHealthReportCreatedEvent
25111		err := json.Unmarshal(body, &srhrce)
25112		return srhrce, err
25113	case string(KindStatelessReplicaHealthReportExpired):
25114		var srhree StatelessReplicaHealthReportExpiredEvent
25115		err := json.Unmarshal(body, &srhree)
25116		return srhree, err
25117	case string(KindClusterHealthReportCreated):
25118		var chrce ClusterHealthReportCreatedEvent
25119		err := json.Unmarshal(body, &chrce)
25120		return chrce, err
25121	case string(KindClusterHealthReportExpired):
25122		var chree ClusterHealthReportExpiredEvent
25123		err := json.Unmarshal(body, &chree)
25124		return chree, err
25125	case string(KindClusterUpgradeComplete):
25126		var cuce ClusterUpgradeCompleteEvent
25127		err := json.Unmarshal(body, &cuce)
25128		return cuce, err
25129	case string(KindClusterUpgradeDomainComplete):
25130		var cudce ClusterUpgradeDomainCompleteEvent
25131		err := json.Unmarshal(body, &cudce)
25132		return cudce, err
25133	case string(KindClusterUpgradeRollbackComplete):
25134		var curce ClusterUpgradeRollbackCompleteEvent
25135		err := json.Unmarshal(body, &curce)
25136		return curce, err
25137	case string(KindClusterUpgradeRollbackStart):
25138		var curse ClusterUpgradeRollbackStartEvent
25139		err := json.Unmarshal(body, &curse)
25140		return curse, err
25141	case string(KindClusterUpgradeStart):
25142		var cuse ClusterUpgradeStartEvent
25143		err := json.Unmarshal(body, &cuse)
25144		return cuse, err
25145	case string(KindChaosStopped):
25146		var cse ChaosStoppedEvent
25147		err := json.Unmarshal(body, &cse)
25148		return cse, err
25149	case string(KindChaosStarted):
25150		var cse ChaosStartedEvent
25151		err := json.Unmarshal(body, &cse)
25152		return cse, err
25153	case string(KindChaosRestartNodeFaultCompleted):
25154		var crnfce ChaosRestartNodeFaultCompletedEvent
25155		err := json.Unmarshal(body, &crnfce)
25156		return crnfce, err
25157	case string(KindChaosRestartCodePackageFaultScheduled):
25158		var crcpfse ChaosRestartCodePackageFaultScheduledEvent
25159		err := json.Unmarshal(body, &crcpfse)
25160		return crcpfse, err
25161	case string(KindChaosRestartCodePackageFaultCompleted):
25162		var crcpfce ChaosRestartCodePackageFaultCompletedEvent
25163		err := json.Unmarshal(body, &crcpfce)
25164		return crcpfce, err
25165	case string(KindChaosRemoveReplicaFaultScheduled):
25166		var crrfse ChaosRemoveReplicaFaultScheduledEvent
25167		err := json.Unmarshal(body, &crrfse)
25168		return crrfse, err
25169	case string(KindChaosRemoveReplicaFaultCompleted):
25170		var crrfce ChaosRemoveReplicaFaultCompletedEvent
25171		err := json.Unmarshal(body, &crrfce)
25172		return crrfce, err
25173	case string(KindChaosMoveSecondaryFaultScheduled):
25174		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
25175		err := json.Unmarshal(body, &cmsfse)
25176		return cmsfse, err
25177	case string(KindChaosMovePrimaryFaultScheduled):
25178		var cmpfse ChaosMovePrimaryFaultScheduledEvent
25179		err := json.Unmarshal(body, &cmpfse)
25180		return cmpfse, err
25181	case string(KindChaosRestartReplicaFaultScheduled):
25182		var crrfse ChaosRestartReplicaFaultScheduledEvent
25183		err := json.Unmarshal(body, &crrfse)
25184		return crrfse, err
25185	case string(KindChaosRestartNodeFaultScheduled):
25186		var crnfse ChaosRestartNodeFaultScheduledEvent
25187		err := json.Unmarshal(body, &crnfse)
25188		return crnfse, err
25189	default:
25190		var fe FabricEvent
25191		err := json.Unmarshal(body, &fe)
25192		return fe, err
25193	}
25194}
25195func unmarshalBasicFabricEventArray(body []byte) ([]BasicFabricEvent, error) {
25196	var rawMessages []*json.RawMessage
25197	err := json.Unmarshal(body, &rawMessages)
25198	if err != nil {
25199		return nil, err
25200	}
25201
25202	feArray := make([]BasicFabricEvent, len(rawMessages))
25203
25204	for index, rawMessage := range rawMessages {
25205		fe, err := unmarshalBasicFabricEvent(*rawMessage)
25206		if err != nil {
25207			return nil, err
25208		}
25209		feArray[index] = fe
25210	}
25211	return feArray, nil
25212}
25213
25214// MarshalJSON is the custom marshaler for FabricEvent.
25215func (fe FabricEvent) MarshalJSON() ([]byte, error) {
25216	fe.Kind = KindFabricEvent
25217	objectMap := make(map[string]interface{})
25218	if fe.EventInstanceID != nil {
25219		objectMap["EventInstanceId"] = fe.EventInstanceID
25220	}
25221	if fe.TimeStamp != nil {
25222		objectMap["TimeStamp"] = fe.TimeStamp
25223	}
25224	if fe.HasCorrelatedEvents != nil {
25225		objectMap["HasCorrelatedEvents"] = fe.HasCorrelatedEvents
25226	}
25227	if fe.Kind != "" {
25228		objectMap["Kind"] = fe.Kind
25229	}
25230	return json.Marshal(objectMap)
25231}
25232
25233// AsApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
25234func (fe FabricEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
25235	return nil, false
25236}
25237
25238// AsBasicApplicationEvent is the BasicFabricEvent implementation for FabricEvent.
25239func (fe FabricEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
25240	return nil, false
25241}
25242
25243// AsClusterEvent is the BasicFabricEvent implementation for FabricEvent.
25244func (fe FabricEvent) AsClusterEvent() (*ClusterEvent, bool) {
25245	return nil, false
25246}
25247
25248// AsBasicClusterEvent is the BasicFabricEvent implementation for FabricEvent.
25249func (fe FabricEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
25250	return nil, false
25251}
25252
25253// AsContainerInstanceEvent is the BasicFabricEvent implementation for FabricEvent.
25254func (fe FabricEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
25255	return nil, false
25256}
25257
25258// AsNodeEvent is the BasicFabricEvent implementation for FabricEvent.
25259func (fe FabricEvent) AsNodeEvent() (*NodeEvent, bool) {
25260	return nil, false
25261}
25262
25263// AsBasicNodeEvent is the BasicFabricEvent implementation for FabricEvent.
25264func (fe FabricEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
25265	return nil, false
25266}
25267
25268// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
25269func (fe FabricEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
25270	return nil, false
25271}
25272
25273// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
25274func (fe FabricEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
25275	return nil, false
25276}
25277
25278// AsPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
25279func (fe FabricEvent) AsPartitionEvent() (*PartitionEvent, bool) {
25280	return nil, false
25281}
25282
25283// AsBasicPartitionEvent is the BasicFabricEvent implementation for FabricEvent.
25284func (fe FabricEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
25285	return nil, false
25286}
25287
25288// AsReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
25289func (fe FabricEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
25290	return nil, false
25291}
25292
25293// AsBasicReplicaEvent is the BasicFabricEvent implementation for FabricEvent.
25294func (fe FabricEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
25295	return nil, false
25296}
25297
25298// AsServiceEvent is the BasicFabricEvent implementation for FabricEvent.
25299func (fe FabricEvent) AsServiceEvent() (*ServiceEvent, bool) {
25300	return nil, false
25301}
25302
25303// AsBasicServiceEvent is the BasicFabricEvent implementation for FabricEvent.
25304func (fe FabricEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
25305	return nil, false
25306}
25307
25308// AsApplicationCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25309func (fe FabricEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
25310	return nil, false
25311}
25312
25313// AsApplicationDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
25314func (fe FabricEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
25315	return nil, false
25316}
25317
25318// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25319func (fe FabricEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
25320	return nil, false
25321}
25322
25323// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25324func (fe FabricEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
25325	return nil, false
25326}
25327
25328// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25329func (fe FabricEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
25330	return nil, false
25331}
25332
25333// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25334func (fe FabricEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
25335	return nil, false
25336}
25337
25338// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25339func (fe FabricEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
25340	return nil, false
25341}
25342
25343// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
25344func (fe FabricEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
25345	return nil, false
25346}
25347
25348// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
25349func (fe FabricEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
25350	return nil, false
25351}
25352
25353// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25354func (fe FabricEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
25355	return nil, false
25356}
25357
25358// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25359func (fe FabricEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
25360	return nil, false
25361}
25362
25363// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
25364func (fe FabricEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
25365	return nil, false
25366}
25367
25368// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for FabricEvent.
25369func (fe FabricEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
25370	return nil, false
25371}
25372
25373// AsNodeAbortedEvent is the BasicFabricEvent implementation for FabricEvent.
25374func (fe FabricEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
25375	return nil, false
25376}
25377
25378// AsNodeAbortingEvent is the BasicFabricEvent implementation for FabricEvent.
25379func (fe FabricEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
25380	return nil, false
25381}
25382
25383// AsNodeAddedEvent is the BasicFabricEvent implementation for FabricEvent.
25384func (fe FabricEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
25385	return nil, false
25386}
25387
25388// AsNodeCloseEvent is the BasicFabricEvent implementation for FabricEvent.
25389func (fe FabricEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
25390	return nil, false
25391}
25392
25393// AsNodeClosingEvent is the BasicFabricEvent implementation for FabricEvent.
25394func (fe FabricEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
25395	return nil, false
25396}
25397
25398// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25399func (fe FabricEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
25400	return nil, false
25401}
25402
25403// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for FabricEvent.
25404func (fe FabricEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
25405	return nil, false
25406}
25407
25408// AsNodeDownEvent is the BasicFabricEvent implementation for FabricEvent.
25409func (fe FabricEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
25410	return nil, false
25411}
25412
25413// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25414func (fe FabricEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
25415	return nil, false
25416}
25417
25418// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25419func (fe FabricEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
25420	return nil, false
25421}
25422
25423// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for FabricEvent.
25424func (fe FabricEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
25425	return nil, false
25426}
25427
25428// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for FabricEvent.
25429func (fe FabricEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
25430	return nil, false
25431}
25432
25433// AsNodeOpeningEvent is the BasicFabricEvent implementation for FabricEvent.
25434func (fe FabricEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
25435	return nil, false
25436}
25437
25438// AsNodeRemovedEvent is the BasicFabricEvent implementation for FabricEvent.
25439func (fe FabricEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
25440	return nil, false
25441}
25442
25443// AsNodeUpEvent is the BasicFabricEvent implementation for FabricEvent.
25444func (fe FabricEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
25445	return nil, false
25446}
25447
25448// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25449func (fe FabricEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
25450	return nil, false
25451}
25452
25453// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25454func (fe FabricEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
25455	return nil, false
25456}
25457
25458// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25459func (fe FabricEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
25460	return nil, false
25461}
25462
25463// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for FabricEvent.
25464func (fe FabricEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
25465	return nil, false
25466}
25467
25468// AsServiceCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25469func (fe FabricEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
25470	return nil, false
25471}
25472
25473// AsServiceDeletedEvent is the BasicFabricEvent implementation for FabricEvent.
25474func (fe FabricEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
25475	return nil, false
25476}
25477
25478// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25479func (fe FabricEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
25480	return nil, false
25481}
25482
25483// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25484func (fe FabricEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
25485	return nil, false
25486}
25487
25488// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25489func (fe FabricEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
25490	return nil, false
25491}
25492
25493// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25494func (fe FabricEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
25495	return nil, false
25496}
25497
25498// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25499func (fe FabricEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
25500	return nil, false
25501}
25502
25503// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25504func (fe FabricEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
25505	return nil, false
25506}
25507
25508// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25509func (fe FabricEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
25510	return nil, false
25511}
25512
25513// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25514func (fe FabricEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
25515	return nil, false
25516}
25517
25518// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for FabricEvent.
25519func (fe FabricEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
25520	return nil, false
25521}
25522
25523// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for FabricEvent.
25524func (fe FabricEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
25525	return nil, false
25526}
25527
25528// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25529func (fe FabricEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
25530	return nil, false
25531}
25532
25533// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25534func (fe FabricEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
25535	return nil, false
25536}
25537
25538// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for FabricEvent.
25539func (fe FabricEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
25540	return nil, false
25541}
25542
25543// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for FabricEvent.
25544func (fe FabricEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
25545	return nil, false
25546}
25547
25548// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for FabricEvent.
25549func (fe FabricEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
25550	return nil, false
25551}
25552
25553// AsChaosStoppedEvent is the BasicFabricEvent implementation for FabricEvent.
25554func (fe FabricEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
25555	return nil, false
25556}
25557
25558// AsChaosStartedEvent is the BasicFabricEvent implementation for FabricEvent.
25559func (fe FabricEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
25560	return nil, false
25561}
25562
25563// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25564func (fe FabricEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
25565	return nil, false
25566}
25567
25568// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25569func (fe FabricEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
25570	return nil, false
25571}
25572
25573// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25574func (fe FabricEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
25575	return nil, false
25576}
25577
25578// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25579func (fe FabricEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
25580	return nil, false
25581}
25582
25583// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for FabricEvent.
25584func (fe FabricEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
25585	return nil, false
25586}
25587
25588// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25589func (fe FabricEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
25590	return nil, false
25591}
25592
25593// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25594func (fe FabricEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
25595	return nil, false
25596}
25597
25598// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25599func (fe FabricEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
25600	return nil, false
25601}
25602
25603// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for FabricEvent.
25604func (fe FabricEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
25605	return nil, false
25606}
25607
25608// AsFabricEvent is the BasicFabricEvent implementation for FabricEvent.
25609func (fe FabricEvent) AsFabricEvent() (*FabricEvent, bool) {
25610	return &fe, true
25611}
25612
25613// AsBasicFabricEvent is the BasicFabricEvent implementation for FabricEvent.
25614func (fe FabricEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
25615	return &fe, true
25616}
25617
25618// FailedPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch failing. Contains
25619// information about the specific batch failure.
25620type FailedPropertyBatchInfo struct {
25621	// ErrorMessage - The error message of the failed operation. Describes the exception thrown due to the first unsuccessful operation in the property batch.
25622	ErrorMessage *string `json:"ErrorMessage,omitempty"`
25623	// OperationIndex - The index of the unsuccessful operation in the property batch.
25624	OperationIndex *int32 `json:"OperationIndex,omitempty"`
25625	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
25626	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
25627}
25628
25629// MarshalJSON is the custom marshaler for FailedPropertyBatchInfo.
25630func (fpbi FailedPropertyBatchInfo) MarshalJSON() ([]byte, error) {
25631	fpbi.Kind = KindFailed
25632	objectMap := make(map[string]interface{})
25633	if fpbi.ErrorMessage != nil {
25634		objectMap["ErrorMessage"] = fpbi.ErrorMessage
25635	}
25636	if fpbi.OperationIndex != nil {
25637		objectMap["OperationIndex"] = fpbi.OperationIndex
25638	}
25639	if fpbi.Kind != "" {
25640		objectMap["Kind"] = fpbi.Kind
25641	}
25642	return json.Marshal(objectMap)
25643}
25644
25645// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25646func (fpbi FailedPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
25647	return nil, false
25648}
25649
25650// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25651func (fpbi FailedPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
25652	return &fpbi, true
25653}
25654
25655// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25656func (fpbi FailedPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
25657	return nil, false
25658}
25659
25660// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for FailedPropertyBatchInfo.
25661func (fpbi FailedPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
25662	return &fpbi, true
25663}
25664
25665// FailedUpgradeDomainProgressObject the detailed upgrade progress for nodes in the current upgrade domain
25666// at the point of failure.
25667type FailedUpgradeDomainProgressObject struct {
25668	// DomainName - The name of the upgrade domain
25669	DomainName *string `json:"DomainName,omitempty"`
25670	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
25671	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
25672}
25673
25674// FailureUpgradeDomainProgressInfo information about the upgrade domain progress at the time of upgrade
25675// failure.
25676type FailureUpgradeDomainProgressInfo struct {
25677	// DomainName - The name of the upgrade domain
25678	DomainName *string `json:"DomainName,omitempty"`
25679	// NodeUpgradeProgressList - List of upgrading nodes and their statuses
25680	NodeUpgradeProgressList *[]NodeUpgradeProgressInfo `json:"NodeUpgradeProgressList,omitempty"`
25681}
25682
25683// FileInfo information about a image store file.
25684type FileInfo struct {
25685	// FileSize - The size of file in bytes.
25686	FileSize *string `json:"FileSize,omitempty"`
25687	// FileVersion - Information about the version of image store file.
25688	FileVersion *FileVersion `json:"FileVersion,omitempty"`
25689	// ModifiedDate - The date and time when the image store file was last modified.
25690	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
25691	// StoreRelativePath - The file path relative to the image store root path.
25692	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
25693}
25694
25695// FileShareBackupStorageDescription describes the parameters for file share storage used for storing or
25696// enumerating backups.
25697type FileShareBackupStorageDescription struct {
25698	// Path - UNC path of the file share where to store or enumerate backups from.
25699	Path *string `json:"Path,omitempty"`
25700	// PrimaryUserName - Primary user name to access the file share.
25701	PrimaryUserName *string `json:"PrimaryUserName,omitempty"`
25702	// PrimaryPassword - Primary password to access the share location.
25703	PrimaryPassword *string `json:"PrimaryPassword,omitempty"`
25704	// SecondaryUserName - Secondary user name to access the file share.
25705	SecondaryUserName *string `json:"SecondaryUserName,omitempty"`
25706	// SecondaryPassword - Secondary password to access the share location
25707	SecondaryPassword *string `json:"SecondaryPassword,omitempty"`
25708	// FriendlyName - Friendly name for this backup storage.
25709	FriendlyName *string `json:"FriendlyName,omitempty"`
25710	// StorageKind - Possible values include: 'StorageKindBackupStorageDescription', 'StorageKindAzureBlobStore', 'StorageKindFileShare'
25711	StorageKind StorageKind `json:"StorageKind,omitempty"`
25712}
25713
25714// MarshalJSON is the custom marshaler for FileShareBackupStorageDescription.
25715func (fsbsd FileShareBackupStorageDescription) MarshalJSON() ([]byte, error) {
25716	fsbsd.StorageKind = StorageKindFileShare
25717	objectMap := make(map[string]interface{})
25718	if fsbsd.Path != nil {
25719		objectMap["Path"] = fsbsd.Path
25720	}
25721	if fsbsd.PrimaryUserName != nil {
25722		objectMap["PrimaryUserName"] = fsbsd.PrimaryUserName
25723	}
25724	if fsbsd.PrimaryPassword != nil {
25725		objectMap["PrimaryPassword"] = fsbsd.PrimaryPassword
25726	}
25727	if fsbsd.SecondaryUserName != nil {
25728		objectMap["SecondaryUserName"] = fsbsd.SecondaryUserName
25729	}
25730	if fsbsd.SecondaryPassword != nil {
25731		objectMap["SecondaryPassword"] = fsbsd.SecondaryPassword
25732	}
25733	if fsbsd.FriendlyName != nil {
25734		objectMap["FriendlyName"] = fsbsd.FriendlyName
25735	}
25736	if fsbsd.StorageKind != "" {
25737		objectMap["StorageKind"] = fsbsd.StorageKind
25738	}
25739	return json.Marshal(objectMap)
25740}
25741
25742// AsAzureBlobBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25743func (fsbsd FileShareBackupStorageDescription) AsAzureBlobBackupStorageDescription() (*AzureBlobBackupStorageDescription, bool) {
25744	return nil, false
25745}
25746
25747// AsFileShareBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25748func (fsbsd FileShareBackupStorageDescription) AsFileShareBackupStorageDescription() (*FileShareBackupStorageDescription, bool) {
25749	return &fsbsd, true
25750}
25751
25752// AsBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25753func (fsbsd FileShareBackupStorageDescription) AsBackupStorageDescription() (*BackupStorageDescription, bool) {
25754	return nil, false
25755}
25756
25757// AsBasicBackupStorageDescription is the BasicBackupStorageDescription implementation for FileShareBackupStorageDescription.
25758func (fsbsd FileShareBackupStorageDescription) AsBasicBackupStorageDescription() (BasicBackupStorageDescription, bool) {
25759	return &fsbsd, true
25760}
25761
25762// FileVersion information about the version of image store file.
25763type FileVersion struct {
25764	// VersionNumber - The current image store version number for the file is used in image store for checking whether it need to be updated.
25765	VersionNumber *string `json:"VersionNumber,omitempty"`
25766	// EpochDataLossNumber - The epoch data loss number of image store replica when this file entry was updated or created.
25767	EpochDataLossNumber *string `json:"EpochDataLossNumber,omitempty"`
25768	// EpochConfigurationNumber - The epoch configuration version number of the image store replica when this file entry was created or updated.
25769	EpochConfigurationNumber *string `json:"EpochConfigurationNumber,omitempty"`
25770}
25771
25772// FolderInfo information about a image store folder. It includes how many files this folder contains and
25773// its image store relative path.
25774type FolderInfo struct {
25775	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
25776	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
25777	// FileCount - The number of files from within the image store folder.
25778	FileCount *string `json:"FileCount,omitempty"`
25779}
25780
25781// FrequencyBasedBackupScheduleDescription describes the frequency based backup schedule.
25782type FrequencyBasedBackupScheduleDescription struct {
25783	// 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.
25784	Interval *string `json:"Interval,omitempty"`
25785	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
25786	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
25787}
25788
25789// MarshalJSON is the custom marshaler for FrequencyBasedBackupScheduleDescription.
25790func (fbbsd FrequencyBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
25791	fbbsd.ScheduleKind = ScheduleKindFrequencyBased
25792	objectMap := make(map[string]interface{})
25793	if fbbsd.Interval != nil {
25794		objectMap["Interval"] = fbbsd.Interval
25795	}
25796	if fbbsd.ScheduleKind != "" {
25797		objectMap["ScheduleKind"] = fbbsd.ScheduleKind
25798	}
25799	return json.Marshal(objectMap)
25800}
25801
25802// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25803func (fbbsd FrequencyBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
25804	return &fbbsd, true
25805}
25806
25807// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25808func (fbbsd FrequencyBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
25809	return nil, false
25810}
25811
25812// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25813func (fbbsd FrequencyBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
25814	return nil, false
25815}
25816
25817// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for FrequencyBasedBackupScheduleDescription.
25818func (fbbsd FrequencyBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
25819	return &fbbsd, true
25820}
25821
25822// GetBackupByStorageQueryDescription describes additional filters to be applied, while listing backups,
25823// and backup storage details from where to fetch the backups.
25824type GetBackupByStorageQueryDescription struct {
25825	// StartDateTimeFilter - Specifies the start date time in ISO8601 from which to enumerate backups. If not specified, backups are enumerated from the beginning.
25826	StartDateTimeFilter *date.Time `json:"StartDateTimeFilter,omitempty"`
25827	// EndDateTimeFilter - Specifies the end date time in ISO8601 till which to enumerate backups. If not specified, backups are enumerated till the end.
25828	EndDateTimeFilter *date.Time `json:"EndDateTimeFilter,omitempty"`
25829	// Latest - If specified as true, gets the most recent backup (within the specified time range) for every partition under the specified backup entity.
25830	Latest *bool `json:"Latest,omitempty"`
25831	// 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.
25832	Storage BasicBackupStorageDescription `json:"Storage,omitempty"`
25833	// BackupEntity - Indicates the entity for which to enumerate backups.
25834	BackupEntity BasicBackupEntity `json:"BackupEntity,omitempty"`
25835}
25836
25837// UnmarshalJSON is the custom unmarshaler for GetBackupByStorageQueryDescription struct.
25838func (gbbsqd *GetBackupByStorageQueryDescription) UnmarshalJSON(body []byte) error {
25839	var m map[string]*json.RawMessage
25840	err := json.Unmarshal(body, &m)
25841	if err != nil {
25842		return err
25843	}
25844	for k, v := range m {
25845		switch k {
25846		case "StartDateTimeFilter":
25847			if v != nil {
25848				var startDateTimeFilter date.Time
25849				err = json.Unmarshal(*v, &startDateTimeFilter)
25850				if err != nil {
25851					return err
25852				}
25853				gbbsqd.StartDateTimeFilter = &startDateTimeFilter
25854			}
25855		case "EndDateTimeFilter":
25856			if v != nil {
25857				var endDateTimeFilter date.Time
25858				err = json.Unmarshal(*v, &endDateTimeFilter)
25859				if err != nil {
25860					return err
25861				}
25862				gbbsqd.EndDateTimeFilter = &endDateTimeFilter
25863			}
25864		case "Latest":
25865			if v != nil {
25866				var latest bool
25867				err = json.Unmarshal(*v, &latest)
25868				if err != nil {
25869					return err
25870				}
25871				gbbsqd.Latest = &latest
25872			}
25873		case "Storage":
25874			if v != nil {
25875				storage, err := unmarshalBasicBackupStorageDescription(*v)
25876				if err != nil {
25877					return err
25878				}
25879				gbbsqd.Storage = storage
25880			}
25881		case "BackupEntity":
25882			if v != nil {
25883				backupEntity, err := unmarshalBasicBackupEntity(*v)
25884				if err != nil {
25885					return err
25886				}
25887				gbbsqd.BackupEntity = backupEntity
25888			}
25889		}
25890	}
25891
25892	return nil
25893}
25894
25895// GetPropertyBatchOperation represents a PropertyBatchOperation that gets the specified property if it
25896// exists.
25897// Note that if one PropertyBatchOperation in a PropertyBatch fails,
25898// the entire batch fails and cannot be committed in a transactional manner.
25899type GetPropertyBatchOperation struct {
25900	// IncludeValue - Whether or not to return the property value with the metadata.
25901	// True if values should be returned with the metadata; False to return only property metadata.
25902	IncludeValue *bool `json:"IncludeValue,omitempty"`
25903	// PropertyName - The name of the Service Fabric property.
25904	PropertyName *string `json:"PropertyName,omitempty"`
25905	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
25906	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
25907}
25908
25909// MarshalJSON is the custom marshaler for GetPropertyBatchOperation.
25910func (gpbo GetPropertyBatchOperation) MarshalJSON() ([]byte, error) {
25911	gpbo.Kind = KindGet
25912	objectMap := make(map[string]interface{})
25913	if gpbo.IncludeValue != nil {
25914		objectMap["IncludeValue"] = gpbo.IncludeValue
25915	}
25916	if gpbo.PropertyName != nil {
25917		objectMap["PropertyName"] = gpbo.PropertyName
25918	}
25919	if gpbo.Kind != "" {
25920		objectMap["Kind"] = gpbo.Kind
25921	}
25922	return json.Marshal(objectMap)
25923}
25924
25925// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25926func (gpbo GetPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
25927	return nil, false
25928}
25929
25930// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25931func (gpbo GetPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
25932	return nil, false
25933}
25934
25935// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25936func (gpbo GetPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
25937	return nil, false
25938}
25939
25940// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25941func (gpbo GetPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
25942	return nil, false
25943}
25944
25945// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25946func (gpbo GetPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
25947	return &gpbo, true
25948}
25949
25950// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25951func (gpbo GetPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
25952	return nil, false
25953}
25954
25955// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25956func (gpbo GetPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
25957	return nil, false
25958}
25959
25960// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for GetPropertyBatchOperation.
25961func (gpbo GetPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
25962	return &gpbo, true
25963}
25964
25965// GUIDPropertyValue describes a Service Fabric property value of type Guid.
25966type GUIDPropertyValue struct {
25967	// Data - The data of the property value.
25968	Data *uuid.UUID `json:"Data,omitempty"`
25969	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
25970	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
25971}
25972
25973// MarshalJSON is the custom marshaler for GUIDPropertyValue.
25974func (gpv GUIDPropertyValue) MarshalJSON() ([]byte, error) {
25975	gpv.Kind = KindGUID
25976	objectMap := make(map[string]interface{})
25977	if gpv.Data != nil {
25978		objectMap["Data"] = gpv.Data
25979	}
25980	if gpv.Kind != "" {
25981		objectMap["Kind"] = gpv.Kind
25982	}
25983	return json.Marshal(objectMap)
25984}
25985
25986// AsBinaryPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25987func (gpv GUIDPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
25988	return nil, false
25989}
25990
25991// AsInt64PropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25992func (gpv GUIDPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
25993	return nil, false
25994}
25995
25996// AsDoublePropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
25997func (gpv GUIDPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
25998	return nil, false
25999}
26000
26001// AsStringPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
26002func (gpv GUIDPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
26003	return nil, false
26004}
26005
26006// AsGUIDPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
26007func (gpv GUIDPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
26008	return &gpv, true
26009}
26010
26011// AsPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
26012func (gpv GUIDPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
26013	return nil, false
26014}
26015
26016// AsBasicPropertyValue is the BasicPropertyValue implementation for GUIDPropertyValue.
26017func (gpv GUIDPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
26018	return &gpv, true
26019}
26020
26021// BasicHealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
26022// manager to evaluate the health of an entity.
26023type BasicHealthEvaluation interface {
26024	AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool)
26025	AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool)
26026	AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool)
26027	AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool)
26028	AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool)
26029	AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool)
26030	AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool)
26031	AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool)
26032	AsEventHealthEvaluation() (*EventHealthEvaluation, bool)
26033	AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool)
26034	AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool)
26035	AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool)
26036	AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool)
26037	AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool)
26038	AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool)
26039	AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool)
26040	AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool)
26041	AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool)
26042	AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool)
26043	AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool)
26044	AsHealthEvaluation() (*HealthEvaluation, bool)
26045}
26046
26047// HealthEvaluation represents a health evaluation which describes the data and the algorithm used by health
26048// manager to evaluate the health of an entity.
26049type HealthEvaluation struct {
26050	// 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'
26051	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
26052	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
26053	Description *string `json:"Description,omitempty"`
26054	// 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'
26055	Kind Kind `json:"Kind,omitempty"`
26056}
26057
26058func unmarshalBasicHealthEvaluation(body []byte) (BasicHealthEvaluation, error) {
26059	var m map[string]interface{}
26060	err := json.Unmarshal(body, &m)
26061	if err != nil {
26062		return nil, err
26063	}
26064
26065	switch m["Kind"] {
26066	case string(KindApplication):
26067		var ahe ApplicationHealthEvaluation
26068		err := json.Unmarshal(body, &ahe)
26069		return ahe, err
26070	case string(KindApplications):
26071		var ahe ApplicationsHealthEvaluation
26072		err := json.Unmarshal(body, &ahe)
26073		return ahe, err
26074	case string(KindApplicationTypeApplications):
26075		var atahe ApplicationTypeApplicationsHealthEvaluation
26076		err := json.Unmarshal(body, &atahe)
26077		return atahe, err
26078	case string(KindDeltaNodesCheck):
26079		var dnche DeltaNodesCheckHealthEvaluation
26080		err := json.Unmarshal(body, &dnche)
26081		return dnche, err
26082	case string(KindDeployedApplication):
26083		var dahe DeployedApplicationHealthEvaluation
26084		err := json.Unmarshal(body, &dahe)
26085		return dahe, err
26086	case string(KindDeployedApplications):
26087		var dahe DeployedApplicationsHealthEvaluation
26088		err := json.Unmarshal(body, &dahe)
26089		return dahe, err
26090	case string(KindDeployedServicePackage):
26091		var dsphe DeployedServicePackageHealthEvaluation
26092		err := json.Unmarshal(body, &dsphe)
26093		return dsphe, err
26094	case string(KindDeployedServicePackages):
26095		var dsphe DeployedServicePackagesHealthEvaluation
26096		err := json.Unmarshal(body, &dsphe)
26097		return dsphe, err
26098	case string(KindEvent):
26099		var ehe EventHealthEvaluation
26100		err := json.Unmarshal(body, &ehe)
26101		return ehe, err
26102	case string(KindNode):
26103		var nhe NodeHealthEvaluation
26104		err := json.Unmarshal(body, &nhe)
26105		return nhe, err
26106	case string(KindNodes):
26107		var nhe NodesHealthEvaluation
26108		err := json.Unmarshal(body, &nhe)
26109		return nhe, err
26110	case string(KindPartition):
26111		var phe PartitionHealthEvaluation
26112		err := json.Unmarshal(body, &phe)
26113		return phe, err
26114	case string(KindPartitions):
26115		var phe PartitionsHealthEvaluation
26116		err := json.Unmarshal(body, &phe)
26117		return phe, err
26118	case string(KindReplica):
26119		var rhe ReplicaHealthEvaluation
26120		err := json.Unmarshal(body, &rhe)
26121		return rhe, err
26122	case string(KindReplicas):
26123		var rhe ReplicasHealthEvaluation
26124		err := json.Unmarshal(body, &rhe)
26125		return rhe, err
26126	case string(KindService):
26127		var she ServiceHealthEvaluation
26128		err := json.Unmarshal(body, &she)
26129		return she, err
26130	case string(KindServices):
26131		var she ServicesHealthEvaluation
26132		err := json.Unmarshal(body, &she)
26133		return she, err
26134	case string(KindSystemApplication):
26135		var sahe SystemApplicationHealthEvaluation
26136		err := json.Unmarshal(body, &sahe)
26137		return sahe, err
26138	case string(KindUpgradeDomainDeltaNodesCheck):
26139		var uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation
26140		err := json.Unmarshal(body, &uddnche)
26141		return uddnche, err
26142	case string(KindUpgradeDomainNodes):
26143		var udnhe UpgradeDomainNodesHealthEvaluation
26144		err := json.Unmarshal(body, &udnhe)
26145		return udnhe, err
26146	default:
26147		var he HealthEvaluation
26148		err := json.Unmarshal(body, &he)
26149		return he, err
26150	}
26151}
26152func unmarshalBasicHealthEvaluationArray(body []byte) ([]BasicHealthEvaluation, error) {
26153	var rawMessages []*json.RawMessage
26154	err := json.Unmarshal(body, &rawMessages)
26155	if err != nil {
26156		return nil, err
26157	}
26158
26159	heArray := make([]BasicHealthEvaluation, len(rawMessages))
26160
26161	for index, rawMessage := range rawMessages {
26162		he, err := unmarshalBasicHealthEvaluation(*rawMessage)
26163		if err != nil {
26164			return nil, err
26165		}
26166		heArray[index] = he
26167	}
26168	return heArray, nil
26169}
26170
26171// MarshalJSON is the custom marshaler for HealthEvaluation.
26172func (he HealthEvaluation) MarshalJSON() ([]byte, error) {
26173	he.Kind = KindHealthEvaluation
26174	objectMap := make(map[string]interface{})
26175	if he.AggregatedHealthState != "" {
26176		objectMap["AggregatedHealthState"] = he.AggregatedHealthState
26177	}
26178	if he.Description != nil {
26179		objectMap["Description"] = he.Description
26180	}
26181	if he.Kind != "" {
26182		objectMap["Kind"] = he.Kind
26183	}
26184	return json.Marshal(objectMap)
26185}
26186
26187// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26188func (he HealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
26189	return nil, false
26190}
26191
26192// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26193func (he HealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
26194	return nil, false
26195}
26196
26197// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26198func (he HealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
26199	return nil, false
26200}
26201
26202// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26203func (he HealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
26204	return nil, false
26205}
26206
26207// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26208func (he HealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
26209	return nil, false
26210}
26211
26212// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26213func (he HealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
26214	return nil, false
26215}
26216
26217// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26218func (he HealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
26219	return nil, false
26220}
26221
26222// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26223func (he HealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
26224	return nil, false
26225}
26226
26227// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26228func (he HealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
26229	return nil, false
26230}
26231
26232// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26233func (he HealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
26234	return nil, false
26235}
26236
26237// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26238func (he HealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
26239	return nil, false
26240}
26241
26242// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26243func (he HealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
26244	return nil, false
26245}
26246
26247// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26248func (he HealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
26249	return nil, false
26250}
26251
26252// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26253func (he HealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
26254	return nil, false
26255}
26256
26257// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26258func (he HealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
26259	return nil, false
26260}
26261
26262// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26263func (he HealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
26264	return nil, false
26265}
26266
26267// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26268func (he HealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
26269	return nil, false
26270}
26271
26272// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26273func (he HealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
26274	return nil, false
26275}
26276
26277// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26278func (he HealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
26279	return nil, false
26280}
26281
26282// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26283func (he HealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
26284	return nil, false
26285}
26286
26287// AsHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26288func (he HealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
26289	return &he, true
26290}
26291
26292// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for HealthEvaluation.
26293func (he HealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
26294	return &he, true
26295}
26296
26297// HealthEvaluationWrapper wrapper object for health evaluation.
26298type HealthEvaluationWrapper struct {
26299	// HealthEvaluation - Represents a health evaluation which describes the data and the algorithm used by health manager to evaluate the health of an entity.
26300	HealthEvaluation BasicHealthEvaluation `json:"HealthEvaluation,omitempty"`
26301}
26302
26303// UnmarshalJSON is the custom unmarshaler for HealthEvaluationWrapper struct.
26304func (hew *HealthEvaluationWrapper) UnmarshalJSON(body []byte) error {
26305	var m map[string]*json.RawMessage
26306	err := json.Unmarshal(body, &m)
26307	if err != nil {
26308		return err
26309	}
26310	for k, v := range m {
26311		switch k {
26312		case "HealthEvaluation":
26313			if v != nil {
26314				healthEvaluation, err := unmarshalBasicHealthEvaluation(*v)
26315				if err != nil {
26316					return err
26317				}
26318				hew.HealthEvaluation = healthEvaluation
26319			}
26320		}
26321	}
26322
26323	return nil
26324}
26325
26326// HealthEvent represents health information reported on a health entity, such as cluster, application or
26327// node, with additional metadata added by the Health Manager.
26328type HealthEvent struct {
26329	// IsExpired - Returns true if the health event is expired, otherwise false.
26330	IsExpired *bool `json:"IsExpired,omitempty"`
26331	// SourceUtcTimestamp - The date and time when the health report was sent by the source.
26332	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
26333	// LastModifiedUtcTimestamp - The date and time when the health report was last modified by the health store.
26334	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
26335	// LastOkTransitionAt - If the current health state is 'Ok', this property returns the time at which the health report was first reported with 'Ok'.
26336	// For periodic reporting, many reports with the same state may have been generated.
26337	// This property returns the date and time when the first 'Ok' health report was received.
26338	// 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.
26339	// If the health state was never 'Ok', the value will be zero date-time.
26340	LastOkTransitionAt *date.Time `json:"LastOkTransitionAt,omitempty"`
26341	// 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.
26342	// 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.
26343	// If the health state was never 'Warning', the value will be zero date-time.
26344	LastWarningTransitionAt *date.Time `json:"LastWarningTransitionAt,omitempty"`
26345	// 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.
26346	// 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.
26347	// If the health state was never 'Error', the value will be zero date-time.
26348	LastErrorTransitionAt *date.Time `json:"LastErrorTransitionAt,omitempty"`
26349	// SourceID - The source name that identifies the client/watchdog/system component that generated the health information.
26350	SourceID *string `json:"SourceId,omitempty"`
26351	// Property - The property of the health information. An entity can have health reports for different properties.
26352	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
26353	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
26354	// so it can report "AvailableDisk" property on that node.
26355	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
26356	// In the health store, these reports are treated as separate health events for the specified node.
26357	// Together with the SourceId, the property uniquely identifies the health information.
26358	Property *string `json:"Property,omitempty"`
26359	// 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'
26360	HealthState HealthState `json:"HealthState,omitempty"`
26361	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
26362	// When clients report periodically, they should send reports with higher frequency than time to live.
26363	// If clients report on transition, they can set the time to live to infinite.
26364	// When time to live expires, the health event that contains the health information
26365	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
26366	// If not specified, time to live defaults to infinite value.
26367	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
26368	// Description - The description of the health information. It represents free text used to add human readable information about the report.
26369	// The maximum string length for the description is 4096 characters.
26370	// If the provided string is longer, it will be automatically truncated.
26371	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
26372	// The presence of the marker indicates to users that truncation occurred.
26373	// Note that when truncated, the description has less than 4096 characters from the original string.
26374	Description *string `json:"Description,omitempty"`
26375	// SequenceNumber - The sequence number for this health report as a numeric string.
26376	// The report sequence number is used by the health store to detect stale reports.
26377	// If not specified, a sequence number is auto-generated by the health client when a report is added.
26378	SequenceNumber *string `json:"SequenceNumber,omitempty"`
26379	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
26380	// If set to true, the report is removed from the health store after it expires.
26381	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
26382	// When clients report periodically, they should set RemoveWhenExpired false (default).
26383	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
26384	// This flags the entity as being in Error health state.
26385	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
26386}
26387
26388// HealthInformation represents common health report information. It is included in all health reports sent
26389// to health store and in all health events returned by health queries.
26390type HealthInformation struct {
26391	// SourceID - The source name that identifies the client/watchdog/system component that generated the health information.
26392	SourceID *string `json:"SourceId,omitempty"`
26393	// Property - The property of the health information. An entity can have health reports for different properties.
26394	// The property is a string and not a fixed enumeration to allow the reporter flexibility to categorize the state condition that triggers the report.
26395	// For example, a reporter with SourceId "LocalWatchdog" can monitor the state of the available disk on a node,
26396	// so it can report "AvailableDisk" property on that node.
26397	// The same reporter can monitor the node connectivity, so it can report a property "Connectivity" on the same node.
26398	// In the health store, these reports are treated as separate health events for the specified node.
26399	// Together with the SourceId, the property uniquely identifies the health information.
26400	Property *string `json:"Property,omitempty"`
26401	// 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'
26402	HealthState HealthState `json:"HealthState,omitempty"`
26403	// TimeToLiveInMilliSeconds - The duration for which this health report is valid. This field uses ISO8601 format for specifying the duration.
26404	// When clients report periodically, they should send reports with higher frequency than time to live.
26405	// If clients report on transition, they can set the time to live to infinite.
26406	// When time to live expires, the health event that contains the health information
26407	// is either removed from health store, if RemoveWhenExpired is true, or evaluated at error, if RemoveWhenExpired false.
26408	// If not specified, time to live defaults to infinite value.
26409	TimeToLiveInMilliSeconds *string `json:"TimeToLiveInMilliSeconds,omitempty"`
26410	// Description - The description of the health information. It represents free text used to add human readable information about the report.
26411	// The maximum string length for the description is 4096 characters.
26412	// If the provided string is longer, it will be automatically truncated.
26413	// When truncated, the last characters of the description contain a marker "[Truncated]", and total string size is 4096 characters.
26414	// The presence of the marker indicates to users that truncation occurred.
26415	// Note that when truncated, the description has less than 4096 characters from the original string.
26416	Description *string `json:"Description,omitempty"`
26417	// SequenceNumber - The sequence number for this health report as a numeric string.
26418	// The report sequence number is used by the health store to detect stale reports.
26419	// If not specified, a sequence number is auto-generated by the health client when a report is added.
26420	SequenceNumber *string `json:"SequenceNumber,omitempty"`
26421	// RemoveWhenExpired - Value that indicates whether the report is removed from health store when it expires.
26422	// If set to true, the report is removed from the health store after it expires.
26423	// If set to false, the report is treated as an error when expired. The value of this property is false by default.
26424	// When clients report periodically, they should set RemoveWhenExpired false (default).
26425	// This way, is the reporter has issues (eg. deadlock) and can't report, the entity is evaluated at error when the health report expires.
26426	// This flags the entity as being in Error health state.
26427	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
26428}
26429
26430// HealthStateCount represents information about how many health entities are in Ok, Warning and Error
26431// health state.
26432type HealthStateCount struct {
26433	// OkCount - The number of health entities with aggregated health state Ok.
26434	OkCount *int64 `json:"OkCount,omitempty"`
26435	// WarningCount - The number of health entities with aggregated health state Warning.
26436	WarningCount *int64 `json:"WarningCount,omitempty"`
26437	// ErrorCount - The number of health entities with aggregated health state Error.
26438	ErrorCount *int64 `json:"ErrorCount,omitempty"`
26439}
26440
26441// HealthStatistics the health statistics of an entity, returned as part of the health query result when
26442// the query description is configured to include statistics.
26443// The statistics include health state counts for all children types of the current entity.
26444// For example, for cluster, the health statistics include health state counts for nodes, applications,
26445// services, partitions, replicas, deployed applications and deployed service packages.
26446// For partition, the health statistics include health counts for replicas.
26447type HealthStatistics struct {
26448	// 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.
26449	HealthStateCountList *[]EntityKindHealthStateCount `json:"HealthStateCountList,omitempty"`
26450}
26451
26452// ImageRegistryCredential image registry credential.
26453type ImageRegistryCredential struct {
26454	// Server - Docker image registry server, without protocol such as `http` and `https`.
26455	Server *string `json:"server,omitempty"`
26456	// Username - The username for the private registry.
26457	Username *string `json:"username,omitempty"`
26458	// Password - The password for the private registry.
26459	Password *string `json:"password,omitempty"`
26460}
26461
26462// ImageStoreContent information about the image store content.
26463type ImageStoreContent struct {
26464	autorest.Response `json:"-"`
26465	// StoreFiles - The list of image store file info objects represents files found under the given image store relative path.
26466	StoreFiles *[]FileInfo `json:"StoreFiles,omitempty"`
26467	// StoreFolders - The list of image store folder info objects represents subfolders found under the given image store relative path.
26468	StoreFolders *[]FolderInfo `json:"StoreFolders,omitempty"`
26469}
26470
26471// ImageStoreCopyDescription information about how to copy image store content from one image store
26472// relative path to another image store relative path.
26473type ImageStoreCopyDescription struct {
26474	// RemoteSource - The relative path of source image store content to be copied from.
26475	RemoteSource *string `json:"RemoteSource,omitempty"`
26476	// RemoteDestination - The relative path of destination image store content to be copied to.
26477	RemoteDestination *string `json:"RemoteDestination,omitempty"`
26478	// SkipFiles - The list of the file names to be skipped for copying.
26479	SkipFiles *[]string `json:"SkipFiles,omitempty"`
26480	// 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.
26481	CheckMarkFile *bool `json:"CheckMarkFile,omitempty"`
26482}
26483
26484// Int64PropertyValue describes a Service Fabric property value of type Int64.
26485type Int64PropertyValue struct {
26486	// Data - The data of the property value.
26487	Data *string `json:"Data,omitempty"`
26488	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
26489	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
26490}
26491
26492// MarshalJSON is the custom marshaler for Int64PropertyValue.
26493func (i6pv Int64PropertyValue) MarshalJSON() ([]byte, error) {
26494	i6pv.Kind = KindInt64
26495	objectMap := make(map[string]interface{})
26496	if i6pv.Data != nil {
26497		objectMap["Data"] = i6pv.Data
26498	}
26499	if i6pv.Kind != "" {
26500		objectMap["Kind"] = i6pv.Kind
26501	}
26502	return json.Marshal(objectMap)
26503}
26504
26505// AsBinaryPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26506func (i6pv Int64PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
26507	return nil, false
26508}
26509
26510// AsInt64PropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26511func (i6pv Int64PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
26512	return &i6pv, true
26513}
26514
26515// AsDoublePropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26516func (i6pv Int64PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
26517	return nil, false
26518}
26519
26520// AsStringPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26521func (i6pv Int64PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
26522	return nil, false
26523}
26524
26525// AsGUIDPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26526func (i6pv Int64PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
26527	return nil, false
26528}
26529
26530// AsPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26531func (i6pv Int64PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
26532	return nil, false
26533}
26534
26535// AsBasicPropertyValue is the BasicPropertyValue implementation for Int64PropertyValue.
26536func (i6pv Int64PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
26537	return &i6pv, true
26538}
26539
26540// Int64RangePartitionInformation describes the partition information for the integer range that is based
26541// on partition schemes.
26542type Int64RangePartitionInformation struct {
26543	// LowKey - Specifies the minimum key value handled by this partition.
26544	LowKey *string `json:"LowKey,omitempty"`
26545	// HighKey - Specifies the maximum key value handled by this partition.
26546	HighKey *string `json:"HighKey,omitempty"`
26547	// 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.
26548	ID *uuid.UUID `json:"Id,omitempty"`
26549	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
26550	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
26551}
26552
26553// MarshalJSON is the custom marshaler for Int64RangePartitionInformation.
26554func (i6rpi Int64RangePartitionInformation) MarshalJSON() ([]byte, error) {
26555	i6rpi.ServicePartitionKind = ServicePartitionKindInt64Range1
26556	objectMap := make(map[string]interface{})
26557	if i6rpi.LowKey != nil {
26558		objectMap["LowKey"] = i6rpi.LowKey
26559	}
26560	if i6rpi.HighKey != nil {
26561		objectMap["HighKey"] = i6rpi.HighKey
26562	}
26563	if i6rpi.ID != nil {
26564		objectMap["Id"] = i6rpi.ID
26565	}
26566	if i6rpi.ServicePartitionKind != "" {
26567		objectMap["ServicePartitionKind"] = i6rpi.ServicePartitionKind
26568	}
26569	return json.Marshal(objectMap)
26570}
26571
26572// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26573func (i6rpi Int64RangePartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
26574	return &i6rpi, true
26575}
26576
26577// AsNamedPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26578func (i6rpi Int64RangePartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
26579	return nil, false
26580}
26581
26582// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26583func (i6rpi Int64RangePartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
26584	return nil, false
26585}
26586
26587// AsPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26588func (i6rpi Int64RangePartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
26589	return nil, false
26590}
26591
26592// AsBasicPartitionInformation is the BasicPartitionInformation implementation for Int64RangePartitionInformation.
26593func (i6rpi Int64RangePartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
26594	return &i6rpi, true
26595}
26596
26597// InvokeDataLossResult represents information about an operation in a terminal state (Completed or
26598// Faulted).
26599type InvokeDataLossResult struct {
26600	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
26601	ErrorCode *int32 `json:"ErrorCode,omitempty"`
26602	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
26603	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
26604}
26605
26606// InvokeQuorumLossResult represents information about an operation in a terminal state (Completed or
26607// Faulted).
26608type InvokeQuorumLossResult struct {
26609	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
26610	ErrorCode *int32 `json:"ErrorCode,omitempty"`
26611	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
26612	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
26613}
26614
26615// KeyValueStoreReplicaStatus key value store related information for the replica.
26616type KeyValueStoreReplicaStatus struct {
26617	// DatabaseRowCountEstimate - Value indicating the estimated number of rows in the underlying database.
26618	DatabaseRowCountEstimate *string `json:"DatabaseRowCountEstimate,omitempty"`
26619	// DatabaseLogicalSizeEstimate - Value indicating the estimated size of the underlying database.
26620	DatabaseLogicalSizeEstimate *string `json:"DatabaseLogicalSizeEstimate,omitempty"`
26621	// CopyNotificationCurrentKeyFilter - Value indicating the latest key-prefix filter applied to enumeration during the callback. Null if there is no pending callback.
26622	CopyNotificationCurrentKeyFilter *string `json:"CopyNotificationCurrentKeyFilter,omitempty"`
26623	// CopyNotificationCurrentProgress - Value indicating the latest number of keys enumerated during the callback. 0 if there is no pending callback.
26624	CopyNotificationCurrentProgress *string `json:"CopyNotificationCurrentProgress,omitempty"`
26625	// StatusDetails - Value indicating the current status details of the replica.
26626	StatusDetails *string `json:"StatusDetails,omitempty"`
26627	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
26628	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
26629}
26630
26631// MarshalJSON is the custom marshaler for KeyValueStoreReplicaStatus.
26632func (kvsrs KeyValueStoreReplicaStatus) MarshalJSON() ([]byte, error) {
26633	kvsrs.Kind = KindKeyValueStore
26634	objectMap := make(map[string]interface{})
26635	if kvsrs.DatabaseRowCountEstimate != nil {
26636		objectMap["DatabaseRowCountEstimate"] = kvsrs.DatabaseRowCountEstimate
26637	}
26638	if kvsrs.DatabaseLogicalSizeEstimate != nil {
26639		objectMap["DatabaseLogicalSizeEstimate"] = kvsrs.DatabaseLogicalSizeEstimate
26640	}
26641	if kvsrs.CopyNotificationCurrentKeyFilter != nil {
26642		objectMap["CopyNotificationCurrentKeyFilter"] = kvsrs.CopyNotificationCurrentKeyFilter
26643	}
26644	if kvsrs.CopyNotificationCurrentProgress != nil {
26645		objectMap["CopyNotificationCurrentProgress"] = kvsrs.CopyNotificationCurrentProgress
26646	}
26647	if kvsrs.StatusDetails != nil {
26648		objectMap["StatusDetails"] = kvsrs.StatusDetails
26649	}
26650	if kvsrs.Kind != "" {
26651		objectMap["Kind"] = kvsrs.Kind
26652	}
26653	return json.Marshal(objectMap)
26654}
26655
26656// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
26657func (kvsrs KeyValueStoreReplicaStatus) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
26658	return &kvsrs, true
26659}
26660
26661// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
26662func (kvsrs KeyValueStoreReplicaStatus) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
26663	return nil, false
26664}
26665
26666// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for KeyValueStoreReplicaStatus.
26667func (kvsrs KeyValueStoreReplicaStatus) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
26668	return &kvsrs, true
26669}
26670
26671// ListApplicationEvent ...
26672type ListApplicationEvent struct {
26673	autorest.Response `json:"-"`
26674	Value             *[]BasicApplicationEvent `json:"value,omitempty"`
26675}
26676
26677// UnmarshalJSON is the custom unmarshaler for ListApplicationEvent struct.
26678func (lae *ListApplicationEvent) UnmarshalJSON(body []byte) error {
26679	ae, err := unmarshalBasicApplicationEventArray(body)
26680	if err != nil {
26681		return err
26682	}
26683	lae.Value = &ae
26684
26685	return nil
26686}
26687
26688// ListClusterEvent ...
26689type ListClusterEvent struct {
26690	autorest.Response `json:"-"`
26691	Value             *[]BasicClusterEvent `json:"value,omitempty"`
26692}
26693
26694// UnmarshalJSON is the custom unmarshaler for ListClusterEvent struct.
26695func (lce *ListClusterEvent) UnmarshalJSON(body []byte) error {
26696	ce, err := unmarshalBasicClusterEventArray(body)
26697	if err != nil {
26698		return err
26699	}
26700	lce.Value = &ce
26701
26702	return nil
26703}
26704
26705// ListContainerInstanceEvent ...
26706type ListContainerInstanceEvent struct {
26707	autorest.Response `json:"-"`
26708	Value             *[]ContainerInstanceEvent `json:"value,omitempty"`
26709}
26710
26711// ListDeployedCodePackageInfo ...
26712type ListDeployedCodePackageInfo struct {
26713	autorest.Response `json:"-"`
26714	Value             *[]DeployedCodePackageInfo `json:"value,omitempty"`
26715}
26716
26717// ListDeployedServicePackageInfo ...
26718type ListDeployedServicePackageInfo struct {
26719	autorest.Response `json:"-"`
26720	Value             *[]DeployedServicePackageInfo `json:"value,omitempty"`
26721}
26722
26723// ListDeployedServiceReplicaInfo ...
26724type ListDeployedServiceReplicaInfo struct {
26725	autorest.Response `json:"-"`
26726	Value             *[]BasicDeployedServiceReplicaInfo `json:"value,omitempty"`
26727}
26728
26729// UnmarshalJSON is the custom unmarshaler for ListDeployedServiceReplicaInfo struct.
26730func (ldsri *ListDeployedServiceReplicaInfo) UnmarshalJSON(body []byte) error {
26731	dsri, err := unmarshalBasicDeployedServiceReplicaInfoArray(body)
26732	if err != nil {
26733		return err
26734	}
26735	ldsri.Value = &dsri
26736
26737	return nil
26738}
26739
26740// ListDeployedServiceTypeInfo ...
26741type ListDeployedServiceTypeInfo struct {
26742	autorest.Response `json:"-"`
26743	Value             *[]DeployedServiceTypeInfo `json:"value,omitempty"`
26744}
26745
26746// ListFabricCodeVersionInfo ...
26747type ListFabricCodeVersionInfo struct {
26748	autorest.Response `json:"-"`
26749	Value             *[]FabricCodeVersionInfo `json:"value,omitempty"`
26750}
26751
26752// ListFabricConfigVersionInfo ...
26753type ListFabricConfigVersionInfo struct {
26754	autorest.Response `json:"-"`
26755	Value             *[]FabricConfigVersionInfo `json:"value,omitempty"`
26756}
26757
26758// ListFabricEvent ...
26759type ListFabricEvent struct {
26760	autorest.Response `json:"-"`
26761	Value             *[]BasicFabricEvent `json:"value,omitempty"`
26762}
26763
26764// UnmarshalJSON is the custom unmarshaler for ListFabricEvent struct.
26765func (lfe *ListFabricEvent) UnmarshalJSON(body []byte) error {
26766	fe, err := unmarshalBasicFabricEventArray(body)
26767	if err != nil {
26768		return err
26769	}
26770	lfe.Value = &fe
26771
26772	return nil
26773}
26774
26775// ListNodeEvent ...
26776type ListNodeEvent struct {
26777	autorest.Response `json:"-"`
26778	Value             *[]BasicNodeEvent `json:"value,omitempty"`
26779}
26780
26781// UnmarshalJSON is the custom unmarshaler for ListNodeEvent struct.
26782func (lne *ListNodeEvent) UnmarshalJSON(body []byte) error {
26783	ne, err := unmarshalBasicNodeEventArray(body)
26784	if err != nil {
26785		return err
26786	}
26787	lne.Value = &ne
26788
26789	return nil
26790}
26791
26792// ListOperationStatus ...
26793type ListOperationStatus struct {
26794	autorest.Response `json:"-"`
26795	Value             *[]OperationStatus `json:"value,omitempty"`
26796}
26797
26798// ListPartitionEvent ...
26799type ListPartitionEvent struct {
26800	autorest.Response `json:"-"`
26801	Value             *[]BasicPartitionEvent `json:"value,omitempty"`
26802}
26803
26804// UnmarshalJSON is the custom unmarshaler for ListPartitionEvent struct.
26805func (lpe *ListPartitionEvent) UnmarshalJSON(body []byte) error {
26806	peVar, err := unmarshalBasicPartitionEventArray(body)
26807	if err != nil {
26808		return err
26809	}
26810	lpe.Value = &peVar
26811
26812	return nil
26813}
26814
26815// ListRepairTask ...
26816type ListRepairTask struct {
26817	autorest.Response `json:"-"`
26818	Value             *[]RepairTask `json:"value,omitempty"`
26819}
26820
26821// ListReplicaEvent ...
26822type ListReplicaEvent struct {
26823	autorest.Response `json:"-"`
26824	Value             *[]BasicReplicaEvent `json:"value,omitempty"`
26825}
26826
26827// UnmarshalJSON is the custom unmarshaler for ListReplicaEvent struct.
26828func (lre *ListReplicaEvent) UnmarshalJSON(body []byte) error {
26829	re, err := unmarshalBasicReplicaEventArray(body)
26830	if err != nil {
26831		return err
26832	}
26833	lre.Value = &re
26834
26835	return nil
26836}
26837
26838// ListServiceEvent ...
26839type ListServiceEvent struct {
26840	autorest.Response `json:"-"`
26841	Value             *[]BasicServiceEvent `json:"value,omitempty"`
26842}
26843
26844// UnmarshalJSON is the custom unmarshaler for ListServiceEvent struct.
26845func (lse *ListServiceEvent) UnmarshalJSON(body []byte) error {
26846	se, err := unmarshalBasicServiceEventArray(body)
26847	if err != nil {
26848		return err
26849	}
26850	lse.Value = &se
26851
26852	return nil
26853}
26854
26855// ListServiceTypeInfo ...
26856type ListServiceTypeInfo struct {
26857	autorest.Response `json:"-"`
26858	Value             *[]ServiceTypeInfo `json:"value,omitempty"`
26859}
26860
26861// LoadMetricReport represents the load metric report which contains the time metric was reported, its name
26862// and value.
26863type LoadMetricReport struct {
26864	// LastReportedUtc - Gets the UTC time when the load was reported.
26865	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
26866	// Name - The name of the load metric.
26867	Name *string `json:"Name,omitempty"`
26868	// Value - The value of the load metric.
26869	Value *string `json:"Value,omitempty"`
26870}
26871
26872// LoadMetricReportInfo information about load reported by replica.
26873type LoadMetricReportInfo struct {
26874	// Name - The name of the metric.
26875	Name *string `json:"Name,omitempty"`
26876	// Value - The value of the load for the metric..
26877	Value *int32 `json:"Value,omitempty"`
26878	// LastReportedUtc - The UTC time when the load is reported.
26879	LastReportedUtc *date.Time `json:"LastReportedUtc,omitempty"`
26880}
26881
26882// MonitoringPolicyDescription describes the parameters for monitoring an upgrade in Monitored mode.
26883type MonitoringPolicyDescription struct {
26884	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
26885	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
26886	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
26887	FailureAction FailureAction `json:"FailureAction,omitempty"`
26888	// 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.
26889	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
26890	// 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.
26891	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
26892	// 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.
26893	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
26894	// 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.
26895	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
26896	// 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.
26897	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
26898}
26899
26900// NameDescription describes a Service Fabric name.
26901type NameDescription struct {
26902	// Name - The Service Fabric name, including the 'fabric:' URI scheme.
26903	Name *string `json:"Name,omitempty"`
26904}
26905
26906// NamedPartitionInformation describes the partition information for the name as a string that is based on
26907// partition schemes.
26908type NamedPartitionInformation struct {
26909	// Name - Name of the partition.
26910	Name *string `json:"Name,omitempty"`
26911	// 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.
26912	ID *uuid.UUID `json:"Id,omitempty"`
26913	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
26914	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
26915}
26916
26917// MarshalJSON is the custom marshaler for NamedPartitionInformation.
26918func (npi NamedPartitionInformation) MarshalJSON() ([]byte, error) {
26919	npi.ServicePartitionKind = ServicePartitionKindNamed1
26920	objectMap := make(map[string]interface{})
26921	if npi.Name != nil {
26922		objectMap["Name"] = npi.Name
26923	}
26924	if npi.ID != nil {
26925		objectMap["Id"] = npi.ID
26926	}
26927	if npi.ServicePartitionKind != "" {
26928		objectMap["ServicePartitionKind"] = npi.ServicePartitionKind
26929	}
26930	return json.Marshal(objectMap)
26931}
26932
26933// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26934func (npi NamedPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
26935	return nil, false
26936}
26937
26938// AsNamedPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26939func (npi NamedPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
26940	return &npi, true
26941}
26942
26943// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26944func (npi NamedPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
26945	return nil, false
26946}
26947
26948// AsPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26949func (npi NamedPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
26950	return nil, false
26951}
26952
26953// AsBasicPartitionInformation is the BasicPartitionInformation implementation for NamedPartitionInformation.
26954func (npi NamedPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
26955	return &npi, true
26956}
26957
26958// NamedPartitionSchemeDescription describes the named partition scheme of the service.
26959type NamedPartitionSchemeDescription struct {
26960	// Count - The number of partitions.
26961	Count *int32 `json:"Count,omitempty"`
26962	// Names - Array of size specified by the ‘Count’ parameter, for the names of the partitions.
26963	Names *[]string `json:"Names,omitempty"`
26964	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
26965	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
26966}
26967
26968// MarshalJSON is the custom marshaler for NamedPartitionSchemeDescription.
26969func (npsd NamedPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
26970	npsd.PartitionScheme = PartitionSchemeNamed1
26971	objectMap := make(map[string]interface{})
26972	if npsd.Count != nil {
26973		objectMap["Count"] = npsd.Count
26974	}
26975	if npsd.Names != nil {
26976		objectMap["Names"] = npsd.Names
26977	}
26978	if npsd.PartitionScheme != "" {
26979		objectMap["PartitionScheme"] = npsd.PartitionScheme
26980	}
26981	return json.Marshal(objectMap)
26982}
26983
26984// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26985func (npsd NamedPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
26986	return &npsd, true
26987}
26988
26989// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26990func (npsd NamedPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
26991	return nil, false
26992}
26993
26994// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
26995func (npsd NamedPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
26996	return nil, false
26997}
26998
26999// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
27000func (npsd NamedPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
27001	return nil, false
27002}
27003
27004// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription.
27005func (npsd NamedPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
27006	return &npsd, true
27007}
27008
27009// NetworkRef describes a network reference in a service.
27010type NetworkRef struct {
27011	// Name - Name of the network.
27012	Name *string `json:"name,omitempty"`
27013}
27014
27015// NodeAbortedEvent node Aborted event.
27016type NodeAbortedEvent struct {
27017	// NodeInstance - Id of Node instance.
27018	NodeInstance *int64 `json:"NodeInstance,omitempty"`
27019	// NodeID - Id of Node.
27020	NodeID *string `json:"NodeId,omitempty"`
27021	// UpgradeDomain - Upgrade domain of Node.
27022	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
27023	// FaultDomain - Fault domain of Node.
27024	FaultDomain *string `json:"FaultDomain,omitempty"`
27025	// IPAddressOrFQDN - IP address or FQDN.
27026	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
27027	// Hostname - Name of Host.
27028	Hostname *string `json:"Hostname,omitempty"`
27029	// IsSeedNode - Indicates if it is seed node.
27030	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
27031	// NodeVersion - Version of Node.
27032	NodeVersion *string `json:"NodeVersion,omitempty"`
27033	// NodeName - The name of a Service Fabric node.
27034	NodeName *string `json:"NodeName,omitempty"`
27035	// EventInstanceID - The identifier for the FabricEvent instance.
27036	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27037	// TimeStamp - The time event was logged.
27038	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27039	// HasCorrelatedEvents - Shows there is existing related events available.
27040	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27041	// 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'
27042	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27043}
27044
27045// MarshalJSON is the custom marshaler for NodeAbortedEvent.
27046func (nae NodeAbortedEvent) MarshalJSON() ([]byte, error) {
27047	nae.Kind = KindNodeAborted
27048	objectMap := make(map[string]interface{})
27049	if nae.NodeInstance != nil {
27050		objectMap["NodeInstance"] = nae.NodeInstance
27051	}
27052	if nae.NodeID != nil {
27053		objectMap["NodeId"] = nae.NodeID
27054	}
27055	if nae.UpgradeDomain != nil {
27056		objectMap["UpgradeDomain"] = nae.UpgradeDomain
27057	}
27058	if nae.FaultDomain != nil {
27059		objectMap["FaultDomain"] = nae.FaultDomain
27060	}
27061	if nae.IPAddressOrFQDN != nil {
27062		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
27063	}
27064	if nae.Hostname != nil {
27065		objectMap["Hostname"] = nae.Hostname
27066	}
27067	if nae.IsSeedNode != nil {
27068		objectMap["IsSeedNode"] = nae.IsSeedNode
27069	}
27070	if nae.NodeVersion != nil {
27071		objectMap["NodeVersion"] = nae.NodeVersion
27072	}
27073	if nae.NodeName != nil {
27074		objectMap["NodeName"] = nae.NodeName
27075	}
27076	if nae.EventInstanceID != nil {
27077		objectMap["EventInstanceId"] = nae.EventInstanceID
27078	}
27079	if nae.TimeStamp != nil {
27080		objectMap["TimeStamp"] = nae.TimeStamp
27081	}
27082	if nae.HasCorrelatedEvents != nil {
27083		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
27084	}
27085	if nae.Kind != "" {
27086		objectMap["Kind"] = nae.Kind
27087	}
27088	return json.Marshal(objectMap)
27089}
27090
27091// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27092func (nae NodeAbortedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27093	return nil, false
27094}
27095
27096// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27097func (nae NodeAbortedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27098	return nil, false
27099}
27100
27101// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27102func (nae NodeAbortedEvent) AsClusterEvent() (*ClusterEvent, bool) {
27103	return nil, false
27104}
27105
27106// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27107func (nae NodeAbortedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27108	return nil, false
27109}
27110
27111// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27112func (nae NodeAbortedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27113	return nil, false
27114}
27115
27116// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27117func (nae NodeAbortedEvent) AsNodeEvent() (*NodeEvent, bool) {
27118	return nil, false
27119}
27120
27121// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27122func (nae NodeAbortedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27123	return &nae, true
27124}
27125
27126// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27127func (nae NodeAbortedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27128	return nil, false
27129}
27130
27131// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27132func (nae NodeAbortedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27133	return nil, false
27134}
27135
27136// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27137func (nae NodeAbortedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27138	return nil, false
27139}
27140
27141// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27142func (nae NodeAbortedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27143	return nil, false
27144}
27145
27146// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27147func (nae NodeAbortedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27148	return nil, false
27149}
27150
27151// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27152func (nae NodeAbortedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27153	return nil, false
27154}
27155
27156// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27157func (nae NodeAbortedEvent) AsServiceEvent() (*ServiceEvent, bool) {
27158	return nil, false
27159}
27160
27161// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27162func (nae NodeAbortedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27163	return nil, false
27164}
27165
27166// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27167func (nae NodeAbortedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27168	return nil, false
27169}
27170
27171// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27172func (nae NodeAbortedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27173	return nil, false
27174}
27175
27176// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27177func (nae NodeAbortedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27178	return nil, false
27179}
27180
27181// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27182func (nae NodeAbortedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27183	return nil, false
27184}
27185
27186// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27187func (nae NodeAbortedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27188	return nil, false
27189}
27190
27191// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27192func (nae NodeAbortedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27193	return nil, false
27194}
27195
27196// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27197func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27198	return nil, false
27199}
27200
27201// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27202func (nae NodeAbortedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27203	return nil, false
27204}
27205
27206// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27207func (nae NodeAbortedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27208	return nil, false
27209}
27210
27211// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27212func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27213	return nil, false
27214}
27215
27216// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27217func (nae NodeAbortedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27218	return nil, false
27219}
27220
27221// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27222func (nae NodeAbortedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27223	return nil, false
27224}
27225
27226// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27227func (nae NodeAbortedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27228	return nil, false
27229}
27230
27231// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27232func (nae NodeAbortedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
27233	return &nae, true
27234}
27235
27236// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27237func (nae NodeAbortedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
27238	return nil, false
27239}
27240
27241// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27242func (nae NodeAbortedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
27243	return nil, false
27244}
27245
27246// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27247func (nae NodeAbortedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
27248	return nil, false
27249}
27250
27251// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27252func (nae NodeAbortedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
27253	return nil, false
27254}
27255
27256// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27257func (nae NodeAbortedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
27258	return nil, false
27259}
27260
27261// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27262func (nae NodeAbortedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
27263	return nil, false
27264}
27265
27266// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27267func (nae NodeAbortedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
27268	return nil, false
27269}
27270
27271// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27272func (nae NodeAbortedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
27273	return nil, false
27274}
27275
27276// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27277func (nae NodeAbortedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
27278	return nil, false
27279}
27280
27281// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27282func (nae NodeAbortedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
27283	return nil, false
27284}
27285
27286// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27287func (nae NodeAbortedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
27288	return nil, false
27289}
27290
27291// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27292func (nae NodeAbortedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
27293	return nil, false
27294}
27295
27296// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27297func (nae NodeAbortedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
27298	return nil, false
27299}
27300
27301// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27302func (nae NodeAbortedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
27303	return nil, false
27304}
27305
27306// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27307func (nae NodeAbortedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
27308	return nil, false
27309}
27310
27311// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27312func (nae NodeAbortedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
27313	return nil, false
27314}
27315
27316// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27317func (nae NodeAbortedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
27318	return nil, false
27319}
27320
27321// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27322func (nae NodeAbortedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
27323	return nil, false
27324}
27325
27326// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27327func (nae NodeAbortedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
27328	return nil, false
27329}
27330
27331// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27332func (nae NodeAbortedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
27333	return nil, false
27334}
27335
27336// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27337func (nae NodeAbortedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
27338	return nil, false
27339}
27340
27341// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27342func (nae NodeAbortedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
27343	return nil, false
27344}
27345
27346// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27347func (nae NodeAbortedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
27348	return nil, false
27349}
27350
27351// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27352func (nae NodeAbortedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
27353	return nil, false
27354}
27355
27356// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27357func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
27358	return nil, false
27359}
27360
27361// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27362func (nae NodeAbortedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
27363	return nil, false
27364}
27365
27366// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27367func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
27368	return nil, false
27369}
27370
27371// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27372func (nae NodeAbortedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
27373	return nil, false
27374}
27375
27376// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27377func (nae NodeAbortedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
27378	return nil, false
27379}
27380
27381// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27382func (nae NodeAbortedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
27383	return nil, false
27384}
27385
27386// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27387func (nae NodeAbortedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
27388	return nil, false
27389}
27390
27391// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27392func (nae NodeAbortedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
27393	return nil, false
27394}
27395
27396// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27397func (nae NodeAbortedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
27398	return nil, false
27399}
27400
27401// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27402func (nae NodeAbortedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
27403	return nil, false
27404}
27405
27406// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27407func (nae NodeAbortedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27408	return nil, false
27409}
27410
27411// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27412func (nae NodeAbortedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27413	return nil, false
27414}
27415
27416// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27417func (nae NodeAbortedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27418	return nil, false
27419}
27420
27421// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27422func (nae NodeAbortedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27423	return nil, false
27424}
27425
27426// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27427func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27428	return nil, false
27429}
27430
27431// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27432func (nae NodeAbortedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27433	return nil, false
27434}
27435
27436// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27437func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27438	return nil, false
27439}
27440
27441// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27442func (nae NodeAbortedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27443	return nil, false
27444}
27445
27446// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27447func (nae NodeAbortedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27448	return nil, false
27449}
27450
27451// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27452func (nae NodeAbortedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27453	return nil, false
27454}
27455
27456// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27457func (nae NodeAbortedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27458	return nil, false
27459}
27460
27461// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27462func (nae NodeAbortedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27463	return nil, false
27464}
27465
27466// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27467func (nae NodeAbortedEvent) AsFabricEvent() (*FabricEvent, bool) {
27468	return nil, false
27469}
27470
27471// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortedEvent.
27472func (nae NodeAbortedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27473	return &nae, true
27474}
27475
27476// NodeAbortingEvent node Aborting event.
27477type NodeAbortingEvent struct {
27478	// NodeInstance - Id of Node instance.
27479	NodeInstance *int64 `json:"NodeInstance,omitempty"`
27480	// NodeID - Id of Node.
27481	NodeID *string `json:"NodeId,omitempty"`
27482	// UpgradeDomain - Upgrade domain of Node.
27483	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
27484	// FaultDomain - Fault domain of Node.
27485	FaultDomain *string `json:"FaultDomain,omitempty"`
27486	// IPAddressOrFQDN - IP address or FQDN.
27487	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
27488	// Hostname - Name of Host.
27489	Hostname *string `json:"Hostname,omitempty"`
27490	// IsSeedNode - Indicates if it is seed node.
27491	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
27492	// NodeVersion - Version of Node.
27493	NodeVersion *string `json:"NodeVersion,omitempty"`
27494	// NodeName - The name of a Service Fabric node.
27495	NodeName *string `json:"NodeName,omitempty"`
27496	// EventInstanceID - The identifier for the FabricEvent instance.
27497	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27498	// TimeStamp - The time event was logged.
27499	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27500	// HasCorrelatedEvents - Shows there is existing related events available.
27501	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27502	// 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'
27503	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27504}
27505
27506// MarshalJSON is the custom marshaler for NodeAbortingEvent.
27507func (nae NodeAbortingEvent) MarshalJSON() ([]byte, error) {
27508	nae.Kind = KindNodeAborting
27509	objectMap := make(map[string]interface{})
27510	if nae.NodeInstance != nil {
27511		objectMap["NodeInstance"] = nae.NodeInstance
27512	}
27513	if nae.NodeID != nil {
27514		objectMap["NodeId"] = nae.NodeID
27515	}
27516	if nae.UpgradeDomain != nil {
27517		objectMap["UpgradeDomain"] = nae.UpgradeDomain
27518	}
27519	if nae.FaultDomain != nil {
27520		objectMap["FaultDomain"] = nae.FaultDomain
27521	}
27522	if nae.IPAddressOrFQDN != nil {
27523		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
27524	}
27525	if nae.Hostname != nil {
27526		objectMap["Hostname"] = nae.Hostname
27527	}
27528	if nae.IsSeedNode != nil {
27529		objectMap["IsSeedNode"] = nae.IsSeedNode
27530	}
27531	if nae.NodeVersion != nil {
27532		objectMap["NodeVersion"] = nae.NodeVersion
27533	}
27534	if nae.NodeName != nil {
27535		objectMap["NodeName"] = nae.NodeName
27536	}
27537	if nae.EventInstanceID != nil {
27538		objectMap["EventInstanceId"] = nae.EventInstanceID
27539	}
27540	if nae.TimeStamp != nil {
27541		objectMap["TimeStamp"] = nae.TimeStamp
27542	}
27543	if nae.HasCorrelatedEvents != nil {
27544		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
27545	}
27546	if nae.Kind != "" {
27547		objectMap["Kind"] = nae.Kind
27548	}
27549	return json.Marshal(objectMap)
27550}
27551
27552// AsApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27553func (nae NodeAbortingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
27554	return nil, false
27555}
27556
27557// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27558func (nae NodeAbortingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
27559	return nil, false
27560}
27561
27562// AsClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27563func (nae NodeAbortingEvent) AsClusterEvent() (*ClusterEvent, bool) {
27564	return nil, false
27565}
27566
27567// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27568func (nae NodeAbortingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
27569	return nil, false
27570}
27571
27572// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27573func (nae NodeAbortingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
27574	return nil, false
27575}
27576
27577// AsNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27578func (nae NodeAbortingEvent) AsNodeEvent() (*NodeEvent, bool) {
27579	return nil, false
27580}
27581
27582// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27583func (nae NodeAbortingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
27584	return &nae, true
27585}
27586
27587// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27588func (nae NodeAbortingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
27589	return nil, false
27590}
27591
27592// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27593func (nae NodeAbortingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
27594	return nil, false
27595}
27596
27597// AsPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27598func (nae NodeAbortingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
27599	return nil, false
27600}
27601
27602// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27603func (nae NodeAbortingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
27604	return nil, false
27605}
27606
27607// AsReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27608func (nae NodeAbortingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
27609	return nil, false
27610}
27611
27612// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27613func (nae NodeAbortingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
27614	return nil, false
27615}
27616
27617// AsServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27618func (nae NodeAbortingEvent) AsServiceEvent() (*ServiceEvent, bool) {
27619	return nil, false
27620}
27621
27622// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27623func (nae NodeAbortingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
27624	return nil, false
27625}
27626
27627// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27628func (nae NodeAbortingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
27629	return nil, false
27630}
27631
27632// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27633func (nae NodeAbortingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
27634	return nil, false
27635}
27636
27637// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27638func (nae NodeAbortingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
27639	return nil, false
27640}
27641
27642// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27643func (nae NodeAbortingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
27644	return nil, false
27645}
27646
27647// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27648func (nae NodeAbortingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
27649	return nil, false
27650}
27651
27652// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27653func (nae NodeAbortingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
27654	return nil, false
27655}
27656
27657// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27658func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
27659	return nil, false
27660}
27661
27662// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27663func (nae NodeAbortingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
27664	return nil, false
27665}
27666
27667// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27668func (nae NodeAbortingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
27669	return nil, false
27670}
27671
27672// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27673func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
27674	return nil, false
27675}
27676
27677// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27678func (nae NodeAbortingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
27679	return nil, false
27680}
27681
27682// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27683func (nae NodeAbortingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
27684	return nil, false
27685}
27686
27687// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27688func (nae NodeAbortingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
27689	return nil, false
27690}
27691
27692// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27693func (nae NodeAbortingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
27694	return nil, false
27695}
27696
27697// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27698func (nae NodeAbortingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
27699	return &nae, true
27700}
27701
27702// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27703func (nae NodeAbortingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
27704	return nil, false
27705}
27706
27707// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27708func (nae NodeAbortingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
27709	return nil, false
27710}
27711
27712// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27713func (nae NodeAbortingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
27714	return nil, false
27715}
27716
27717// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27718func (nae NodeAbortingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
27719	return nil, false
27720}
27721
27722// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27723func (nae NodeAbortingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
27724	return nil, false
27725}
27726
27727// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27728func (nae NodeAbortingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
27729	return nil, false
27730}
27731
27732// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27733func (nae NodeAbortingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
27734	return nil, false
27735}
27736
27737// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27738func (nae NodeAbortingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
27739	return nil, false
27740}
27741
27742// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27743func (nae NodeAbortingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
27744	return nil, false
27745}
27746
27747// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27748func (nae NodeAbortingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
27749	return nil, false
27750}
27751
27752// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27753func (nae NodeAbortingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
27754	return nil, false
27755}
27756
27757// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27758func (nae NodeAbortingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
27759	return nil, false
27760}
27761
27762// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27763func (nae NodeAbortingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
27764	return nil, false
27765}
27766
27767// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27768func (nae NodeAbortingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
27769	return nil, false
27770}
27771
27772// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27773func (nae NodeAbortingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
27774	return nil, false
27775}
27776
27777// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27778func (nae NodeAbortingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
27779	return nil, false
27780}
27781
27782// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27783func (nae NodeAbortingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
27784	return nil, false
27785}
27786
27787// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27788func (nae NodeAbortingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
27789	return nil, false
27790}
27791
27792// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27793func (nae NodeAbortingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
27794	return nil, false
27795}
27796
27797// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27798func (nae NodeAbortingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
27799	return nil, false
27800}
27801
27802// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27803func (nae NodeAbortingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
27804	return nil, false
27805}
27806
27807// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27808func (nae NodeAbortingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
27809	return nil, false
27810}
27811
27812// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27813func (nae NodeAbortingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
27814	return nil, false
27815}
27816
27817// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27818func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
27819	return nil, false
27820}
27821
27822// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27823func (nae NodeAbortingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
27824	return nil, false
27825}
27826
27827// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27828func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
27829	return nil, false
27830}
27831
27832// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27833func (nae NodeAbortingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
27834	return nil, false
27835}
27836
27837// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27838func (nae NodeAbortingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
27839	return nil, false
27840}
27841
27842// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27843func (nae NodeAbortingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
27844	return nil, false
27845}
27846
27847// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27848func (nae NodeAbortingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
27849	return nil, false
27850}
27851
27852// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27853func (nae NodeAbortingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
27854	return nil, false
27855}
27856
27857// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27858func (nae NodeAbortingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
27859	return nil, false
27860}
27861
27862// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27863func (nae NodeAbortingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
27864	return nil, false
27865}
27866
27867// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27868func (nae NodeAbortingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
27869	return nil, false
27870}
27871
27872// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27873func (nae NodeAbortingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
27874	return nil, false
27875}
27876
27877// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27878func (nae NodeAbortingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
27879	return nil, false
27880}
27881
27882// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27883func (nae NodeAbortingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
27884	return nil, false
27885}
27886
27887// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27888func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
27889	return nil, false
27890}
27891
27892// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27893func (nae NodeAbortingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
27894	return nil, false
27895}
27896
27897// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27898func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
27899	return nil, false
27900}
27901
27902// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27903func (nae NodeAbortingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
27904	return nil, false
27905}
27906
27907// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27908func (nae NodeAbortingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
27909	return nil, false
27910}
27911
27912// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27913func (nae NodeAbortingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
27914	return nil, false
27915}
27916
27917// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27918func (nae NodeAbortingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
27919	return nil, false
27920}
27921
27922// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27923func (nae NodeAbortingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
27924	return nil, false
27925}
27926
27927// AsFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27928func (nae NodeAbortingEvent) AsFabricEvent() (*FabricEvent, bool) {
27929	return nil, false
27930}
27931
27932// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAbortingEvent.
27933func (nae NodeAbortingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
27934	return &nae, true
27935}
27936
27937// NodeAddedEvent node Added event.
27938type NodeAddedEvent struct {
27939	// NodeID - Id of Node.
27940	NodeID *string `json:"NodeId,omitempty"`
27941	// NodeInstance - Id of Node instance.
27942	NodeInstance *int64 `json:"NodeInstance,omitempty"`
27943	// NodeType - Type of Node.
27944	NodeType *string `json:"NodeType,omitempty"`
27945	// FabricVersion - Fabric version.
27946	FabricVersion *string `json:"FabricVersion,omitempty"`
27947	// IPAddressOrFQDN - IP address or FQDN.
27948	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
27949	// NodeCapacities - Capacities.
27950	NodeCapacities *string `json:"NodeCapacities,omitempty"`
27951	// NodeName - The name of a Service Fabric node.
27952	NodeName *string `json:"NodeName,omitempty"`
27953	// EventInstanceID - The identifier for the FabricEvent instance.
27954	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
27955	// TimeStamp - The time event was logged.
27956	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
27957	// HasCorrelatedEvents - Shows there is existing related events available.
27958	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
27959	// 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'
27960	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
27961}
27962
27963// MarshalJSON is the custom marshaler for NodeAddedEvent.
27964func (nae NodeAddedEvent) MarshalJSON() ([]byte, error) {
27965	nae.Kind = KindNodeAdded
27966	objectMap := make(map[string]interface{})
27967	if nae.NodeID != nil {
27968		objectMap["NodeId"] = nae.NodeID
27969	}
27970	if nae.NodeInstance != nil {
27971		objectMap["NodeInstance"] = nae.NodeInstance
27972	}
27973	if nae.NodeType != nil {
27974		objectMap["NodeType"] = nae.NodeType
27975	}
27976	if nae.FabricVersion != nil {
27977		objectMap["FabricVersion"] = nae.FabricVersion
27978	}
27979	if nae.IPAddressOrFQDN != nil {
27980		objectMap["IpAddressOrFQDN"] = nae.IPAddressOrFQDN
27981	}
27982	if nae.NodeCapacities != nil {
27983		objectMap["NodeCapacities"] = nae.NodeCapacities
27984	}
27985	if nae.NodeName != nil {
27986		objectMap["NodeName"] = nae.NodeName
27987	}
27988	if nae.EventInstanceID != nil {
27989		objectMap["EventInstanceId"] = nae.EventInstanceID
27990	}
27991	if nae.TimeStamp != nil {
27992		objectMap["TimeStamp"] = nae.TimeStamp
27993	}
27994	if nae.HasCorrelatedEvents != nil {
27995		objectMap["HasCorrelatedEvents"] = nae.HasCorrelatedEvents
27996	}
27997	if nae.Kind != "" {
27998		objectMap["Kind"] = nae.Kind
27999	}
28000	return json.Marshal(objectMap)
28001}
28002
28003// AsApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28004func (nae NodeAddedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28005	return nil, false
28006}
28007
28008// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28009func (nae NodeAddedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28010	return nil, false
28011}
28012
28013// AsClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28014func (nae NodeAddedEvent) AsClusterEvent() (*ClusterEvent, bool) {
28015	return nil, false
28016}
28017
28018// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28019func (nae NodeAddedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28020	return nil, false
28021}
28022
28023// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28024func (nae NodeAddedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28025	return nil, false
28026}
28027
28028// AsNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28029func (nae NodeAddedEvent) AsNodeEvent() (*NodeEvent, bool) {
28030	return nil, false
28031}
28032
28033// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28034func (nae NodeAddedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28035	return &nae, true
28036}
28037
28038// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28039func (nae NodeAddedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28040	return nil, false
28041}
28042
28043// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28044func (nae NodeAddedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28045	return nil, false
28046}
28047
28048// AsPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28049func (nae NodeAddedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28050	return nil, false
28051}
28052
28053// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28054func (nae NodeAddedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28055	return nil, false
28056}
28057
28058// AsReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28059func (nae NodeAddedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28060	return nil, false
28061}
28062
28063// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28064func (nae NodeAddedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28065	return nil, false
28066}
28067
28068// AsServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28069func (nae NodeAddedEvent) AsServiceEvent() (*ServiceEvent, bool) {
28070	return nil, false
28071}
28072
28073// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28074func (nae NodeAddedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28075	return nil, false
28076}
28077
28078// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28079func (nae NodeAddedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28080	return nil, false
28081}
28082
28083// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28084func (nae NodeAddedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28085	return nil, false
28086}
28087
28088// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28089func (nae NodeAddedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28090	return nil, false
28091}
28092
28093// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28094func (nae NodeAddedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28095	return nil, false
28096}
28097
28098// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28099func (nae NodeAddedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28100	return nil, false
28101}
28102
28103// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28104func (nae NodeAddedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28105	return nil, false
28106}
28107
28108// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28109func (nae NodeAddedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28110	return nil, false
28111}
28112
28113// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28114func (nae NodeAddedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28115	return nil, false
28116}
28117
28118// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28119func (nae NodeAddedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28120	return nil, false
28121}
28122
28123// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28124func (nae NodeAddedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28125	return nil, false
28126}
28127
28128// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28129func (nae NodeAddedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
28130	return nil, false
28131}
28132
28133// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28134func (nae NodeAddedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
28135	return nil, false
28136}
28137
28138// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28139func (nae NodeAddedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
28140	return nil, false
28141}
28142
28143// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28144func (nae NodeAddedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28145	return nil, false
28146}
28147
28148// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28149func (nae NodeAddedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28150	return nil, false
28151}
28152
28153// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28154func (nae NodeAddedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28155	return &nae, true
28156}
28157
28158// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28159func (nae NodeAddedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28160	return nil, false
28161}
28162
28163// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28164func (nae NodeAddedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28165	return nil, false
28166}
28167
28168// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28169func (nae NodeAddedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28170	return nil, false
28171}
28172
28173// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28174func (nae NodeAddedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28175	return nil, false
28176}
28177
28178// AsNodeDownEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28179func (nae NodeAddedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28180	return nil, false
28181}
28182
28183// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28184func (nae NodeAddedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28185	return nil, false
28186}
28187
28188// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28189func (nae NodeAddedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28190	return nil, false
28191}
28192
28193// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28194func (nae NodeAddedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28195	return nil, false
28196}
28197
28198// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28199func (nae NodeAddedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28200	return nil, false
28201}
28202
28203// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28204func (nae NodeAddedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28205	return nil, false
28206}
28207
28208// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28209func (nae NodeAddedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28210	return nil, false
28211}
28212
28213// AsNodeUpEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28214func (nae NodeAddedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28215	return nil, false
28216}
28217
28218// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28219func (nae NodeAddedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28220	return nil, false
28221}
28222
28223// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28224func (nae NodeAddedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28225	return nil, false
28226}
28227
28228// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28229func (nae NodeAddedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28230	return nil, false
28231}
28232
28233// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28234func (nae NodeAddedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28235	return nil, false
28236}
28237
28238// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28239func (nae NodeAddedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28240	return nil, false
28241}
28242
28243// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28244func (nae NodeAddedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28245	return nil, false
28246}
28247
28248// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28249func (nae NodeAddedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28250	return nil, false
28251}
28252
28253// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28254func (nae NodeAddedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28255	return nil, false
28256}
28257
28258// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28259func (nae NodeAddedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28260	return nil, false
28261}
28262
28263// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28264func (nae NodeAddedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28265	return nil, false
28266}
28267
28268// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28269func (nae NodeAddedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28270	return nil, false
28271}
28272
28273// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28274func (nae NodeAddedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28275	return nil, false
28276}
28277
28278// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28279func (nae NodeAddedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
28280	return nil, false
28281}
28282
28283// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28284func (nae NodeAddedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
28285	return nil, false
28286}
28287
28288// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28289func (nae NodeAddedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
28290	return nil, false
28291}
28292
28293// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28294func (nae NodeAddedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
28295	return nil, false
28296}
28297
28298// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28299func (nae NodeAddedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
28300	return nil, false
28301}
28302
28303// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28304func (nae NodeAddedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
28305	return nil, false
28306}
28307
28308// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28309func (nae NodeAddedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
28310	return nil, false
28311}
28312
28313// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28314func (nae NodeAddedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
28315	return nil, false
28316}
28317
28318// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28319func (nae NodeAddedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
28320	return nil, false
28321}
28322
28323// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28324func (nae NodeAddedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
28325	return nil, false
28326}
28327
28328// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28329func (nae NodeAddedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
28330	return nil, false
28331}
28332
28333// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28334func (nae NodeAddedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
28335	return nil, false
28336}
28337
28338// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28339func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
28340	return nil, false
28341}
28342
28343// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28344func (nae NodeAddedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
28345	return nil, false
28346}
28347
28348// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28349func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
28350	return nil, false
28351}
28352
28353// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28354func (nae NodeAddedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
28355	return nil, false
28356}
28357
28358// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28359func (nae NodeAddedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
28360	return nil, false
28361}
28362
28363// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28364func (nae NodeAddedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
28365	return nil, false
28366}
28367
28368// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28369func (nae NodeAddedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
28370	return nil, false
28371}
28372
28373// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28374func (nae NodeAddedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
28375	return nil, false
28376}
28377
28378// AsFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28379func (nae NodeAddedEvent) AsFabricEvent() (*FabricEvent, bool) {
28380	return nil, false
28381}
28382
28383// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeAddedEvent.
28384func (nae NodeAddedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28385	return &nae, true
28386}
28387
28388// NodeCloseEvent node Close event.
28389type NodeCloseEvent struct {
28390	// NodeID - Id of Node.
28391	NodeID *string `json:"NodeId,omitempty"`
28392	// NodeInstance - Id of Node instance.
28393	NodeInstance *string `json:"NodeInstance,omitempty"`
28394	// Error - Describes error.
28395	Error *string `json:"Error,omitempty"`
28396	// NodeName - The name of a Service Fabric node.
28397	NodeName *string `json:"NodeName,omitempty"`
28398	// EventInstanceID - The identifier for the FabricEvent instance.
28399	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28400	// TimeStamp - The time event was logged.
28401	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28402	// HasCorrelatedEvents - Shows there is existing related events available.
28403	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28404	// 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'
28405	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28406}
28407
28408// MarshalJSON is the custom marshaler for NodeCloseEvent.
28409func (nce NodeCloseEvent) MarshalJSON() ([]byte, error) {
28410	nce.Kind = KindNodeClose
28411	objectMap := make(map[string]interface{})
28412	if nce.NodeID != nil {
28413		objectMap["NodeId"] = nce.NodeID
28414	}
28415	if nce.NodeInstance != nil {
28416		objectMap["NodeInstance"] = nce.NodeInstance
28417	}
28418	if nce.Error != nil {
28419		objectMap["Error"] = nce.Error
28420	}
28421	if nce.NodeName != nil {
28422		objectMap["NodeName"] = nce.NodeName
28423	}
28424	if nce.EventInstanceID != nil {
28425		objectMap["EventInstanceId"] = nce.EventInstanceID
28426	}
28427	if nce.TimeStamp != nil {
28428		objectMap["TimeStamp"] = nce.TimeStamp
28429	}
28430	if nce.HasCorrelatedEvents != nil {
28431		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
28432	}
28433	if nce.Kind != "" {
28434		objectMap["Kind"] = nce.Kind
28435	}
28436	return json.Marshal(objectMap)
28437}
28438
28439// AsApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28440func (nce NodeCloseEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28441	return nil, false
28442}
28443
28444// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28445func (nce NodeCloseEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28446	return nil, false
28447}
28448
28449// AsClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28450func (nce NodeCloseEvent) AsClusterEvent() (*ClusterEvent, bool) {
28451	return nil, false
28452}
28453
28454// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28455func (nce NodeCloseEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28456	return nil, false
28457}
28458
28459// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28460func (nce NodeCloseEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28461	return nil, false
28462}
28463
28464// AsNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28465func (nce NodeCloseEvent) AsNodeEvent() (*NodeEvent, bool) {
28466	return nil, false
28467}
28468
28469// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28470func (nce NodeCloseEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28471	return &nce, true
28472}
28473
28474// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28475func (nce NodeCloseEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28476	return nil, false
28477}
28478
28479// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28480func (nce NodeCloseEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28481	return nil, false
28482}
28483
28484// AsPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28485func (nce NodeCloseEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28486	return nil, false
28487}
28488
28489// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28490func (nce NodeCloseEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28491	return nil, false
28492}
28493
28494// AsReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28495func (nce NodeCloseEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28496	return nil, false
28497}
28498
28499// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28500func (nce NodeCloseEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28501	return nil, false
28502}
28503
28504// AsServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28505func (nce NodeCloseEvent) AsServiceEvent() (*ServiceEvent, bool) {
28506	return nil, false
28507}
28508
28509// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28510func (nce NodeCloseEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28511	return nil, false
28512}
28513
28514// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28515func (nce NodeCloseEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28516	return nil, false
28517}
28518
28519// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28520func (nce NodeCloseEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28521	return nil, false
28522}
28523
28524// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28525func (nce NodeCloseEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28526	return nil, false
28527}
28528
28529// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28530func (nce NodeCloseEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28531	return nil, false
28532}
28533
28534// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28535func (nce NodeCloseEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28536	return nil, false
28537}
28538
28539// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28540func (nce NodeCloseEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
28541	return nil, false
28542}
28543
28544// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28545func (nce NodeCloseEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
28546	return nil, false
28547}
28548
28549// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28550func (nce NodeCloseEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
28551	return nil, false
28552}
28553
28554// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28555func (nce NodeCloseEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
28556	return nil, false
28557}
28558
28559// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28560func (nce NodeCloseEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
28561	return nil, false
28562}
28563
28564// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28565func (nce NodeCloseEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
28566	return nil, false
28567}
28568
28569// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28570func (nce NodeCloseEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
28571	return nil, false
28572}
28573
28574// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28575func (nce NodeCloseEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
28576	return nil, false
28577}
28578
28579// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28580func (nce NodeCloseEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
28581	return nil, false
28582}
28583
28584// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28585func (nce NodeCloseEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
28586	return nil, false
28587}
28588
28589// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28590func (nce NodeCloseEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
28591	return nil, false
28592}
28593
28594// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28595func (nce NodeCloseEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
28596	return &nce, true
28597}
28598
28599// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28600func (nce NodeCloseEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
28601	return nil, false
28602}
28603
28604// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28605func (nce NodeCloseEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
28606	return nil, false
28607}
28608
28609// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28610func (nce NodeCloseEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
28611	return nil, false
28612}
28613
28614// AsNodeDownEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28615func (nce NodeCloseEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
28616	return nil, false
28617}
28618
28619// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28620func (nce NodeCloseEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
28621	return nil, false
28622}
28623
28624// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28625func (nce NodeCloseEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
28626	return nil, false
28627}
28628
28629// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28630func (nce NodeCloseEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
28631	return nil, false
28632}
28633
28634// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28635func (nce NodeCloseEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
28636	return nil, false
28637}
28638
28639// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28640func (nce NodeCloseEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
28641	return nil, false
28642}
28643
28644// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28645func (nce NodeCloseEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
28646	return nil, false
28647}
28648
28649// AsNodeUpEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28650func (nce NodeCloseEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
28651	return nil, false
28652}
28653
28654// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28655func (nce NodeCloseEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
28656	return nil, false
28657}
28658
28659// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28660func (nce NodeCloseEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
28661	return nil, false
28662}
28663
28664// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28665func (nce NodeCloseEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
28666	return nil, false
28667}
28668
28669// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28670func (nce NodeCloseEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
28671	return nil, false
28672}
28673
28674// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28675func (nce NodeCloseEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
28676	return nil, false
28677}
28678
28679// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28680func (nce NodeCloseEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
28681	return nil, false
28682}
28683
28684// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28685func (nce NodeCloseEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
28686	return nil, false
28687}
28688
28689// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28690func (nce NodeCloseEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
28691	return nil, false
28692}
28693
28694// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28695func (nce NodeCloseEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
28696	return nil, false
28697}
28698
28699// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28700func (nce NodeCloseEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
28701	return nil, false
28702}
28703
28704// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28705func (nce NodeCloseEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
28706	return nil, false
28707}
28708
28709// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28710func (nce NodeCloseEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
28711	return nil, false
28712}
28713
28714// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28715func (nce NodeCloseEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
28716	return nil, false
28717}
28718
28719// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28720func (nce NodeCloseEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
28721	return nil, false
28722}
28723
28724// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28725func (nce NodeCloseEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
28726	return nil, false
28727}
28728
28729// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28730func (nce NodeCloseEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
28731	return nil, false
28732}
28733
28734// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28735func (nce NodeCloseEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
28736	return nil, false
28737}
28738
28739// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28740func (nce NodeCloseEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
28741	return nil, false
28742}
28743
28744// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28745func (nce NodeCloseEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
28746	return nil, false
28747}
28748
28749// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28750func (nce NodeCloseEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
28751	return nil, false
28752}
28753
28754// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28755func (nce NodeCloseEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
28756	return nil, false
28757}
28758
28759// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28760func (nce NodeCloseEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
28761	return nil, false
28762}
28763
28764// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28765func (nce NodeCloseEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
28766	return nil, false
28767}
28768
28769// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28770func (nce NodeCloseEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
28771	return nil, false
28772}
28773
28774// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28775func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
28776	return nil, false
28777}
28778
28779// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28780func (nce NodeCloseEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
28781	return nil, false
28782}
28783
28784// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28785func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
28786	return nil, false
28787}
28788
28789// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28790func (nce NodeCloseEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
28791	return nil, false
28792}
28793
28794// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28795func (nce NodeCloseEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
28796	return nil, false
28797}
28798
28799// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28800func (nce NodeCloseEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
28801	return nil, false
28802}
28803
28804// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28805func (nce NodeCloseEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
28806	return nil, false
28807}
28808
28809// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28810func (nce NodeCloseEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
28811	return nil, false
28812}
28813
28814// AsFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28815func (nce NodeCloseEvent) AsFabricEvent() (*FabricEvent, bool) {
28816	return nil, false
28817}
28818
28819// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeCloseEvent.
28820func (nce NodeCloseEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
28821	return &nce, true
28822}
28823
28824// NodeClosingEvent node Closing event.
28825type NodeClosingEvent struct {
28826	// NodeInstance - Id of Node instance.
28827	NodeInstance *int64 `json:"NodeInstance,omitempty"`
28828	// NodeID - Id of Node.
28829	NodeID *string `json:"NodeId,omitempty"`
28830	// UpgradeDomain - Upgrade domain of Node.
28831	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
28832	// FaultDomain - Fault domain of Node.
28833	FaultDomain *string `json:"FaultDomain,omitempty"`
28834	// IPAddressOrFQDN - IP address or FQDN.
28835	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
28836	// Hostname - Name of Host.
28837	Hostname *string `json:"Hostname,omitempty"`
28838	// IsSeedNode - Indicates if it is seed node.
28839	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
28840	// NodeVersion - Version of Node.
28841	NodeVersion *string `json:"NodeVersion,omitempty"`
28842	// NodeName - The name of a Service Fabric node.
28843	NodeName *string `json:"NodeName,omitempty"`
28844	// EventInstanceID - The identifier for the FabricEvent instance.
28845	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
28846	// TimeStamp - The time event was logged.
28847	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
28848	// HasCorrelatedEvents - Shows there is existing related events available.
28849	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
28850	// 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'
28851	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
28852}
28853
28854// MarshalJSON is the custom marshaler for NodeClosingEvent.
28855func (nce NodeClosingEvent) MarshalJSON() ([]byte, error) {
28856	nce.Kind = KindNodeClosing
28857	objectMap := make(map[string]interface{})
28858	if nce.NodeInstance != nil {
28859		objectMap["NodeInstance"] = nce.NodeInstance
28860	}
28861	if nce.NodeID != nil {
28862		objectMap["NodeId"] = nce.NodeID
28863	}
28864	if nce.UpgradeDomain != nil {
28865		objectMap["UpgradeDomain"] = nce.UpgradeDomain
28866	}
28867	if nce.FaultDomain != nil {
28868		objectMap["FaultDomain"] = nce.FaultDomain
28869	}
28870	if nce.IPAddressOrFQDN != nil {
28871		objectMap["IpAddressOrFQDN"] = nce.IPAddressOrFQDN
28872	}
28873	if nce.Hostname != nil {
28874		objectMap["Hostname"] = nce.Hostname
28875	}
28876	if nce.IsSeedNode != nil {
28877		objectMap["IsSeedNode"] = nce.IsSeedNode
28878	}
28879	if nce.NodeVersion != nil {
28880		objectMap["NodeVersion"] = nce.NodeVersion
28881	}
28882	if nce.NodeName != nil {
28883		objectMap["NodeName"] = nce.NodeName
28884	}
28885	if nce.EventInstanceID != nil {
28886		objectMap["EventInstanceId"] = nce.EventInstanceID
28887	}
28888	if nce.TimeStamp != nil {
28889		objectMap["TimeStamp"] = nce.TimeStamp
28890	}
28891	if nce.HasCorrelatedEvents != nil {
28892		objectMap["HasCorrelatedEvents"] = nce.HasCorrelatedEvents
28893	}
28894	if nce.Kind != "" {
28895		objectMap["Kind"] = nce.Kind
28896	}
28897	return json.Marshal(objectMap)
28898}
28899
28900// AsApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28901func (nce NodeClosingEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
28902	return nil, false
28903}
28904
28905// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28906func (nce NodeClosingEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
28907	return nil, false
28908}
28909
28910// AsClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28911func (nce NodeClosingEvent) AsClusterEvent() (*ClusterEvent, bool) {
28912	return nil, false
28913}
28914
28915// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28916func (nce NodeClosingEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
28917	return nil, false
28918}
28919
28920// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28921func (nce NodeClosingEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
28922	return nil, false
28923}
28924
28925// AsNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28926func (nce NodeClosingEvent) AsNodeEvent() (*NodeEvent, bool) {
28927	return nil, false
28928}
28929
28930// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28931func (nce NodeClosingEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
28932	return &nce, true
28933}
28934
28935// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28936func (nce NodeClosingEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
28937	return nil, false
28938}
28939
28940// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28941func (nce NodeClosingEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
28942	return nil, false
28943}
28944
28945// AsPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28946func (nce NodeClosingEvent) AsPartitionEvent() (*PartitionEvent, bool) {
28947	return nil, false
28948}
28949
28950// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28951func (nce NodeClosingEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
28952	return nil, false
28953}
28954
28955// AsReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28956func (nce NodeClosingEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
28957	return nil, false
28958}
28959
28960// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28961func (nce NodeClosingEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
28962	return nil, false
28963}
28964
28965// AsServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28966func (nce NodeClosingEvent) AsServiceEvent() (*ServiceEvent, bool) {
28967	return nil, false
28968}
28969
28970// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28971func (nce NodeClosingEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
28972	return nil, false
28973}
28974
28975// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28976func (nce NodeClosingEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
28977	return nil, false
28978}
28979
28980// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28981func (nce NodeClosingEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
28982	return nil, false
28983}
28984
28985// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28986func (nce NodeClosingEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
28987	return nil, false
28988}
28989
28990// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28991func (nce NodeClosingEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
28992	return nil, false
28993}
28994
28995// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
28996func (nce NodeClosingEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
28997	return nil, false
28998}
28999
29000// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29001func (nce NodeClosingEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29002	return nil, false
29003}
29004
29005// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29006func (nce NodeClosingEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29007	return nil, false
29008}
29009
29010// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29011func (nce NodeClosingEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29012	return nil, false
29013}
29014
29015// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29016func (nce NodeClosingEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29017	return nil, false
29018}
29019
29020// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29021func (nce NodeClosingEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29022	return nil, false
29023}
29024
29025// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29026func (nce NodeClosingEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29027	return nil, false
29028}
29029
29030// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29031func (nce NodeClosingEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29032	return nil, false
29033}
29034
29035// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29036func (nce NodeClosingEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29037	return nil, false
29038}
29039
29040// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29041func (nce NodeClosingEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29042	return nil, false
29043}
29044
29045// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29046func (nce NodeClosingEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29047	return nil, false
29048}
29049
29050// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29051func (nce NodeClosingEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29052	return nil, false
29053}
29054
29055// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29056func (nce NodeClosingEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29057	return nil, false
29058}
29059
29060// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29061func (nce NodeClosingEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29062	return &nce, true
29063}
29064
29065// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29066func (nce NodeClosingEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29067	return nil, false
29068}
29069
29070// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29071func (nce NodeClosingEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29072	return nil, false
29073}
29074
29075// AsNodeDownEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29076func (nce NodeClosingEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29077	return nil, false
29078}
29079
29080// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29081func (nce NodeClosingEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29082	return nil, false
29083}
29084
29085// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29086func (nce NodeClosingEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29087	return nil, false
29088}
29089
29090// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29091func (nce NodeClosingEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29092	return nil, false
29093}
29094
29095// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29096func (nce NodeClosingEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29097	return nil, false
29098}
29099
29100// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29101func (nce NodeClosingEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29102	return nil, false
29103}
29104
29105// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29106func (nce NodeClosingEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29107	return nil, false
29108}
29109
29110// AsNodeUpEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29111func (nce NodeClosingEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29112	return nil, false
29113}
29114
29115// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29116func (nce NodeClosingEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29117	return nil, false
29118}
29119
29120// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29121func (nce NodeClosingEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29122	return nil, false
29123}
29124
29125// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29126func (nce NodeClosingEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29127	return nil, false
29128}
29129
29130// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29131func (nce NodeClosingEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
29132	return nil, false
29133}
29134
29135// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29136func (nce NodeClosingEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
29137	return nil, false
29138}
29139
29140// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29141func (nce NodeClosingEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
29142	return nil, false
29143}
29144
29145// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29146func (nce NodeClosingEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
29147	return nil, false
29148}
29149
29150// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29151func (nce NodeClosingEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
29152	return nil, false
29153}
29154
29155// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29156func (nce NodeClosingEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
29157	return nil, false
29158}
29159
29160// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29161func (nce NodeClosingEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
29162	return nil, false
29163}
29164
29165// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29166func (nce NodeClosingEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
29167	return nil, false
29168}
29169
29170// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29171func (nce NodeClosingEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
29172	return nil, false
29173}
29174
29175// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29176func (nce NodeClosingEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29177	return nil, false
29178}
29179
29180// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29181func (nce NodeClosingEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29182	return nil, false
29183}
29184
29185// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29186func (nce NodeClosingEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29187	return nil, false
29188}
29189
29190// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29191func (nce NodeClosingEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29192	return nil, false
29193}
29194
29195// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29196func (nce NodeClosingEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29197	return nil, false
29198}
29199
29200// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29201func (nce NodeClosingEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29202	return nil, false
29203}
29204
29205// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29206func (nce NodeClosingEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29207	return nil, false
29208}
29209
29210// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29211func (nce NodeClosingEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29212	return nil, false
29213}
29214
29215// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29216func (nce NodeClosingEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29217	return nil, false
29218}
29219
29220// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29221func (nce NodeClosingEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29222	return nil, false
29223}
29224
29225// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29226func (nce NodeClosingEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29227	return nil, false
29228}
29229
29230// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29231func (nce NodeClosingEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29232	return nil, false
29233}
29234
29235// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29236func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29237	return nil, false
29238}
29239
29240// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29241func (nce NodeClosingEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29242	return nil, false
29243}
29244
29245// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29246func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29247	return nil, false
29248}
29249
29250// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29251func (nce NodeClosingEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29252	return nil, false
29253}
29254
29255// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29256func (nce NodeClosingEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29257	return nil, false
29258}
29259
29260// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29261func (nce NodeClosingEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29262	return nil, false
29263}
29264
29265// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29266func (nce NodeClosingEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29267	return nil, false
29268}
29269
29270// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29271func (nce NodeClosingEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29272	return nil, false
29273}
29274
29275// AsFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29276func (nce NodeClosingEvent) AsFabricEvent() (*FabricEvent, bool) {
29277	return nil, false
29278}
29279
29280// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeClosingEvent.
29281func (nce NodeClosingEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29282	return &nce, true
29283}
29284
29285// NodeDeactivateCompleteEvent node Deactivate Complete event.
29286type NodeDeactivateCompleteEvent struct {
29287	// NodeInstance - Id of Node instance.
29288	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29289	// EffectiveDeactivateIntent - Describes deactivate intent.
29290	EffectiveDeactivateIntent *string `json:"EffectiveDeactivateIntent,omitempty"`
29291	// BatchIdsWithDeactivateIntent - Batch Ids.
29292	BatchIdsWithDeactivateIntent *string `json:"BatchIdsWithDeactivateIntent,omitempty"`
29293	// StartTime - Start time.
29294	StartTime *date.Time `json:"StartTime,omitempty"`
29295	// NodeName - The name of a Service Fabric node.
29296	NodeName *string `json:"NodeName,omitempty"`
29297	// EventInstanceID - The identifier for the FabricEvent instance.
29298	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29299	// TimeStamp - The time event was logged.
29300	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29301	// HasCorrelatedEvents - Shows there is existing related events available.
29302	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29303	// 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'
29304	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29305}
29306
29307// MarshalJSON is the custom marshaler for NodeDeactivateCompleteEvent.
29308func (ndce NodeDeactivateCompleteEvent) MarshalJSON() ([]byte, error) {
29309	ndce.Kind = KindNodeDeactivateComplete
29310	objectMap := make(map[string]interface{})
29311	if ndce.NodeInstance != nil {
29312		objectMap["NodeInstance"] = ndce.NodeInstance
29313	}
29314	if ndce.EffectiveDeactivateIntent != nil {
29315		objectMap["EffectiveDeactivateIntent"] = ndce.EffectiveDeactivateIntent
29316	}
29317	if ndce.BatchIdsWithDeactivateIntent != nil {
29318		objectMap["BatchIdsWithDeactivateIntent"] = ndce.BatchIdsWithDeactivateIntent
29319	}
29320	if ndce.StartTime != nil {
29321		objectMap["StartTime"] = ndce.StartTime
29322	}
29323	if ndce.NodeName != nil {
29324		objectMap["NodeName"] = ndce.NodeName
29325	}
29326	if ndce.EventInstanceID != nil {
29327		objectMap["EventInstanceId"] = ndce.EventInstanceID
29328	}
29329	if ndce.TimeStamp != nil {
29330		objectMap["TimeStamp"] = ndce.TimeStamp
29331	}
29332	if ndce.HasCorrelatedEvents != nil {
29333		objectMap["HasCorrelatedEvents"] = ndce.HasCorrelatedEvents
29334	}
29335	if ndce.Kind != "" {
29336		objectMap["Kind"] = ndce.Kind
29337	}
29338	return json.Marshal(objectMap)
29339}
29340
29341// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29342func (ndce NodeDeactivateCompleteEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29343	return nil, false
29344}
29345
29346// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29347func (ndce NodeDeactivateCompleteEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29348	return nil, false
29349}
29350
29351// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29352func (ndce NodeDeactivateCompleteEvent) AsClusterEvent() (*ClusterEvent, bool) {
29353	return nil, false
29354}
29355
29356// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29357func (ndce NodeDeactivateCompleteEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29358	return nil, false
29359}
29360
29361// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29362func (ndce NodeDeactivateCompleteEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29363	return nil, false
29364}
29365
29366// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29367func (ndce NodeDeactivateCompleteEvent) AsNodeEvent() (*NodeEvent, bool) {
29368	return nil, false
29369}
29370
29371// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29372func (ndce NodeDeactivateCompleteEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29373	return &ndce, true
29374}
29375
29376// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29377func (ndce NodeDeactivateCompleteEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29378	return nil, false
29379}
29380
29381// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29382func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29383	return nil, false
29384}
29385
29386// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29387func (ndce NodeDeactivateCompleteEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29388	return nil, false
29389}
29390
29391// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29392func (ndce NodeDeactivateCompleteEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29393	return nil, false
29394}
29395
29396// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29397func (ndce NodeDeactivateCompleteEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29398	return nil, false
29399}
29400
29401// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29402func (ndce NodeDeactivateCompleteEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29403	return nil, false
29404}
29405
29406// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29407func (ndce NodeDeactivateCompleteEvent) AsServiceEvent() (*ServiceEvent, bool) {
29408	return nil, false
29409}
29410
29411// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29412func (ndce NodeDeactivateCompleteEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29413	return nil, false
29414}
29415
29416// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29417func (ndce NodeDeactivateCompleteEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29418	return nil, false
29419}
29420
29421// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29422func (ndce NodeDeactivateCompleteEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29423	return nil, false
29424}
29425
29426// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29427func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29428	return nil, false
29429}
29430
29431// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29432func (ndce NodeDeactivateCompleteEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29433	return nil, false
29434}
29435
29436// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29437func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29438	return nil, false
29439}
29440
29441// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29442func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29443	return nil, false
29444}
29445
29446// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29447func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29448	return nil, false
29449}
29450
29451// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29452func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29453	return nil, false
29454}
29455
29456// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29457func (ndce NodeDeactivateCompleteEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29458	return nil, false
29459}
29460
29461// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29462func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29463	return nil, false
29464}
29465
29466// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29467func (ndce NodeDeactivateCompleteEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29468	return nil, false
29469}
29470
29471// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29472func (ndce NodeDeactivateCompleteEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29473	return nil, false
29474}
29475
29476// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29477func (ndce NodeDeactivateCompleteEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29478	return nil, false
29479}
29480
29481// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29482func (ndce NodeDeactivateCompleteEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29483	return nil, false
29484}
29485
29486// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29487func (ndce NodeDeactivateCompleteEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29488	return nil, false
29489}
29490
29491// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29492func (ndce NodeDeactivateCompleteEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29493	return nil, false
29494}
29495
29496// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29497func (ndce NodeDeactivateCompleteEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29498	return nil, false
29499}
29500
29501// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29502func (ndce NodeDeactivateCompleteEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29503	return nil, false
29504}
29505
29506// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29507func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29508	return &ndce, true
29509}
29510
29511// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29512func (ndce NodeDeactivateCompleteEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29513	return nil, false
29514}
29515
29516// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29517func (ndce NodeDeactivateCompleteEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29518	return nil, false
29519}
29520
29521// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29522func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29523	return nil, false
29524}
29525
29526// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29527func (ndce NodeDeactivateCompleteEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29528	return nil, false
29529}
29530
29531// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29532func (ndce NodeDeactivateCompleteEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29533	return nil, false
29534}
29535
29536// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29537func (ndce NodeDeactivateCompleteEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29538	return nil, false
29539}
29540
29541// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29542func (ndce NodeDeactivateCompleteEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29543	return nil, false
29544}
29545
29546// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29547func (ndce NodeDeactivateCompleteEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29548	return nil, false
29549}
29550
29551// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29552func (ndce NodeDeactivateCompleteEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29553	return nil, false
29554}
29555
29556// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29557func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29558	return nil, false
29559}
29560
29561// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29562func (ndce NodeDeactivateCompleteEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29563	return nil, false
29564}
29565
29566// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29567func (ndce NodeDeactivateCompleteEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
29568	return nil, false
29569}
29570
29571// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29572func (ndce NodeDeactivateCompleteEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
29573	return nil, false
29574}
29575
29576// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29577func (ndce NodeDeactivateCompleteEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
29578	return nil, false
29579}
29580
29581// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29582func (ndce NodeDeactivateCompleteEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
29583	return nil, false
29584}
29585
29586// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29587func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
29588	return nil, false
29589}
29590
29591// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29592func (ndce NodeDeactivateCompleteEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
29593	return nil, false
29594}
29595
29596// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29597func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
29598	return nil, false
29599}
29600
29601// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29602func (ndce NodeDeactivateCompleteEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
29603	return nil, false
29604}
29605
29606// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29607func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
29608	return nil, false
29609}
29610
29611// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29612func (ndce NodeDeactivateCompleteEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
29613	return nil, false
29614}
29615
29616// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29617func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
29618	return nil, false
29619}
29620
29621// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29622func (ndce NodeDeactivateCompleteEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
29623	return nil, false
29624}
29625
29626// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29627func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
29628	return nil, false
29629}
29630
29631// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29632func (ndce NodeDeactivateCompleteEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
29633	return nil, false
29634}
29635
29636// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29637func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
29638	return nil, false
29639}
29640
29641// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29642func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
29643	return nil, false
29644}
29645
29646// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29647func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
29648	return nil, false
29649}
29650
29651// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29652func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
29653	return nil, false
29654}
29655
29656// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29657func (ndce NodeDeactivateCompleteEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
29658	return nil, false
29659}
29660
29661// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29662func (ndce NodeDeactivateCompleteEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
29663	return nil, false
29664}
29665
29666// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29667func (ndce NodeDeactivateCompleteEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
29668	return nil, false
29669}
29670
29671// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29672func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
29673	return nil, false
29674}
29675
29676// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29677func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
29678	return nil, false
29679}
29680
29681// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29682func (ndce NodeDeactivateCompleteEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
29683	return nil, false
29684}
29685
29686// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29687func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
29688	return nil, false
29689}
29690
29691// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29692func (ndce NodeDeactivateCompleteEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
29693	return nil, false
29694}
29695
29696// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29697func (ndce NodeDeactivateCompleteEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
29698	return nil, false
29699}
29700
29701// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29702func (ndce NodeDeactivateCompleteEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
29703	return nil, false
29704}
29705
29706// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29707func (ndce NodeDeactivateCompleteEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
29708	return nil, false
29709}
29710
29711// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29712func (ndce NodeDeactivateCompleteEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
29713	return nil, false
29714}
29715
29716// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29717func (ndce NodeDeactivateCompleteEvent) AsFabricEvent() (*FabricEvent, bool) {
29718	return nil, false
29719}
29720
29721// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateCompleteEvent.
29722func (ndce NodeDeactivateCompleteEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
29723	return &ndce, true
29724}
29725
29726// NodeDeactivateStartEvent node Deactivate Start event.
29727type NodeDeactivateStartEvent struct {
29728	// NodeInstance - Id of Node instance.
29729	NodeInstance *int64 `json:"NodeInstance,omitempty"`
29730	// BatchID - Batch Id.
29731	BatchID *string `json:"BatchId,omitempty"`
29732	// DeactivateIntent - Describes deactivate intent.
29733	DeactivateIntent *string `json:"DeactivateIntent,omitempty"`
29734	// NodeName - The name of a Service Fabric node.
29735	NodeName *string `json:"NodeName,omitempty"`
29736	// EventInstanceID - The identifier for the FabricEvent instance.
29737	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
29738	// TimeStamp - The time event was logged.
29739	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
29740	// HasCorrelatedEvents - Shows there is existing related events available.
29741	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
29742	// 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'
29743	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
29744}
29745
29746// MarshalJSON is the custom marshaler for NodeDeactivateStartEvent.
29747func (ndse NodeDeactivateStartEvent) MarshalJSON() ([]byte, error) {
29748	ndse.Kind = KindNodeDeactivateStart
29749	objectMap := make(map[string]interface{})
29750	if ndse.NodeInstance != nil {
29751		objectMap["NodeInstance"] = ndse.NodeInstance
29752	}
29753	if ndse.BatchID != nil {
29754		objectMap["BatchId"] = ndse.BatchID
29755	}
29756	if ndse.DeactivateIntent != nil {
29757		objectMap["DeactivateIntent"] = ndse.DeactivateIntent
29758	}
29759	if ndse.NodeName != nil {
29760		objectMap["NodeName"] = ndse.NodeName
29761	}
29762	if ndse.EventInstanceID != nil {
29763		objectMap["EventInstanceId"] = ndse.EventInstanceID
29764	}
29765	if ndse.TimeStamp != nil {
29766		objectMap["TimeStamp"] = ndse.TimeStamp
29767	}
29768	if ndse.HasCorrelatedEvents != nil {
29769		objectMap["HasCorrelatedEvents"] = ndse.HasCorrelatedEvents
29770	}
29771	if ndse.Kind != "" {
29772		objectMap["Kind"] = ndse.Kind
29773	}
29774	return json.Marshal(objectMap)
29775}
29776
29777// AsApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29778func (ndse NodeDeactivateStartEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
29779	return nil, false
29780}
29781
29782// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29783func (ndse NodeDeactivateStartEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
29784	return nil, false
29785}
29786
29787// AsClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29788func (ndse NodeDeactivateStartEvent) AsClusterEvent() (*ClusterEvent, bool) {
29789	return nil, false
29790}
29791
29792// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29793func (ndse NodeDeactivateStartEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
29794	return nil, false
29795}
29796
29797// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29798func (ndse NodeDeactivateStartEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
29799	return nil, false
29800}
29801
29802// AsNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29803func (ndse NodeDeactivateStartEvent) AsNodeEvent() (*NodeEvent, bool) {
29804	return nil, false
29805}
29806
29807// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29808func (ndse NodeDeactivateStartEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
29809	return &ndse, true
29810}
29811
29812// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29813func (ndse NodeDeactivateStartEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
29814	return nil, false
29815}
29816
29817// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29818func (ndse NodeDeactivateStartEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
29819	return nil, false
29820}
29821
29822// AsPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29823func (ndse NodeDeactivateStartEvent) AsPartitionEvent() (*PartitionEvent, bool) {
29824	return nil, false
29825}
29826
29827// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29828func (ndse NodeDeactivateStartEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
29829	return nil, false
29830}
29831
29832// AsReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29833func (ndse NodeDeactivateStartEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
29834	return nil, false
29835}
29836
29837// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29838func (ndse NodeDeactivateStartEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
29839	return nil, false
29840}
29841
29842// AsServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29843func (ndse NodeDeactivateStartEvent) AsServiceEvent() (*ServiceEvent, bool) {
29844	return nil, false
29845}
29846
29847// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29848func (ndse NodeDeactivateStartEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
29849	return nil, false
29850}
29851
29852// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29853func (ndse NodeDeactivateStartEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
29854	return nil, false
29855}
29856
29857// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29858func (ndse NodeDeactivateStartEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
29859	return nil, false
29860}
29861
29862// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29863func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
29864	return nil, false
29865}
29866
29867// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29868func (ndse NodeDeactivateStartEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
29869	return nil, false
29870}
29871
29872// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29873func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
29874	return nil, false
29875}
29876
29877// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29878func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
29879	return nil, false
29880}
29881
29882// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29883func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
29884	return nil, false
29885}
29886
29887// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29888func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
29889	return nil, false
29890}
29891
29892// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29893func (ndse NodeDeactivateStartEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
29894	return nil, false
29895}
29896
29897// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29898func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
29899	return nil, false
29900}
29901
29902// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29903func (ndse NodeDeactivateStartEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
29904	return nil, false
29905}
29906
29907// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29908func (ndse NodeDeactivateStartEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
29909	return nil, false
29910}
29911
29912// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29913func (ndse NodeDeactivateStartEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
29914	return nil, false
29915}
29916
29917// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29918func (ndse NodeDeactivateStartEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
29919	return nil, false
29920}
29921
29922// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29923func (ndse NodeDeactivateStartEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
29924	return nil, false
29925}
29926
29927// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29928func (ndse NodeDeactivateStartEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
29929	return nil, false
29930}
29931
29932// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29933func (ndse NodeDeactivateStartEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
29934	return nil, false
29935}
29936
29937// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29938func (ndse NodeDeactivateStartEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
29939	return nil, false
29940}
29941
29942// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29943func (ndse NodeDeactivateStartEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
29944	return nil, false
29945}
29946
29947// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29948func (ndse NodeDeactivateStartEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
29949	return &ndse, true
29950}
29951
29952// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29953func (ndse NodeDeactivateStartEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
29954	return nil, false
29955}
29956
29957// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29958func (ndse NodeDeactivateStartEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
29959	return nil, false
29960}
29961
29962// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29963func (ndse NodeDeactivateStartEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
29964	return nil, false
29965}
29966
29967// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29968func (ndse NodeDeactivateStartEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
29969	return nil, false
29970}
29971
29972// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29973func (ndse NodeDeactivateStartEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
29974	return nil, false
29975}
29976
29977// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29978func (ndse NodeDeactivateStartEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
29979	return nil, false
29980}
29981
29982// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29983func (ndse NodeDeactivateStartEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
29984	return nil, false
29985}
29986
29987// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29988func (ndse NodeDeactivateStartEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
29989	return nil, false
29990}
29991
29992// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29993func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
29994	return nil, false
29995}
29996
29997// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
29998func (ndse NodeDeactivateStartEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
29999	return nil, false
30000}
30001
30002// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30003func (ndse NodeDeactivateStartEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30004	return nil, false
30005}
30006
30007// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30008func (ndse NodeDeactivateStartEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30009	return nil, false
30010}
30011
30012// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30013func (ndse NodeDeactivateStartEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30014	return nil, false
30015}
30016
30017// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30018func (ndse NodeDeactivateStartEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30019	return nil, false
30020}
30021
30022// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30023func (ndse NodeDeactivateStartEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30024	return nil, false
30025}
30026
30027// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30028func (ndse NodeDeactivateStartEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30029	return nil, false
30030}
30031
30032// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30033func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30034	return nil, false
30035}
30036
30037// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30038func (ndse NodeDeactivateStartEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30039	return nil, false
30040}
30041
30042// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30043func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30044	return nil, false
30045}
30046
30047// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30048func (ndse NodeDeactivateStartEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30049	return nil, false
30050}
30051
30052// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30053func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30054	return nil, false
30055}
30056
30057// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30058func (ndse NodeDeactivateStartEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30059	return nil, false
30060}
30061
30062// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30063func (ndse NodeDeactivateStartEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30064	return nil, false
30065}
30066
30067// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30068func (ndse NodeDeactivateStartEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30069	return nil, false
30070}
30071
30072// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30073func (ndse NodeDeactivateStartEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30074	return nil, false
30075}
30076
30077// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30078func (ndse NodeDeactivateStartEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30079	return nil, false
30080}
30081
30082// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30083func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30084	return nil, false
30085}
30086
30087// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30088func (ndse NodeDeactivateStartEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30089	return nil, false
30090}
30091
30092// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30093func (ndse NodeDeactivateStartEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30094	return nil, false
30095}
30096
30097// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30098func (ndse NodeDeactivateStartEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30099	return nil, false
30100}
30101
30102// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30103func (ndse NodeDeactivateStartEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30104	return nil, false
30105}
30106
30107// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30108func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30109	return nil, false
30110}
30111
30112// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30113func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30114	return nil, false
30115}
30116
30117// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30118func (ndse NodeDeactivateStartEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30119	return nil, false
30120}
30121
30122// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30123func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30124	return nil, false
30125}
30126
30127// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30128func (ndse NodeDeactivateStartEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30129	return nil, false
30130}
30131
30132// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30133func (ndse NodeDeactivateStartEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30134	return nil, false
30135}
30136
30137// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30138func (ndse NodeDeactivateStartEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30139	return nil, false
30140}
30141
30142// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30143func (ndse NodeDeactivateStartEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30144	return nil, false
30145}
30146
30147// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30148func (ndse NodeDeactivateStartEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30149	return nil, false
30150}
30151
30152// AsFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30153func (ndse NodeDeactivateStartEvent) AsFabricEvent() (*FabricEvent, bool) {
30154	return nil, false
30155}
30156
30157// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDeactivateStartEvent.
30158func (ndse NodeDeactivateStartEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30159	return &ndse, true
30160}
30161
30162// NodeDeactivationInfo information about the node deactivation. This information is valid for a node that
30163// is undergoing deactivation or has already been deactivated.
30164type NodeDeactivationInfo struct {
30165	// 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'
30166	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
30167	// NodeDeactivationStatus - The status of node deactivation operation. Following are the possible values. Possible values include: 'NodeDeactivationStatusNone', 'NodeDeactivationStatusSafetyCheckInProgress', 'NodeDeactivationStatusSafetyCheckComplete', 'NodeDeactivationStatusCompleted'
30168	NodeDeactivationStatus NodeDeactivationStatus `json:"NodeDeactivationStatus,omitempty"`
30169	// NodeDeactivationTask - List of tasks representing the deactivation operation on the node.
30170	NodeDeactivationTask *[]NodeDeactivationTask `json:"NodeDeactivationTask,omitempty"`
30171	// PendingSafetyChecks - List of pending safety checks
30172	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
30173}
30174
30175// NodeDeactivationTask the task representing the deactivation operation on the node.
30176type NodeDeactivationTask struct {
30177	// NodeDeactivationTaskID - Identity of the task related to deactivation operation on the node.
30178	NodeDeactivationTaskID *NodeDeactivationTaskID `json:"NodeDeactivationTaskId,omitempty"`
30179	// 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'
30180	NodeDeactivationIntent NodeDeactivationIntent `json:"NodeDeactivationIntent,omitempty"`
30181}
30182
30183// NodeDeactivationTaskID identity of the task related to deactivation operation on the node.
30184type NodeDeactivationTaskID struct {
30185	// ID - Value of the task id.
30186	ID *string `json:"Id,omitempty"`
30187	// NodeDeactivationTaskType - The type of the task that performed the node deactivation. Following are the possible values. Possible values include: 'NodeDeactivationTaskTypeInvalid', 'NodeDeactivationTaskTypeInfrastructure', 'NodeDeactivationTaskTypeRepair', 'NodeDeactivationTaskTypeClient'
30188	NodeDeactivationTaskType NodeDeactivationTaskType `json:"NodeDeactivationTaskType,omitempty"`
30189}
30190
30191// NodeDownEvent node Down event.
30192type NodeDownEvent struct {
30193	// NodeInstance - Id of Node instance.
30194	NodeInstance *int64 `json:"NodeInstance,omitempty"`
30195	// LastNodeUpAt - Time when Node was last up.
30196	LastNodeUpAt *date.Time `json:"LastNodeUpAt,omitempty"`
30197	// NodeName - The name of a Service Fabric node.
30198	NodeName *string `json:"NodeName,omitempty"`
30199	// EventInstanceID - The identifier for the FabricEvent instance.
30200	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30201	// TimeStamp - The time event was logged.
30202	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30203	// HasCorrelatedEvents - Shows there is existing related events available.
30204	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30205	// 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'
30206	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30207}
30208
30209// MarshalJSON is the custom marshaler for NodeDownEvent.
30210func (nde NodeDownEvent) MarshalJSON() ([]byte, error) {
30211	nde.Kind = KindNodeDown
30212	objectMap := make(map[string]interface{})
30213	if nde.NodeInstance != nil {
30214		objectMap["NodeInstance"] = nde.NodeInstance
30215	}
30216	if nde.LastNodeUpAt != nil {
30217		objectMap["LastNodeUpAt"] = nde.LastNodeUpAt
30218	}
30219	if nde.NodeName != nil {
30220		objectMap["NodeName"] = nde.NodeName
30221	}
30222	if nde.EventInstanceID != nil {
30223		objectMap["EventInstanceId"] = nde.EventInstanceID
30224	}
30225	if nde.TimeStamp != nil {
30226		objectMap["TimeStamp"] = nde.TimeStamp
30227	}
30228	if nde.HasCorrelatedEvents != nil {
30229		objectMap["HasCorrelatedEvents"] = nde.HasCorrelatedEvents
30230	}
30231	if nde.Kind != "" {
30232		objectMap["Kind"] = nde.Kind
30233	}
30234	return json.Marshal(objectMap)
30235}
30236
30237// AsApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
30238func (nde NodeDownEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30239	return nil, false
30240}
30241
30242// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeDownEvent.
30243func (nde NodeDownEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30244	return nil, false
30245}
30246
30247// AsClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
30248func (nde NodeDownEvent) AsClusterEvent() (*ClusterEvent, bool) {
30249	return nil, false
30250}
30251
30252// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeDownEvent.
30253func (nde NodeDownEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
30254	return nil, false
30255}
30256
30257// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeDownEvent.
30258func (nde NodeDownEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
30259	return nil, false
30260}
30261
30262// AsNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
30263func (nde NodeDownEvent) AsNodeEvent() (*NodeEvent, bool) {
30264	return nil, false
30265}
30266
30267// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeDownEvent.
30268func (nde NodeDownEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
30269	return &nde, true
30270}
30271
30272// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
30273func (nde NodeDownEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
30274	return nil, false
30275}
30276
30277// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
30278func (nde NodeDownEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
30279	return nil, false
30280}
30281
30282// AsPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
30283func (nde NodeDownEvent) AsPartitionEvent() (*PartitionEvent, bool) {
30284	return nil, false
30285}
30286
30287// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeDownEvent.
30288func (nde NodeDownEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
30289	return nil, false
30290}
30291
30292// AsReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
30293func (nde NodeDownEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
30294	return nil, false
30295}
30296
30297// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeDownEvent.
30298func (nde NodeDownEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
30299	return nil, false
30300}
30301
30302// AsServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
30303func (nde NodeDownEvent) AsServiceEvent() (*ServiceEvent, bool) {
30304	return nil, false
30305}
30306
30307// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeDownEvent.
30308func (nde NodeDownEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
30309	return nil, false
30310}
30311
30312// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30313func (nde NodeDownEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
30314	return nil, false
30315}
30316
30317// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30318func (nde NodeDownEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
30319	return nil, false
30320}
30321
30322// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30323func (nde NodeDownEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
30324	return nil, false
30325}
30326
30327// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30328func (nde NodeDownEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
30329	return nil, false
30330}
30331
30332// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30333func (nde NodeDownEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
30334	return nil, false
30335}
30336
30337// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30338func (nde NodeDownEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
30339	return nil, false
30340}
30341
30342// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30343func (nde NodeDownEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
30344	return nil, false
30345}
30346
30347// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
30348func (nde NodeDownEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
30349	return nil, false
30350}
30351
30352// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
30353func (nde NodeDownEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
30354	return nil, false
30355}
30356
30357// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30358func (nde NodeDownEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
30359	return nil, false
30360}
30361
30362// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30363func (nde NodeDownEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
30364	return nil, false
30365}
30366
30367// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30368func (nde NodeDownEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
30369	return nil, false
30370}
30371
30372// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30373func (nde NodeDownEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
30374	return nil, false
30375}
30376
30377// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30378func (nde NodeDownEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
30379	return nil, false
30380}
30381
30382// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeDownEvent.
30383func (nde NodeDownEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
30384	return nil, false
30385}
30386
30387// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30388func (nde NodeDownEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
30389	return nil, false
30390}
30391
30392// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeDownEvent.
30393func (nde NodeDownEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
30394	return nil, false
30395}
30396
30397// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeDownEvent.
30398func (nde NodeDownEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
30399	return nil, false
30400}
30401
30402// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30403func (nde NodeDownEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
30404	return nil, false
30405}
30406
30407// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
30408func (nde NodeDownEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
30409	return nil, false
30410}
30411
30412// AsNodeDownEvent is the BasicFabricEvent implementation for NodeDownEvent.
30413func (nde NodeDownEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
30414	return &nde, true
30415}
30416
30417// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30418func (nde NodeDownEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
30419	return nil, false
30420}
30421
30422// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30423func (nde NodeDownEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
30424	return nil, false
30425}
30426
30427// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeDownEvent.
30428func (nde NodeDownEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
30429	return nil, false
30430}
30431
30432// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30433func (nde NodeDownEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
30434	return nil, false
30435}
30436
30437// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeDownEvent.
30438func (nde NodeDownEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
30439	return nil, false
30440}
30441
30442// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30443func (nde NodeDownEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
30444	return nil, false
30445}
30446
30447// AsNodeUpEvent is the BasicFabricEvent implementation for NodeDownEvent.
30448func (nde NodeDownEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30449	return nil, false
30450}
30451
30452// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30453func (nde NodeDownEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30454	return nil, false
30455}
30456
30457// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30458func (nde NodeDownEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
30459	return nil, false
30460}
30461
30462// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30463func (nde NodeDownEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
30464	return nil, false
30465}
30466
30467// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeDownEvent.
30468func (nde NodeDownEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
30469	return nil, false
30470}
30471
30472// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30473func (nde NodeDownEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
30474	return nil, false
30475}
30476
30477// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30478func (nde NodeDownEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
30479	return nil, false
30480}
30481
30482// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30483func (nde NodeDownEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
30484	return nil, false
30485}
30486
30487// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30488func (nde NodeDownEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
30489	return nil, false
30490}
30491
30492// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30493func (nde NodeDownEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
30494	return nil, false
30495}
30496
30497// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30498func (nde NodeDownEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
30499	return nil, false
30500}
30501
30502// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30503func (nde NodeDownEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
30504	return nil, false
30505}
30506
30507// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30508func (nde NodeDownEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
30509	return nil, false
30510}
30511
30512// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30513func (nde NodeDownEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
30514	return nil, false
30515}
30516
30517// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30518func (nde NodeDownEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
30519	return nil, false
30520}
30521
30522// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30523func (nde NodeDownEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
30524	return nil, false
30525}
30526
30527// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeDownEvent.
30528func (nde NodeDownEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
30529	return nil, false
30530}
30531
30532// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30533func (nde NodeDownEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
30534	return nil, false
30535}
30536
30537// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30538func (nde NodeDownEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
30539	return nil, false
30540}
30541
30542// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeDownEvent.
30543func (nde NodeDownEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
30544	return nil, false
30545}
30546
30547// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
30548func (nde NodeDownEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
30549	return nil, false
30550}
30551
30552// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeDownEvent.
30553func (nde NodeDownEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
30554	return nil, false
30555}
30556
30557// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30558func (nde NodeDownEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
30559	return nil, false
30560}
30561
30562// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30563func (nde NodeDownEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
30564	return nil, false
30565}
30566
30567// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30568func (nde NodeDownEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
30569	return nil, false
30570}
30571
30572// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30573func (nde NodeDownEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
30574	return nil, false
30575}
30576
30577// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30578func (nde NodeDownEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
30579	return nil, false
30580}
30581
30582// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30583func (nde NodeDownEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
30584	return nil, false
30585}
30586
30587// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeDownEvent.
30588func (nde NodeDownEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
30589	return nil, false
30590}
30591
30592// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30593func (nde NodeDownEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
30594	return nil, false
30595}
30596
30597// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30598func (nde NodeDownEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
30599	return nil, false
30600}
30601
30602// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30603func (nde NodeDownEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
30604	return nil, false
30605}
30606
30607// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeDownEvent.
30608func (nde NodeDownEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
30609	return nil, false
30610}
30611
30612// AsFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
30613func (nde NodeDownEvent) AsFabricEvent() (*FabricEvent, bool) {
30614	return nil, false
30615}
30616
30617// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeDownEvent.
30618func (nde NodeDownEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
30619	return &nde, true
30620}
30621
30622// BasicNodeEvent represents the base for all Node Events.
30623type BasicNodeEvent interface {
30624	AsNodeAbortedEvent() (*NodeAbortedEvent, bool)
30625	AsNodeAbortingEvent() (*NodeAbortingEvent, bool)
30626	AsNodeAddedEvent() (*NodeAddedEvent, bool)
30627	AsNodeCloseEvent() (*NodeCloseEvent, bool)
30628	AsNodeClosingEvent() (*NodeClosingEvent, bool)
30629	AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool)
30630	AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool)
30631	AsNodeDownEvent() (*NodeDownEvent, bool)
30632	AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool)
30633	AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool)
30634	AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool)
30635	AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool)
30636	AsNodeOpeningEvent() (*NodeOpeningEvent, bool)
30637	AsNodeRemovedEvent() (*NodeRemovedEvent, bool)
30638	AsNodeUpEvent() (*NodeUpEvent, bool)
30639	AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool)
30640	AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool)
30641	AsNodeEvent() (*NodeEvent, bool)
30642}
30643
30644// NodeEvent represents the base for all Node Events.
30645type NodeEvent struct {
30646	// NodeName - The name of a Service Fabric node.
30647	NodeName *string `json:"NodeName,omitempty"`
30648	// EventInstanceID - The identifier for the FabricEvent instance.
30649	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
30650	// TimeStamp - The time event was logged.
30651	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
30652	// HasCorrelatedEvents - Shows there is existing related events available.
30653	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
30654	// 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'
30655	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
30656}
30657
30658func unmarshalBasicNodeEvent(body []byte) (BasicNodeEvent, error) {
30659	var m map[string]interface{}
30660	err := json.Unmarshal(body, &m)
30661	if err != nil {
30662		return nil, err
30663	}
30664
30665	switch m["Kind"] {
30666	case string(KindNodeAborted):
30667		var nae NodeAbortedEvent
30668		err := json.Unmarshal(body, &nae)
30669		return nae, err
30670	case string(KindNodeAborting):
30671		var nae NodeAbortingEvent
30672		err := json.Unmarshal(body, &nae)
30673		return nae, err
30674	case string(KindNodeAdded):
30675		var nae NodeAddedEvent
30676		err := json.Unmarshal(body, &nae)
30677		return nae, err
30678	case string(KindNodeClose):
30679		var nce NodeCloseEvent
30680		err := json.Unmarshal(body, &nce)
30681		return nce, err
30682	case string(KindNodeClosing):
30683		var nce NodeClosingEvent
30684		err := json.Unmarshal(body, &nce)
30685		return nce, err
30686	case string(KindNodeDeactivateComplete):
30687		var ndce NodeDeactivateCompleteEvent
30688		err := json.Unmarshal(body, &ndce)
30689		return ndce, err
30690	case string(KindNodeDeactivateStart):
30691		var ndse NodeDeactivateStartEvent
30692		err := json.Unmarshal(body, &ndse)
30693		return ndse, err
30694	case string(KindNodeDown):
30695		var nde NodeDownEvent
30696		err := json.Unmarshal(body, &nde)
30697		return nde, err
30698	case string(KindNodeHealthReportCreated):
30699		var nhrce NodeHealthReportCreatedEvent
30700		err := json.Unmarshal(body, &nhrce)
30701		return nhrce, err
30702	case string(KindNodeHealthReportExpired):
30703		var nhree NodeHealthReportExpiredEvent
30704		err := json.Unmarshal(body, &nhree)
30705		return nhree, err
30706	case string(KindNodeOpenedSuccess):
30707		var nose NodeOpenedSuccessEvent
30708		err := json.Unmarshal(body, &nose)
30709		return nose, err
30710	case string(KindNodeOpenFailed):
30711		var nofe NodeOpenFailedEvent
30712		err := json.Unmarshal(body, &nofe)
30713		return nofe, err
30714	case string(KindNodeOpening):
30715		var noe NodeOpeningEvent
30716		err := json.Unmarshal(body, &noe)
30717		return noe, err
30718	case string(KindNodeRemoved):
30719		var nre NodeRemovedEvent
30720		err := json.Unmarshal(body, &nre)
30721		return nre, err
30722	case string(KindNodeUp):
30723		var nue NodeUpEvent
30724		err := json.Unmarshal(body, &nue)
30725		return nue, err
30726	case string(KindChaosRestartNodeFaultCompleted):
30727		var crnfce ChaosRestartNodeFaultCompletedEvent
30728		err := json.Unmarshal(body, &crnfce)
30729		return crnfce, err
30730	case string(KindChaosRestartNodeFaultScheduled):
30731		var crnfse ChaosRestartNodeFaultScheduledEvent
30732		err := json.Unmarshal(body, &crnfse)
30733		return crnfse, err
30734	default:
30735		var ne NodeEvent
30736		err := json.Unmarshal(body, &ne)
30737		return ne, err
30738	}
30739}
30740func unmarshalBasicNodeEventArray(body []byte) ([]BasicNodeEvent, error) {
30741	var rawMessages []*json.RawMessage
30742	err := json.Unmarshal(body, &rawMessages)
30743	if err != nil {
30744		return nil, err
30745	}
30746
30747	neArray := make([]BasicNodeEvent, len(rawMessages))
30748
30749	for index, rawMessage := range rawMessages {
30750		ne, err := unmarshalBasicNodeEvent(*rawMessage)
30751		if err != nil {
30752			return nil, err
30753		}
30754		neArray[index] = ne
30755	}
30756	return neArray, nil
30757}
30758
30759// MarshalJSON is the custom marshaler for NodeEvent.
30760func (ne NodeEvent) MarshalJSON() ([]byte, error) {
30761	ne.Kind = KindNodeEvent
30762	objectMap := make(map[string]interface{})
30763	if ne.NodeName != nil {
30764		objectMap["NodeName"] = ne.NodeName
30765	}
30766	if ne.EventInstanceID != nil {
30767		objectMap["EventInstanceId"] = ne.EventInstanceID
30768	}
30769	if ne.TimeStamp != nil {
30770		objectMap["TimeStamp"] = ne.TimeStamp
30771	}
30772	if ne.HasCorrelatedEvents != nil {
30773		objectMap["HasCorrelatedEvents"] = ne.HasCorrelatedEvents
30774	}
30775	if ne.Kind != "" {
30776		objectMap["Kind"] = ne.Kind
30777	}
30778	return json.Marshal(objectMap)
30779}
30780
30781// AsApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
30782func (ne NodeEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
30783	return nil, false
30784}
30785
30786// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeEvent.
30787func (ne NodeEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
30788	return nil, false
30789}
30790
30791// AsClusterEvent is the BasicFabricEvent implementation for NodeEvent.
30792func (ne NodeEvent) AsClusterEvent() (*ClusterEvent, bool) {
30793	return nil, false
30794}
30795
30796// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeEvent.
30797func (ne NodeEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
30798	return nil, false
30799}
30800
30801// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeEvent.
30802func (ne NodeEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
30803	return nil, false
30804}
30805
30806// AsNodeEvent is the BasicFabricEvent implementation for NodeEvent.
30807func (ne NodeEvent) AsNodeEvent() (*NodeEvent, bool) {
30808	return &ne, true
30809}
30810
30811// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeEvent.
30812func (ne NodeEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
30813	return &ne, true
30814}
30815
30816// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
30817func (ne NodeEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
30818	return nil, false
30819}
30820
30821// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
30822func (ne NodeEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
30823	return nil, false
30824}
30825
30826// AsPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
30827func (ne NodeEvent) AsPartitionEvent() (*PartitionEvent, bool) {
30828	return nil, false
30829}
30830
30831// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeEvent.
30832func (ne NodeEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
30833	return nil, false
30834}
30835
30836// AsReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
30837func (ne NodeEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
30838	return nil, false
30839}
30840
30841// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeEvent.
30842func (ne NodeEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
30843	return nil, false
30844}
30845
30846// AsServiceEvent is the BasicFabricEvent implementation for NodeEvent.
30847func (ne NodeEvent) AsServiceEvent() (*ServiceEvent, bool) {
30848	return nil, false
30849}
30850
30851// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeEvent.
30852func (ne NodeEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
30853	return nil, false
30854}
30855
30856// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30857func (ne NodeEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
30858	return nil, false
30859}
30860
30861// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
30862func (ne NodeEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
30863	return nil, false
30864}
30865
30866// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30867func (ne NodeEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
30868	return nil, false
30869}
30870
30871// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30872func (ne NodeEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
30873	return nil, false
30874}
30875
30876// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30877func (ne NodeEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
30878	return nil, false
30879}
30880
30881// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30882func (ne NodeEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
30883	return nil, false
30884}
30885
30886// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30887func (ne NodeEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
30888	return nil, false
30889}
30890
30891// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
30892func (ne NodeEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
30893	return nil, false
30894}
30895
30896// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
30897func (ne NodeEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
30898	return nil, false
30899}
30900
30901// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30902func (ne NodeEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
30903	return nil, false
30904}
30905
30906// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30907func (ne NodeEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
30908	return nil, false
30909}
30910
30911// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
30912func (ne NodeEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
30913	return nil, false
30914}
30915
30916// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeEvent.
30917func (ne NodeEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
30918	return nil, false
30919}
30920
30921// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeEvent.
30922func (ne NodeEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
30923	return nil, false
30924}
30925
30926// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeEvent.
30927func (ne NodeEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
30928	return nil, false
30929}
30930
30931// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeEvent.
30932func (ne NodeEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
30933	return nil, false
30934}
30935
30936// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeEvent.
30937func (ne NodeEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
30938	return nil, false
30939}
30940
30941// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeEvent.
30942func (ne NodeEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
30943	return nil, false
30944}
30945
30946// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
30947func (ne NodeEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
30948	return nil, false
30949}
30950
30951// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeEvent.
30952func (ne NodeEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
30953	return nil, false
30954}
30955
30956// AsNodeDownEvent is the BasicFabricEvent implementation for NodeEvent.
30957func (ne NodeEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
30958	return nil, false
30959}
30960
30961// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30962func (ne NodeEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
30963	return nil, false
30964}
30965
30966// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
30967func (ne NodeEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
30968	return nil, false
30969}
30970
30971// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeEvent.
30972func (ne NodeEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
30973	return nil, false
30974}
30975
30976// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeEvent.
30977func (ne NodeEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
30978	return nil, false
30979}
30980
30981// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeEvent.
30982func (ne NodeEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
30983	return nil, false
30984}
30985
30986// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeEvent.
30987func (ne NodeEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
30988	return nil, false
30989}
30990
30991// AsNodeUpEvent is the BasicFabricEvent implementation for NodeEvent.
30992func (ne NodeEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
30993	return nil, false
30994}
30995
30996// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
30997func (ne NodeEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
30998	return nil, false
30999}
31000
31001// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
31002func (ne NodeEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
31003	return nil, false
31004}
31005
31006// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
31007func (ne NodeEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
31008	return nil, false
31009}
31010
31011// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeEvent.
31012func (ne NodeEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
31013	return nil, false
31014}
31015
31016// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
31017func (ne NodeEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
31018	return nil, false
31019}
31020
31021// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeEvent.
31022func (ne NodeEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
31023	return nil, false
31024}
31025
31026// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
31027func (ne NodeEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
31028	return nil, false
31029}
31030
31031// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
31032func (ne NodeEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
31033	return nil, false
31034}
31035
31036// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
31037func (ne NodeEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
31038	return nil, false
31039}
31040
31041// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
31042func (ne NodeEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
31043	return nil, false
31044}
31045
31046// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
31047func (ne NodeEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
31048	return nil, false
31049}
31050
31051// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
31052func (ne NodeEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
31053	return nil, false
31054}
31055
31056// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
31057func (ne NodeEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
31058	return nil, false
31059}
31060
31061// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
31062func (ne NodeEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
31063	return nil, false
31064}
31065
31066// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeEvent.
31067func (ne NodeEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
31068	return nil, false
31069}
31070
31071// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeEvent.
31072func (ne NodeEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
31073	return nil, false
31074}
31075
31076// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
31077func (ne NodeEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
31078	return nil, false
31079}
31080
31081// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
31082func (ne NodeEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
31083	return nil, false
31084}
31085
31086// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeEvent.
31087func (ne NodeEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
31088	return nil, false
31089}
31090
31091// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeEvent.
31092func (ne NodeEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
31093	return nil, false
31094}
31095
31096// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeEvent.
31097func (ne NodeEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
31098	return nil, false
31099}
31100
31101// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeEvent.
31102func (ne NodeEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
31103	return nil, false
31104}
31105
31106// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeEvent.
31107func (ne NodeEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
31108	return nil, false
31109}
31110
31111// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
31112func (ne NodeEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
31113	return nil, false
31114}
31115
31116// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
31117func (ne NodeEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
31118	return nil, false
31119}
31120
31121// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
31122func (ne NodeEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
31123	return nil, false
31124}
31125
31126// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
31127func (ne NodeEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
31128	return nil, false
31129}
31130
31131// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeEvent.
31132func (ne NodeEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
31133	return nil, false
31134}
31135
31136// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
31137func (ne NodeEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
31138	return nil, false
31139}
31140
31141// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
31142func (ne NodeEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
31143	return nil, false
31144}
31145
31146// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
31147func (ne NodeEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
31148	return nil, false
31149}
31150
31151// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeEvent.
31152func (ne NodeEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
31153	return nil, false
31154}
31155
31156// AsFabricEvent is the BasicFabricEvent implementation for NodeEvent.
31157func (ne NodeEvent) AsFabricEvent() (*FabricEvent, bool) {
31158	return nil, false
31159}
31160
31161// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeEvent.
31162func (ne NodeEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
31163	return &ne, true
31164}
31165
31166// NodeHealth information about the health of a Service Fabric node.
31167type NodeHealth struct {
31168	autorest.Response `json:"-"`
31169	// Name - Name of the node whose health information is described by this object.
31170	Name *string `json:"Name,omitempty"`
31171	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
31172	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
31173	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
31174	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
31175	// HealthEvents - The list of health events reported on the entity.
31176	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
31177	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
31178	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
31179	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
31180	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
31181}
31182
31183// NodeHealthEvaluation represents health evaluation for a node, containing information about the data and
31184// the algorithm used by health store to evaluate health. The evaluation is returned only when the
31185// aggregated health state is either Error or Warning.
31186type NodeHealthEvaluation struct {
31187	// NodeName - The name of a Service Fabric node.
31188	NodeName *string `json:"NodeName,omitempty"`
31189	// 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.
31190	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
31191	// 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'
31192	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
31193	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
31194	Description *string `json:"Description,omitempty"`
31195	// 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'
31196	Kind Kind `json:"Kind,omitempty"`
31197}
31198
31199// MarshalJSON is the custom marshaler for NodeHealthEvaluation.
31200func (nhe NodeHealthEvaluation) MarshalJSON() ([]byte, error) {
31201	nhe.Kind = KindNode
31202	objectMap := make(map[string]interface{})
31203	if nhe.NodeName != nil {
31204		objectMap["NodeName"] = nhe.NodeName
31205	}
31206	if nhe.UnhealthyEvaluations != nil {
31207		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
31208	}
31209	if nhe.AggregatedHealthState != "" {
31210		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
31211	}
31212	if nhe.Description != nil {
31213		objectMap["Description"] = nhe.Description
31214	}
31215	if nhe.Kind != "" {
31216		objectMap["Kind"] = nhe.Kind
31217	}
31218	return json.Marshal(objectMap)
31219}
31220
31221// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31222func (nhe NodeHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
31223	return nil, false
31224}
31225
31226// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31227func (nhe NodeHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
31228	return nil, false
31229}
31230
31231// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31232func (nhe NodeHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
31233	return nil, false
31234}
31235
31236// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31237func (nhe NodeHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
31238	return nil, false
31239}
31240
31241// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31242func (nhe NodeHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
31243	return nil, false
31244}
31245
31246// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31247func (nhe NodeHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
31248	return nil, false
31249}
31250
31251// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31252func (nhe NodeHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
31253	return nil, false
31254}
31255
31256// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31257func (nhe NodeHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
31258	return nil, false
31259}
31260
31261// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31262func (nhe NodeHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
31263	return nil, false
31264}
31265
31266// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31267func (nhe NodeHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
31268	return &nhe, true
31269}
31270
31271// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31272func (nhe NodeHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
31273	return nil, false
31274}
31275
31276// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31277func (nhe NodeHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
31278	return nil, false
31279}
31280
31281// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31282func (nhe NodeHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
31283	return nil, false
31284}
31285
31286// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31287func (nhe NodeHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
31288	return nil, false
31289}
31290
31291// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31292func (nhe NodeHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
31293	return nil, false
31294}
31295
31296// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31297func (nhe NodeHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
31298	return nil, false
31299}
31300
31301// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31302func (nhe NodeHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
31303	return nil, false
31304}
31305
31306// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31307func (nhe NodeHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
31308	return nil, false
31309}
31310
31311// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31312func (nhe NodeHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
31313	return nil, false
31314}
31315
31316// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31317func (nhe NodeHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
31318	return nil, false
31319}
31320
31321// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31322func (nhe NodeHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
31323	return nil, false
31324}
31325
31326// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodeHealthEvaluation.
31327func (nhe NodeHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
31328	return &nhe, true
31329}
31330
31331// NodeHealthReportCreatedEvent node Health Report Created event.
31332type NodeHealthReportCreatedEvent struct {
31333	// NodeInstanceID - Id of Node instance.
31334	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
31335	// SourceID - Id of report source.
31336	SourceID *string `json:"SourceId,omitempty"`
31337	// Property - Describes the property.
31338	Property *string `json:"Property,omitempty"`
31339	// HealthState - Describes the property health state.
31340	HealthState *string `json:"HealthState,omitempty"`
31341	// TimeToLiveMs - Time to live in milli-seconds.
31342	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
31343	// SequenceNumber - Sequence number of report.
31344	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
31345	// Description - Description of report.
31346	Description *string `json:"Description,omitempty"`
31347	// RemoveWhenExpired - Indicates the removal when it expires.
31348	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
31349	// SourceUtcTimestamp - Source time.
31350	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
31351	// NodeName - The name of a Service Fabric node.
31352	NodeName *string `json:"NodeName,omitempty"`
31353	// EventInstanceID - The identifier for the FabricEvent instance.
31354	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
31355	// TimeStamp - The time event was logged.
31356	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
31357	// HasCorrelatedEvents - Shows there is existing related events available.
31358	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
31359	// 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'
31360	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
31361}
31362
31363// MarshalJSON is the custom marshaler for NodeHealthReportCreatedEvent.
31364func (nhrce NodeHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
31365	nhrce.Kind = KindNodeHealthReportCreated
31366	objectMap := make(map[string]interface{})
31367	if nhrce.NodeInstanceID != nil {
31368		objectMap["NodeInstanceId"] = nhrce.NodeInstanceID
31369	}
31370	if nhrce.SourceID != nil {
31371		objectMap["SourceId"] = nhrce.SourceID
31372	}
31373	if nhrce.Property != nil {
31374		objectMap["Property"] = nhrce.Property
31375	}
31376	if nhrce.HealthState != nil {
31377		objectMap["HealthState"] = nhrce.HealthState
31378	}
31379	if nhrce.TimeToLiveMs != nil {
31380		objectMap["TimeToLiveMs"] = nhrce.TimeToLiveMs
31381	}
31382	if nhrce.SequenceNumber != nil {
31383		objectMap["SequenceNumber"] = nhrce.SequenceNumber
31384	}
31385	if nhrce.Description != nil {
31386		objectMap["Description"] = nhrce.Description
31387	}
31388	if nhrce.RemoveWhenExpired != nil {
31389		objectMap["RemoveWhenExpired"] = nhrce.RemoveWhenExpired
31390	}
31391	if nhrce.SourceUtcTimestamp != nil {
31392		objectMap["SourceUtcTimestamp"] = nhrce.SourceUtcTimestamp
31393	}
31394	if nhrce.NodeName != nil {
31395		objectMap["NodeName"] = nhrce.NodeName
31396	}
31397	if nhrce.EventInstanceID != nil {
31398		objectMap["EventInstanceId"] = nhrce.EventInstanceID
31399	}
31400	if nhrce.TimeStamp != nil {
31401		objectMap["TimeStamp"] = nhrce.TimeStamp
31402	}
31403	if nhrce.HasCorrelatedEvents != nil {
31404		objectMap["HasCorrelatedEvents"] = nhrce.HasCorrelatedEvents
31405	}
31406	if nhrce.Kind != "" {
31407		objectMap["Kind"] = nhrce.Kind
31408	}
31409	return json.Marshal(objectMap)
31410}
31411
31412// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31413func (nhrce NodeHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
31414	return nil, false
31415}
31416
31417// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31418func (nhrce NodeHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
31419	return nil, false
31420}
31421
31422// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31423func (nhrce NodeHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
31424	return nil, false
31425}
31426
31427// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31428func (nhrce NodeHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
31429	return nil, false
31430}
31431
31432// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31433func (nhrce NodeHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
31434	return nil, false
31435}
31436
31437// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31438func (nhrce NodeHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
31439	return nil, false
31440}
31441
31442// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31443func (nhrce NodeHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
31444	return &nhrce, true
31445}
31446
31447// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31448func (nhrce NodeHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
31449	return nil, false
31450}
31451
31452// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31453func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
31454	return nil, false
31455}
31456
31457// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31458func (nhrce NodeHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
31459	return nil, false
31460}
31461
31462// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31463func (nhrce NodeHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
31464	return nil, false
31465}
31466
31467// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31468func (nhrce NodeHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
31469	return nil, false
31470}
31471
31472// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31473func (nhrce NodeHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
31474	return nil, false
31475}
31476
31477// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31478func (nhrce NodeHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
31479	return nil, false
31480}
31481
31482// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31483func (nhrce NodeHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
31484	return nil, false
31485}
31486
31487// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31488func (nhrce NodeHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
31489	return nil, false
31490}
31491
31492// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31493func (nhrce NodeHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
31494	return nil, false
31495}
31496
31497// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31498func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
31499	return nil, false
31500}
31501
31502// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31503func (nhrce NodeHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
31504	return nil, false
31505}
31506
31507// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31508func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
31509	return nil, false
31510}
31511
31512// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31513func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
31514	return nil, false
31515}
31516
31517// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31518func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
31519	return nil, false
31520}
31521
31522// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31523func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
31524	return nil, false
31525}
31526
31527// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31528func (nhrce NodeHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
31529	return nil, false
31530}
31531
31532// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31533func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
31534	return nil, false
31535}
31536
31537// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31538func (nhrce NodeHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
31539	return nil, false
31540}
31541
31542// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31543func (nhrce NodeHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
31544	return nil, false
31545}
31546
31547// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31548func (nhrce NodeHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
31549	return nil, false
31550}
31551
31552// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31553func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
31554	return nil, false
31555}
31556
31557// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31558func (nhrce NodeHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
31559	return nil, false
31560}
31561
31562// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31563func (nhrce NodeHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
31564	return nil, false
31565}
31566
31567// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31568func (nhrce NodeHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
31569	return nil, false
31570}
31571
31572// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31573func (nhrce NodeHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
31574	return nil, false
31575}
31576
31577// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31578func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
31579	return nil, false
31580}
31581
31582// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31583func (nhrce NodeHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
31584	return nil, false
31585}
31586
31587// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31588func (nhrce NodeHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
31589	return nil, false
31590}
31591
31592// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31593func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
31594	return &nhrce, true
31595}
31596
31597// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31598func (nhrce NodeHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
31599	return nil, false
31600}
31601
31602// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31603func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
31604	return nil, false
31605}
31606
31607// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31608func (nhrce NodeHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
31609	return nil, false
31610}
31611
31612// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31613func (nhrce NodeHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
31614	return nil, false
31615}
31616
31617// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31618func (nhrce NodeHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
31619	return nil, false
31620}
31621
31622// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31623func (nhrce NodeHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
31624	return nil, false
31625}
31626
31627// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31628func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
31629	return nil, false
31630}
31631
31632// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31633func (nhrce NodeHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
31634	return nil, false
31635}
31636
31637// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31638func (nhrce NodeHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
31639	return nil, false
31640}
31641
31642// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31643func (nhrce NodeHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
31644	return nil, false
31645}
31646
31647// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31648func (nhrce NodeHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
31649	return nil, false
31650}
31651
31652// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31653func (nhrce NodeHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
31654	return nil, false
31655}
31656
31657// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31658func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
31659	return nil, false
31660}
31661
31662// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31663func (nhrce NodeHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
31664	return nil, false
31665}
31666
31667// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31668func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
31669	return nil, false
31670}
31671
31672// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31673func (nhrce NodeHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
31674	return nil, false
31675}
31676
31677// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31678func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
31679	return nil, false
31680}
31681
31682// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31683func (nhrce NodeHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
31684	return nil, false
31685}
31686
31687// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31688func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
31689	return nil, false
31690}
31691
31692// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31693func (nhrce NodeHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
31694	return nil, false
31695}
31696
31697// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31698func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
31699	return nil, false
31700}
31701
31702// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31703func (nhrce NodeHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
31704	return nil, false
31705}
31706
31707// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31708func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
31709	return nil, false
31710}
31711
31712// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31713func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
31714	return nil, false
31715}
31716
31717// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31718func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
31719	return nil, false
31720}
31721
31722// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31723func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
31724	return nil, false
31725}
31726
31727// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31728func (nhrce NodeHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
31729	return nil, false
31730}
31731
31732// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31733func (nhrce NodeHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
31734	return nil, false
31735}
31736
31737// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31738func (nhrce NodeHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
31739	return nil, false
31740}
31741
31742// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31743func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
31744	return nil, false
31745}
31746
31747// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31748func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
31749	return nil, false
31750}
31751
31752// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31753func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
31754	return nil, false
31755}
31756
31757// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31758func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
31759	return nil, false
31760}
31761
31762// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31763func (nhrce NodeHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
31764	return nil, false
31765}
31766
31767// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31768func (nhrce NodeHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
31769	return nil, false
31770}
31771
31772// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31773func (nhrce NodeHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
31774	return nil, false
31775}
31776
31777// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31778func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
31779	return nil, false
31780}
31781
31782// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31783func (nhrce NodeHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
31784	return nil, false
31785}
31786
31787// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31788func (nhrce NodeHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
31789	return nil, false
31790}
31791
31792// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportCreatedEvent.
31793func (nhrce NodeHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
31794	return &nhrce, true
31795}
31796
31797// NodeHealthReportExpiredEvent node Health Report Expired event.
31798type NodeHealthReportExpiredEvent struct {
31799	// NodeInstanceID - Id of Node instance.
31800	NodeInstanceID *int64 `json:"NodeInstanceId,omitempty"`
31801	// SourceID - Id of report source.
31802	SourceID *string `json:"SourceId,omitempty"`
31803	// Property - Describes the property.
31804	Property *string `json:"Property,omitempty"`
31805	// HealthState - Describes the property health state.
31806	HealthState *string `json:"HealthState,omitempty"`
31807	// TimeToLiveMs - Time to live in milli-seconds.
31808	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
31809	// SequenceNumber - Sequence number of report.
31810	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
31811	// Description - Description of report.
31812	Description *string `json:"Description,omitempty"`
31813	// RemoveWhenExpired - Indicates the removal when it expires.
31814	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
31815	// SourceUtcTimestamp - Source time.
31816	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
31817	// NodeName - The name of a Service Fabric node.
31818	NodeName *string `json:"NodeName,omitempty"`
31819	// EventInstanceID - The identifier for the FabricEvent instance.
31820	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
31821	// TimeStamp - The time event was logged.
31822	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
31823	// HasCorrelatedEvents - Shows there is existing related events available.
31824	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
31825	// 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'
31826	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
31827}
31828
31829// MarshalJSON is the custom marshaler for NodeHealthReportExpiredEvent.
31830func (nhree NodeHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
31831	nhree.Kind = KindNodeHealthReportExpired
31832	objectMap := make(map[string]interface{})
31833	if nhree.NodeInstanceID != nil {
31834		objectMap["NodeInstanceId"] = nhree.NodeInstanceID
31835	}
31836	if nhree.SourceID != nil {
31837		objectMap["SourceId"] = nhree.SourceID
31838	}
31839	if nhree.Property != nil {
31840		objectMap["Property"] = nhree.Property
31841	}
31842	if nhree.HealthState != nil {
31843		objectMap["HealthState"] = nhree.HealthState
31844	}
31845	if nhree.TimeToLiveMs != nil {
31846		objectMap["TimeToLiveMs"] = nhree.TimeToLiveMs
31847	}
31848	if nhree.SequenceNumber != nil {
31849		objectMap["SequenceNumber"] = nhree.SequenceNumber
31850	}
31851	if nhree.Description != nil {
31852		objectMap["Description"] = nhree.Description
31853	}
31854	if nhree.RemoveWhenExpired != nil {
31855		objectMap["RemoveWhenExpired"] = nhree.RemoveWhenExpired
31856	}
31857	if nhree.SourceUtcTimestamp != nil {
31858		objectMap["SourceUtcTimestamp"] = nhree.SourceUtcTimestamp
31859	}
31860	if nhree.NodeName != nil {
31861		objectMap["NodeName"] = nhree.NodeName
31862	}
31863	if nhree.EventInstanceID != nil {
31864		objectMap["EventInstanceId"] = nhree.EventInstanceID
31865	}
31866	if nhree.TimeStamp != nil {
31867		objectMap["TimeStamp"] = nhree.TimeStamp
31868	}
31869	if nhree.HasCorrelatedEvents != nil {
31870		objectMap["HasCorrelatedEvents"] = nhree.HasCorrelatedEvents
31871	}
31872	if nhree.Kind != "" {
31873		objectMap["Kind"] = nhree.Kind
31874	}
31875	return json.Marshal(objectMap)
31876}
31877
31878// AsApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31879func (nhree NodeHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
31880	return nil, false
31881}
31882
31883// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31884func (nhree NodeHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
31885	return nil, false
31886}
31887
31888// AsClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31889func (nhree NodeHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
31890	return nil, false
31891}
31892
31893// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31894func (nhree NodeHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
31895	return nil, false
31896}
31897
31898// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31899func (nhree NodeHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
31900	return nil, false
31901}
31902
31903// AsNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31904func (nhree NodeHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
31905	return nil, false
31906}
31907
31908// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31909func (nhree NodeHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
31910	return &nhree, true
31911}
31912
31913// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31914func (nhree NodeHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
31915	return nil, false
31916}
31917
31918// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31919func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
31920	return nil, false
31921}
31922
31923// AsPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31924func (nhree NodeHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
31925	return nil, false
31926}
31927
31928// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31929func (nhree NodeHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
31930	return nil, false
31931}
31932
31933// AsReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31934func (nhree NodeHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
31935	return nil, false
31936}
31937
31938// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31939func (nhree NodeHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
31940	return nil, false
31941}
31942
31943// AsServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31944func (nhree NodeHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
31945	return nil, false
31946}
31947
31948// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31949func (nhree NodeHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
31950	return nil, false
31951}
31952
31953// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31954func (nhree NodeHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
31955	return nil, false
31956}
31957
31958// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31959func (nhree NodeHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
31960	return nil, false
31961}
31962
31963// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31964func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
31965	return nil, false
31966}
31967
31968// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31969func (nhree NodeHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
31970	return nil, false
31971}
31972
31973// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31974func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
31975	return nil, false
31976}
31977
31978// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31979func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
31980	return nil, false
31981}
31982
31983// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31984func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
31985	return nil, false
31986}
31987
31988// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31989func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
31990	return nil, false
31991}
31992
31993// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31994func (nhree NodeHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
31995	return nil, false
31996}
31997
31998// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
31999func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
32000	return nil, false
32001}
32002
32003// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32004func (nhree NodeHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
32005	return nil, false
32006}
32007
32008// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32009func (nhree NodeHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
32010	return nil, false
32011}
32012
32013// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32014func (nhree NodeHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
32015	return nil, false
32016}
32017
32018// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32019func (nhree NodeHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
32020	return nil, false
32021}
32022
32023// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32024func (nhree NodeHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
32025	return nil, false
32026}
32027
32028// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32029func (nhree NodeHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
32030	return nil, false
32031}
32032
32033// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32034func (nhree NodeHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
32035	return nil, false
32036}
32037
32038// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32039func (nhree NodeHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
32040	return nil, false
32041}
32042
32043// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32044func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
32045	return nil, false
32046}
32047
32048// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32049func (nhree NodeHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
32050	return nil, false
32051}
32052
32053// AsNodeDownEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32054func (nhree NodeHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
32055	return nil, false
32056}
32057
32058// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32059func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
32060	return nil, false
32061}
32062
32063// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32064func (nhree NodeHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
32065	return &nhree, true
32066}
32067
32068// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32069func (nhree NodeHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
32070	return nil, false
32071}
32072
32073// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32074func (nhree NodeHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
32075	return nil, false
32076}
32077
32078// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32079func (nhree NodeHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
32080	return nil, false
32081}
32082
32083// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32084func (nhree NodeHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
32085	return nil, false
32086}
32087
32088// AsNodeUpEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32089func (nhree NodeHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
32090	return nil, false
32091}
32092
32093// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32094func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
32095	return nil, false
32096}
32097
32098// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32099func (nhree NodeHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
32100	return nil, false
32101}
32102
32103// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32104func (nhree NodeHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
32105	return nil, false
32106}
32107
32108// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32109func (nhree NodeHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
32110	return nil, false
32111}
32112
32113// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32114func (nhree NodeHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
32115	return nil, false
32116}
32117
32118// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32119func (nhree NodeHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
32120	return nil, false
32121}
32122
32123// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32124func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
32125	return nil, false
32126}
32127
32128// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32129func (nhree NodeHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
32130	return nil, false
32131}
32132
32133// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32134func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
32135	return nil, false
32136}
32137
32138// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32139func (nhree NodeHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
32140	return nil, false
32141}
32142
32143// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32144func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
32145	return nil, false
32146}
32147
32148// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32149func (nhree NodeHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
32150	return nil, false
32151}
32152
32153// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32154func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
32155	return nil, false
32156}
32157
32158// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32159func (nhree NodeHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
32160	return nil, false
32161}
32162
32163// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32164func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
32165	return nil, false
32166}
32167
32168// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32169func (nhree NodeHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
32170	return nil, false
32171}
32172
32173// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32174func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
32175	return nil, false
32176}
32177
32178// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32179func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
32180	return nil, false
32181}
32182
32183// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32184func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
32185	return nil, false
32186}
32187
32188// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32189func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
32190	return nil, false
32191}
32192
32193// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32194func (nhree NodeHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
32195	return nil, false
32196}
32197
32198// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32199func (nhree NodeHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
32200	return nil, false
32201}
32202
32203// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32204func (nhree NodeHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
32205	return nil, false
32206}
32207
32208// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32209func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
32210	return nil, false
32211}
32212
32213// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32214func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
32215	return nil, false
32216}
32217
32218// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32219func (nhree NodeHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
32220	return nil, false
32221}
32222
32223// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32224func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
32225	return nil, false
32226}
32227
32228// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32229func (nhree NodeHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
32230	return nil, false
32231}
32232
32233// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32234func (nhree NodeHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
32235	return nil, false
32236}
32237
32238// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32239func (nhree NodeHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
32240	return nil, false
32241}
32242
32243// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32244func (nhree NodeHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
32245	return nil, false
32246}
32247
32248// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32249func (nhree NodeHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
32250	return nil, false
32251}
32252
32253// AsFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32254func (nhree NodeHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
32255	return nil, false
32256}
32257
32258// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeHealthReportExpiredEvent.
32259func (nhree NodeHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
32260	return &nhree, true
32261}
32262
32263// NodeHealthState represents the health state of a node, which contains the node identifier and its
32264// aggregated health state.
32265type NodeHealthState struct {
32266	// Name - The name of a Service Fabric node.
32267	Name *string `json:"Name,omitempty"`
32268	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
32269	ID *NodeID `json:"Id,omitempty"`
32270	// 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'
32271	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
32272}
32273
32274// NodeHealthStateChunk represents the health state chunk of a node, which contains the node name and its
32275// aggregated health state.
32276type NodeHealthStateChunk struct {
32277	// NodeName - The name of a Service Fabric node.
32278	NodeName *string `json:"NodeName,omitempty"`
32279	// 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'
32280	HealthState HealthState `json:"HealthState,omitempty"`
32281}
32282
32283// NodeHealthStateChunkList the list of node health state chunks in the cluster that respect the input
32284// filters in the chunk query. Returned by get cluster health state chunks query.
32285type NodeHealthStateChunkList struct {
32286	// Items - The list of node health state chunks that respect the input filters in the chunk query.
32287	Items *[]NodeHealthStateChunk `json:"Items,omitempty"`
32288	// TotalCount - Total number of entity health state objects that match the specified filters from the cluster health chunk query description.
32289	TotalCount *int64 `json:"TotalCount,omitempty"`
32290}
32291
32292// NodeHealthStateFilter defines matching criteria to determine whether a node should be included in the
32293// returned cluster health chunk.
32294// One filter can match zero, one or multiple nodes, depending on its properties.
32295// Can be specified in the cluster health chunk query description.
32296type NodeHealthStateFilter struct {
32297	// NodeNameFilter - Name of the node that matches the filter. The filter is applied only to the specified node, if it exists.
32298	// If the node doesn't exist, no node is returned in the cluster health chunk based on this filter.
32299	// If the node exists, it is included in the cluster health chunk if the health state matches the other filter properties.
32300	// 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.
32301	NodeNameFilter *string `json:"NodeNameFilter,omitempty"`
32302	// HealthStateFilter - The filter for the health state of the nodes. It allows selecting nodes if they match the desired health states.
32303	// 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.
32304	// 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.
32305	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
32306	// For example, if the provided value is 6, it matches nodes with HealthState value of OK (2) and Warning (4).
32307	// - Default - Default value. Matches any HealthState. The value is zero.
32308	// - 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.
32309	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
32310	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
32311	// - Error - Filter that matches input with HealthState value Error. The value is 8.
32312	// - All - Filter that matches input with any HealthState value. The value is 65535.
32313	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
32314}
32315
32316// NodeID an internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically
32317// generated from node name.
32318type NodeID struct {
32319	// ID - Value of the node Id. This is a 128 bit integer.
32320	ID *string `json:"Id,omitempty"`
32321}
32322
32323// NodeImpact describes the expected impact of a repair to a particular node.
32324//
32325// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
32326type NodeImpact struct {
32327	// NodeName - The name of the impacted node.
32328	NodeName *string `json:"NodeName,omitempty"`
32329	// ImpactLevel - The level of impact expected. Possible values include: 'ImpactLevelInvalid', 'ImpactLevelNone', 'ImpactLevelRestart', 'ImpactLevelRemoveData', 'ImpactLevelRemoveNode'
32330	ImpactLevel ImpactLevel `json:"ImpactLevel,omitempty"`
32331}
32332
32333// NodeInfo information about a node in Service Fabric cluster.
32334type NodeInfo struct {
32335	autorest.Response `json:"-"`
32336	// Name - The name of a Service Fabric node.
32337	Name *string `json:"Name,omitempty"`
32338	// IPAddressOrFQDN - The IP address or fully qualified domain name of the node.
32339	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
32340	// Type - The type of the node.
32341	Type *string `json:"Type,omitempty"`
32342	// CodeVersion - The version of Service Fabric binaries that the node is running.
32343	CodeVersion *string `json:"CodeVersion,omitempty"`
32344	// ConfigVersion - The version of Service Fabric cluster manifest that the node is using.
32345	ConfigVersion *string `json:"ConfigVersion,omitempty"`
32346	// NodeStatus - The status of the node. Possible values include: 'NodeStatusInvalid', 'NodeStatusUp', 'NodeStatusDown', 'NodeStatusEnabling', 'NodeStatusDisabling', 'NodeStatusDisabled', 'NodeStatusUnknown', 'NodeStatusRemoved'
32347	NodeStatus NodeStatus `json:"NodeStatus,omitempty"`
32348	// NodeUpTimeInSeconds - Time in seconds since the node has been in NodeStatus Up. Value zero indicates that the node is not Up.
32349	NodeUpTimeInSeconds *string `json:"NodeUpTimeInSeconds,omitempty"`
32350	// 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'
32351	HealthState HealthState `json:"HealthState,omitempty"`
32352	// 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.
32353	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
32354	// UpgradeDomain - The upgrade domain of the node.
32355	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
32356	// FaultDomain - The fault domain of the node.
32357	FaultDomain *string `json:"FaultDomain,omitempty"`
32358	// ID - An internal ID used by Service Fabric to uniquely identify a node. Node Id is deterministically generated from node name.
32359	ID *NodeID `json:"Id,omitempty"`
32360	// 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.
32361	InstanceID *string `json:"InstanceId,omitempty"`
32362	// NodeDeactivationInfo - Information about the node deactivation. This information is valid for a node that is undergoing deactivation or has already been deactivated.
32363	NodeDeactivationInfo *NodeDeactivationInfo `json:"NodeDeactivationInfo,omitempty"`
32364	// IsStopped - Indicates if the node is stopped by calling stop node API or not. Returns true if the node is stopped, otherwise false.
32365	IsStopped *bool `json:"IsStopped,omitempty"`
32366	// NodeDownTimeInSeconds - Time in seconds since the node has been in NodeStatus Down. Value zero indicates node is not NodeStatus Down.
32367	NodeDownTimeInSeconds *string `json:"NodeDownTimeInSeconds,omitempty"`
32368	// 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.
32369	NodeUpAt *date.Time `json:"NodeUpAt,omitempty"`
32370	// NodeDownAt - Date time in UTC when the node went down. If node has never been down then this value will be zero date time.
32371	NodeDownAt *date.Time `json:"NodeDownAt,omitempty"`
32372}
32373
32374// NodeLoadInfo information about load on a Service Fabric node. It holds a summary of all metrics and
32375// their load on a node.
32376type NodeLoadInfo struct {
32377	autorest.Response `json:"-"`
32378	// NodeName - Name of the node for which the load information is provided by this object.
32379	NodeName *string `json:"NodeName,omitempty"`
32380	// NodeLoadMetricInformation - List that contains metrics and their load information on this node.
32381	NodeLoadMetricInformation *[]NodeLoadMetricInformation `json:"NodeLoadMetricInformation,omitempty"`
32382}
32383
32384// NodeLoadMetricInformation represents data structure that contains load information for a certain metric
32385// on a node.
32386type NodeLoadMetricInformation struct {
32387	// Name - Name of the metric for which this load information is provided.
32388	Name *string `json:"Name,omitempty"`
32389	// NodeCapacity - Total capacity on the node for this metric.
32390	NodeCapacity *string `json:"NodeCapacity,omitempty"`
32391	// NodeLoad - Current load on the node for this metric.
32392	NodeLoad *string `json:"NodeLoad,omitempty"`
32393	// NodeRemainingCapacity - The remaining capacity on the node for this metric.
32394	NodeRemainingCapacity *string `json:"NodeRemainingCapacity,omitempty"`
32395	// IsCapacityViolation - Indicates if there is a capacity violation for this metric on the node.
32396	IsCapacityViolation *bool `json:"IsCapacityViolation,omitempty"`
32397	// NodeBufferedCapacity - The value that indicates the reserved capacity for this metric on the node.
32398	NodeBufferedCapacity *string `json:"NodeBufferedCapacity,omitempty"`
32399	// NodeRemainingBufferedCapacity - The remaining reserved capacity for this metric on the node.
32400	NodeRemainingBufferedCapacity *string `json:"NodeRemainingBufferedCapacity,omitempty"`
32401}
32402
32403// NodeOpenedSuccessEvent node Opened Success event.
32404type NodeOpenedSuccessEvent struct {
32405	// NodeInstance - Id of Node instance.
32406	NodeInstance *int64 `json:"NodeInstance,omitempty"`
32407	// NodeID - Id of Node.
32408	NodeID *string `json:"NodeId,omitempty"`
32409	// UpgradeDomain - Upgrade domain of Node.
32410	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
32411	// FaultDomain - Fault domain of Node.
32412	FaultDomain *string `json:"FaultDomain,omitempty"`
32413	// IPAddressOrFQDN - IP address or FQDN.
32414	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
32415	// Hostname - Name of Host.
32416	Hostname *string `json:"Hostname,omitempty"`
32417	// IsSeedNode - Indicates if it is seed node.
32418	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
32419	// NodeVersion - Version of Node.
32420	NodeVersion *string `json:"NodeVersion,omitempty"`
32421	// NodeName - The name of a Service Fabric node.
32422	NodeName *string `json:"NodeName,omitempty"`
32423	// EventInstanceID - The identifier for the FabricEvent instance.
32424	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
32425	// TimeStamp - The time event was logged.
32426	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
32427	// HasCorrelatedEvents - Shows there is existing related events available.
32428	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
32429	// 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'
32430	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
32431}
32432
32433// MarshalJSON is the custom marshaler for NodeOpenedSuccessEvent.
32434func (nose NodeOpenedSuccessEvent) MarshalJSON() ([]byte, error) {
32435	nose.Kind = KindNodeOpenedSuccess
32436	objectMap := make(map[string]interface{})
32437	if nose.NodeInstance != nil {
32438		objectMap["NodeInstance"] = nose.NodeInstance
32439	}
32440	if nose.NodeID != nil {
32441		objectMap["NodeId"] = nose.NodeID
32442	}
32443	if nose.UpgradeDomain != nil {
32444		objectMap["UpgradeDomain"] = nose.UpgradeDomain
32445	}
32446	if nose.FaultDomain != nil {
32447		objectMap["FaultDomain"] = nose.FaultDomain
32448	}
32449	if nose.IPAddressOrFQDN != nil {
32450		objectMap["IpAddressOrFQDN"] = nose.IPAddressOrFQDN
32451	}
32452	if nose.Hostname != nil {
32453		objectMap["Hostname"] = nose.Hostname
32454	}
32455	if nose.IsSeedNode != nil {
32456		objectMap["IsSeedNode"] = nose.IsSeedNode
32457	}
32458	if nose.NodeVersion != nil {
32459		objectMap["NodeVersion"] = nose.NodeVersion
32460	}
32461	if nose.NodeName != nil {
32462		objectMap["NodeName"] = nose.NodeName
32463	}
32464	if nose.EventInstanceID != nil {
32465		objectMap["EventInstanceId"] = nose.EventInstanceID
32466	}
32467	if nose.TimeStamp != nil {
32468		objectMap["TimeStamp"] = nose.TimeStamp
32469	}
32470	if nose.HasCorrelatedEvents != nil {
32471		objectMap["HasCorrelatedEvents"] = nose.HasCorrelatedEvents
32472	}
32473	if nose.Kind != "" {
32474		objectMap["Kind"] = nose.Kind
32475	}
32476	return json.Marshal(objectMap)
32477}
32478
32479// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32480func (nose NodeOpenedSuccessEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32481	return nil, false
32482}
32483
32484// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32485func (nose NodeOpenedSuccessEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32486	return nil, false
32487}
32488
32489// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32490func (nose NodeOpenedSuccessEvent) AsClusterEvent() (*ClusterEvent, bool) {
32491	return nil, false
32492}
32493
32494// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32495func (nose NodeOpenedSuccessEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32496	return nil, false
32497}
32498
32499// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32500func (nose NodeOpenedSuccessEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32501	return nil, false
32502}
32503
32504// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32505func (nose NodeOpenedSuccessEvent) AsNodeEvent() (*NodeEvent, bool) {
32506	return nil, false
32507}
32508
32509// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32510func (nose NodeOpenedSuccessEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32511	return &nose, true
32512}
32513
32514// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32515func (nose NodeOpenedSuccessEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32516	return nil, false
32517}
32518
32519// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32520func (nose NodeOpenedSuccessEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32521	return nil, false
32522}
32523
32524// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32525func (nose NodeOpenedSuccessEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32526	return nil, false
32527}
32528
32529// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32530func (nose NodeOpenedSuccessEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32531	return nil, false
32532}
32533
32534// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32535func (nose NodeOpenedSuccessEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
32536	return nil, false
32537}
32538
32539// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32540func (nose NodeOpenedSuccessEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
32541	return nil, false
32542}
32543
32544// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32545func (nose NodeOpenedSuccessEvent) AsServiceEvent() (*ServiceEvent, bool) {
32546	return nil, false
32547}
32548
32549// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32550func (nose NodeOpenedSuccessEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
32551	return nil, false
32552}
32553
32554// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32555func (nose NodeOpenedSuccessEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
32556	return nil, false
32557}
32558
32559// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32560func (nose NodeOpenedSuccessEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
32561	return nil, false
32562}
32563
32564// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32565func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
32566	return nil, false
32567}
32568
32569// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32570func (nose NodeOpenedSuccessEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
32571	return nil, false
32572}
32573
32574// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32575func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
32576	return nil, false
32577}
32578
32579// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32580func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
32581	return nil, false
32582}
32583
32584// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32585func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
32586	return nil, false
32587}
32588
32589// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32590func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
32591	return nil, false
32592}
32593
32594// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32595func (nose NodeOpenedSuccessEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
32596	return nil, false
32597}
32598
32599// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32600func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
32601	return nil, false
32602}
32603
32604// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32605func (nose NodeOpenedSuccessEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
32606	return nil, false
32607}
32608
32609// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32610func (nose NodeOpenedSuccessEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
32611	return nil, false
32612}
32613
32614// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32615func (nose NodeOpenedSuccessEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
32616	return nil, false
32617}
32618
32619// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32620func (nose NodeOpenedSuccessEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
32621	return nil, false
32622}
32623
32624// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32625func (nose NodeOpenedSuccessEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
32626	return nil, false
32627}
32628
32629// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32630func (nose NodeOpenedSuccessEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
32631	return nil, false
32632}
32633
32634// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32635func (nose NodeOpenedSuccessEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
32636	return nil, false
32637}
32638
32639// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32640func (nose NodeOpenedSuccessEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
32641	return nil, false
32642}
32643
32644// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32645func (nose NodeOpenedSuccessEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
32646	return nil, false
32647}
32648
32649// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32650func (nose NodeOpenedSuccessEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
32651	return nil, false
32652}
32653
32654// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32655func (nose NodeOpenedSuccessEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
32656	return nil, false
32657}
32658
32659// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32660func (nose NodeOpenedSuccessEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
32661	return nil, false
32662}
32663
32664// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32665func (nose NodeOpenedSuccessEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
32666	return nil, false
32667}
32668
32669// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32670func (nose NodeOpenedSuccessEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
32671	return &nose, true
32672}
32673
32674// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32675func (nose NodeOpenedSuccessEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
32676	return nil, false
32677}
32678
32679// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32680func (nose NodeOpenedSuccessEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
32681	return nil, false
32682}
32683
32684// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32685func (nose NodeOpenedSuccessEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
32686	return nil, false
32687}
32688
32689// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32690func (nose NodeOpenedSuccessEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
32691	return nil, false
32692}
32693
32694// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32695func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
32696	return nil, false
32697}
32698
32699// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32700func (nose NodeOpenedSuccessEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
32701	return nil, false
32702}
32703
32704// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32705func (nose NodeOpenedSuccessEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
32706	return nil, false
32707}
32708
32709// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32710func (nose NodeOpenedSuccessEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
32711	return nil, false
32712}
32713
32714// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32715func (nose NodeOpenedSuccessEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
32716	return nil, false
32717}
32718
32719// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32720func (nose NodeOpenedSuccessEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
32721	return nil, false
32722}
32723
32724// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32725func (nose NodeOpenedSuccessEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
32726	return nil, false
32727}
32728
32729// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32730func (nose NodeOpenedSuccessEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
32731	return nil, false
32732}
32733
32734// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32735func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
32736	return nil, false
32737}
32738
32739// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32740func (nose NodeOpenedSuccessEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
32741	return nil, false
32742}
32743
32744// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32745func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
32746	return nil, false
32747}
32748
32749// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32750func (nose NodeOpenedSuccessEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
32751	return nil, false
32752}
32753
32754// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32755func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
32756	return nil, false
32757}
32758
32759// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32760func (nose NodeOpenedSuccessEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
32761	return nil, false
32762}
32763
32764// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32765func (nose NodeOpenedSuccessEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
32766	return nil, false
32767}
32768
32769// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32770func (nose NodeOpenedSuccessEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
32771	return nil, false
32772}
32773
32774// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32775func (nose NodeOpenedSuccessEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
32776	return nil, false
32777}
32778
32779// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32780func (nose NodeOpenedSuccessEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
32781	return nil, false
32782}
32783
32784// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32785func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
32786	return nil, false
32787}
32788
32789// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32790func (nose NodeOpenedSuccessEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
32791	return nil, false
32792}
32793
32794// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32795func (nose NodeOpenedSuccessEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
32796	return nil, false
32797}
32798
32799// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32800func (nose NodeOpenedSuccessEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
32801	return nil, false
32802}
32803
32804// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32805func (nose NodeOpenedSuccessEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
32806	return nil, false
32807}
32808
32809// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32810func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
32811	return nil, false
32812}
32813
32814// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32815func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
32816	return nil, false
32817}
32818
32819// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32820func (nose NodeOpenedSuccessEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
32821	return nil, false
32822}
32823
32824// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32825func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
32826	return nil, false
32827}
32828
32829// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32830func (nose NodeOpenedSuccessEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
32831	return nil, false
32832}
32833
32834// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32835func (nose NodeOpenedSuccessEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
32836	return nil, false
32837}
32838
32839// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32840func (nose NodeOpenedSuccessEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
32841	return nil, false
32842}
32843
32844// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32845func (nose NodeOpenedSuccessEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
32846	return nil, false
32847}
32848
32849// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32850func (nose NodeOpenedSuccessEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
32851	return nil, false
32852}
32853
32854// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32855func (nose NodeOpenedSuccessEvent) AsFabricEvent() (*FabricEvent, bool) {
32856	return nil, false
32857}
32858
32859// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenedSuccessEvent.
32860func (nose NodeOpenedSuccessEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
32861	return &nose, true
32862}
32863
32864// NodeOpenFailedEvent node Open Failed event.
32865type NodeOpenFailedEvent struct {
32866	// NodeInstance - Id of Node instance.
32867	NodeInstance *int64 `json:"NodeInstance,omitempty"`
32868	// NodeID - Id of Node.
32869	NodeID *string `json:"NodeId,omitempty"`
32870	// UpgradeDomain - Upgrade domain of Node.
32871	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
32872	// FaultDomain - Fault domain of Node.
32873	FaultDomain *string `json:"FaultDomain,omitempty"`
32874	// IPAddressOrFQDN - IP address or FQDN.
32875	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
32876	// Hostname - Name of Host.
32877	Hostname *string `json:"Hostname,omitempty"`
32878	// IsSeedNode - Indicates if it is seed node.
32879	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
32880	// NodeVersion - Version of Node.
32881	NodeVersion *string `json:"NodeVersion,omitempty"`
32882	// Error - Describes the error.
32883	Error *string `json:"Error,omitempty"`
32884	// NodeName - The name of a Service Fabric node.
32885	NodeName *string `json:"NodeName,omitempty"`
32886	// EventInstanceID - The identifier for the FabricEvent instance.
32887	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
32888	// TimeStamp - The time event was logged.
32889	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
32890	// HasCorrelatedEvents - Shows there is existing related events available.
32891	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
32892	// 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'
32893	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
32894}
32895
32896// MarshalJSON is the custom marshaler for NodeOpenFailedEvent.
32897func (nofe NodeOpenFailedEvent) MarshalJSON() ([]byte, error) {
32898	nofe.Kind = KindNodeOpenFailed
32899	objectMap := make(map[string]interface{})
32900	if nofe.NodeInstance != nil {
32901		objectMap["NodeInstance"] = nofe.NodeInstance
32902	}
32903	if nofe.NodeID != nil {
32904		objectMap["NodeId"] = nofe.NodeID
32905	}
32906	if nofe.UpgradeDomain != nil {
32907		objectMap["UpgradeDomain"] = nofe.UpgradeDomain
32908	}
32909	if nofe.FaultDomain != nil {
32910		objectMap["FaultDomain"] = nofe.FaultDomain
32911	}
32912	if nofe.IPAddressOrFQDN != nil {
32913		objectMap["IpAddressOrFQDN"] = nofe.IPAddressOrFQDN
32914	}
32915	if nofe.Hostname != nil {
32916		objectMap["Hostname"] = nofe.Hostname
32917	}
32918	if nofe.IsSeedNode != nil {
32919		objectMap["IsSeedNode"] = nofe.IsSeedNode
32920	}
32921	if nofe.NodeVersion != nil {
32922		objectMap["NodeVersion"] = nofe.NodeVersion
32923	}
32924	if nofe.Error != nil {
32925		objectMap["Error"] = nofe.Error
32926	}
32927	if nofe.NodeName != nil {
32928		objectMap["NodeName"] = nofe.NodeName
32929	}
32930	if nofe.EventInstanceID != nil {
32931		objectMap["EventInstanceId"] = nofe.EventInstanceID
32932	}
32933	if nofe.TimeStamp != nil {
32934		objectMap["TimeStamp"] = nofe.TimeStamp
32935	}
32936	if nofe.HasCorrelatedEvents != nil {
32937		objectMap["HasCorrelatedEvents"] = nofe.HasCorrelatedEvents
32938	}
32939	if nofe.Kind != "" {
32940		objectMap["Kind"] = nofe.Kind
32941	}
32942	return json.Marshal(objectMap)
32943}
32944
32945// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32946func (nofe NodeOpenFailedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
32947	return nil, false
32948}
32949
32950// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32951func (nofe NodeOpenFailedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
32952	return nil, false
32953}
32954
32955// AsClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32956func (nofe NodeOpenFailedEvent) AsClusterEvent() (*ClusterEvent, bool) {
32957	return nil, false
32958}
32959
32960// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32961func (nofe NodeOpenFailedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
32962	return nil, false
32963}
32964
32965// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32966func (nofe NodeOpenFailedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
32967	return nil, false
32968}
32969
32970// AsNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32971func (nofe NodeOpenFailedEvent) AsNodeEvent() (*NodeEvent, bool) {
32972	return nil, false
32973}
32974
32975// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32976func (nofe NodeOpenFailedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
32977	return &nofe, true
32978}
32979
32980// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32981func (nofe NodeOpenFailedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
32982	return nil, false
32983}
32984
32985// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32986func (nofe NodeOpenFailedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
32987	return nil, false
32988}
32989
32990// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32991func (nofe NodeOpenFailedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
32992	return nil, false
32993}
32994
32995// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
32996func (nofe NodeOpenFailedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
32997	return nil, false
32998}
32999
33000// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33001func (nofe NodeOpenFailedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
33002	return nil, false
33003}
33004
33005// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33006func (nofe NodeOpenFailedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33007	return nil, false
33008}
33009
33010// AsServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33011func (nofe NodeOpenFailedEvent) AsServiceEvent() (*ServiceEvent, bool) {
33012	return nil, false
33013}
33014
33015// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33016func (nofe NodeOpenFailedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33017	return nil, false
33018}
33019
33020// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33021func (nofe NodeOpenFailedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33022	return nil, false
33023}
33024
33025// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33026func (nofe NodeOpenFailedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33027	return nil, false
33028}
33029
33030// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33031func (nofe NodeOpenFailedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33032	return nil, false
33033}
33034
33035// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33036func (nofe NodeOpenFailedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33037	return nil, false
33038}
33039
33040// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33041func (nofe NodeOpenFailedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33042	return nil, false
33043}
33044
33045// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33046func (nofe NodeOpenFailedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33047	return nil, false
33048}
33049
33050// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33051func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33052	return nil, false
33053}
33054
33055// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33056func (nofe NodeOpenFailedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33057	return nil, false
33058}
33059
33060// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33061func (nofe NodeOpenFailedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33062	return nil, false
33063}
33064
33065// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33066func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33067	return nil, false
33068}
33069
33070// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33071func (nofe NodeOpenFailedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33072	return nil, false
33073}
33074
33075// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33076func (nofe NodeOpenFailedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33077	return nil, false
33078}
33079
33080// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33081func (nofe NodeOpenFailedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33082	return nil, false
33083}
33084
33085// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33086func (nofe NodeOpenFailedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33087	return nil, false
33088}
33089
33090// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33091func (nofe NodeOpenFailedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
33092	return nil, false
33093}
33094
33095// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33096func (nofe NodeOpenFailedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33097	return nil, false
33098}
33099
33100// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33101func (nofe NodeOpenFailedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33102	return nil, false
33103}
33104
33105// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33106func (nofe NodeOpenFailedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33107	return nil, false
33108}
33109
33110// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33111func (nofe NodeOpenFailedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33112	return nil, false
33113}
33114
33115// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33116func (nofe NodeOpenFailedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33117	return nil, false
33118}
33119
33120// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33121func (nofe NodeOpenFailedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33122	return nil, false
33123}
33124
33125// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33126func (nofe NodeOpenFailedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33127	return nil, false
33128}
33129
33130// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33131func (nofe NodeOpenFailedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33132	return nil, false
33133}
33134
33135// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33136func (nofe NodeOpenFailedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33137	return nil, false
33138}
33139
33140// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33141func (nofe NodeOpenFailedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33142	return &nofe, true
33143}
33144
33145// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33146func (nofe NodeOpenFailedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33147	return nil, false
33148}
33149
33150// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33151func (nofe NodeOpenFailedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33152	return nil, false
33153}
33154
33155// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33156func (nofe NodeOpenFailedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33157	return nil, false
33158}
33159
33160// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33161func (nofe NodeOpenFailedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33162	return nil, false
33163}
33164
33165// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33166func (nofe NodeOpenFailedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33167	return nil, false
33168}
33169
33170// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33171func (nofe NodeOpenFailedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33172	return nil, false
33173}
33174
33175// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33176func (nofe NodeOpenFailedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33177	return nil, false
33178}
33179
33180// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33181func (nofe NodeOpenFailedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33182	return nil, false
33183}
33184
33185// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33186func (nofe NodeOpenFailedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33187	return nil, false
33188}
33189
33190// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33191func (nofe NodeOpenFailedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33192	return nil, false
33193}
33194
33195// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33196func (nofe NodeOpenFailedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33197	return nil, false
33198}
33199
33200// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33201func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33202	return nil, false
33203}
33204
33205// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33206func (nofe NodeOpenFailedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33207	return nil, false
33208}
33209
33210// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33211func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33212	return nil, false
33213}
33214
33215// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33216func (nofe NodeOpenFailedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33217	return nil, false
33218}
33219
33220// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33221func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33222	return nil, false
33223}
33224
33225// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33226func (nofe NodeOpenFailedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33227	return nil, false
33228}
33229
33230// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33231func (nofe NodeOpenFailedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33232	return nil, false
33233}
33234
33235// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33236func (nofe NodeOpenFailedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33237	return nil, false
33238}
33239
33240// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33241func (nofe NodeOpenFailedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33242	return nil, false
33243}
33244
33245// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33246func (nofe NodeOpenFailedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33247	return nil, false
33248}
33249
33250// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33251func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33252	return nil, false
33253}
33254
33255// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33256func (nofe NodeOpenFailedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33257	return nil, false
33258}
33259
33260// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33261func (nofe NodeOpenFailedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33262	return nil, false
33263}
33264
33265// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33266func (nofe NodeOpenFailedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33267	return nil, false
33268}
33269
33270// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33271func (nofe NodeOpenFailedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33272	return nil, false
33273}
33274
33275// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33276func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33277	return nil, false
33278}
33279
33280// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33281func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33282	return nil, false
33283}
33284
33285// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33286func (nofe NodeOpenFailedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33287	return nil, false
33288}
33289
33290// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33291func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33292	return nil, false
33293}
33294
33295// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33296func (nofe NodeOpenFailedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33297	return nil, false
33298}
33299
33300// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33301func (nofe NodeOpenFailedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33302	return nil, false
33303}
33304
33305// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33306func (nofe NodeOpenFailedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33307	return nil, false
33308}
33309
33310// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33311func (nofe NodeOpenFailedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33312	return nil, false
33313}
33314
33315// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33316func (nofe NodeOpenFailedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33317	return nil, false
33318}
33319
33320// AsFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33321func (nofe NodeOpenFailedEvent) AsFabricEvent() (*FabricEvent, bool) {
33322	return nil, false
33323}
33324
33325// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpenFailedEvent.
33326func (nofe NodeOpenFailedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33327	return &nofe, true
33328}
33329
33330// NodeOpeningEvent node Opening event.
33331type NodeOpeningEvent struct {
33332	// NodeInstance - Id of Node instance.
33333	NodeInstance *int64 `json:"NodeInstance,omitempty"`
33334	// NodeID - Id of Node.
33335	NodeID *string `json:"NodeId,omitempty"`
33336	// UpgradeDomain - Upgrade domain of Node.
33337	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
33338	// FaultDomain - Fault domain of Node.
33339	FaultDomain *string `json:"FaultDomain,omitempty"`
33340	// IPAddressOrFQDN - IP address or FQDN.
33341	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
33342	// Hostname - Name of Host.
33343	Hostname *string `json:"Hostname,omitempty"`
33344	// IsSeedNode - Indicates if it is seed node.
33345	IsSeedNode *bool `json:"IsSeedNode,omitempty"`
33346	// NodeVersion - Version of Node.
33347	NodeVersion *string `json:"NodeVersion,omitempty"`
33348	// NodeName - The name of a Service Fabric node.
33349	NodeName *string `json:"NodeName,omitempty"`
33350	// EventInstanceID - The identifier for the FabricEvent instance.
33351	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
33352	// TimeStamp - The time event was logged.
33353	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
33354	// HasCorrelatedEvents - Shows there is existing related events available.
33355	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
33356	// 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'
33357	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
33358}
33359
33360// MarshalJSON is the custom marshaler for NodeOpeningEvent.
33361func (noe NodeOpeningEvent) MarshalJSON() ([]byte, error) {
33362	noe.Kind = KindNodeOpening
33363	objectMap := make(map[string]interface{})
33364	if noe.NodeInstance != nil {
33365		objectMap["NodeInstance"] = noe.NodeInstance
33366	}
33367	if noe.NodeID != nil {
33368		objectMap["NodeId"] = noe.NodeID
33369	}
33370	if noe.UpgradeDomain != nil {
33371		objectMap["UpgradeDomain"] = noe.UpgradeDomain
33372	}
33373	if noe.FaultDomain != nil {
33374		objectMap["FaultDomain"] = noe.FaultDomain
33375	}
33376	if noe.IPAddressOrFQDN != nil {
33377		objectMap["IpAddressOrFQDN"] = noe.IPAddressOrFQDN
33378	}
33379	if noe.Hostname != nil {
33380		objectMap["Hostname"] = noe.Hostname
33381	}
33382	if noe.IsSeedNode != nil {
33383		objectMap["IsSeedNode"] = noe.IsSeedNode
33384	}
33385	if noe.NodeVersion != nil {
33386		objectMap["NodeVersion"] = noe.NodeVersion
33387	}
33388	if noe.NodeName != nil {
33389		objectMap["NodeName"] = noe.NodeName
33390	}
33391	if noe.EventInstanceID != nil {
33392		objectMap["EventInstanceId"] = noe.EventInstanceID
33393	}
33394	if noe.TimeStamp != nil {
33395		objectMap["TimeStamp"] = noe.TimeStamp
33396	}
33397	if noe.HasCorrelatedEvents != nil {
33398		objectMap["HasCorrelatedEvents"] = noe.HasCorrelatedEvents
33399	}
33400	if noe.Kind != "" {
33401		objectMap["Kind"] = noe.Kind
33402	}
33403	return json.Marshal(objectMap)
33404}
33405
33406// AsApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33407func (noe NodeOpeningEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
33408	return nil, false
33409}
33410
33411// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33412func (noe NodeOpeningEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
33413	return nil, false
33414}
33415
33416// AsClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33417func (noe NodeOpeningEvent) AsClusterEvent() (*ClusterEvent, bool) {
33418	return nil, false
33419}
33420
33421// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33422func (noe NodeOpeningEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
33423	return nil, false
33424}
33425
33426// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33427func (noe NodeOpeningEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
33428	return nil, false
33429}
33430
33431// AsNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33432func (noe NodeOpeningEvent) AsNodeEvent() (*NodeEvent, bool) {
33433	return nil, false
33434}
33435
33436// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33437func (noe NodeOpeningEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
33438	return &noe, true
33439}
33440
33441// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33442func (noe NodeOpeningEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
33443	return nil, false
33444}
33445
33446// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33447func (noe NodeOpeningEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
33448	return nil, false
33449}
33450
33451// AsPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33452func (noe NodeOpeningEvent) AsPartitionEvent() (*PartitionEvent, bool) {
33453	return nil, false
33454}
33455
33456// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33457func (noe NodeOpeningEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
33458	return nil, false
33459}
33460
33461// AsReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33462func (noe NodeOpeningEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
33463	return nil, false
33464}
33465
33466// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33467func (noe NodeOpeningEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33468	return nil, false
33469}
33470
33471// AsServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33472func (noe NodeOpeningEvent) AsServiceEvent() (*ServiceEvent, bool) {
33473	return nil, false
33474}
33475
33476// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33477func (noe NodeOpeningEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33478	return nil, false
33479}
33480
33481// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33482func (noe NodeOpeningEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33483	return nil, false
33484}
33485
33486// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33487func (noe NodeOpeningEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33488	return nil, false
33489}
33490
33491// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33492func (noe NodeOpeningEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33493	return nil, false
33494}
33495
33496// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33497func (noe NodeOpeningEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33498	return nil, false
33499}
33500
33501// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33502func (noe NodeOpeningEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33503	return nil, false
33504}
33505
33506// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33507func (noe NodeOpeningEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33508	return nil, false
33509}
33510
33511// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33512func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33513	return nil, false
33514}
33515
33516// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33517func (noe NodeOpeningEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33518	return nil, false
33519}
33520
33521// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33522func (noe NodeOpeningEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33523	return nil, false
33524}
33525
33526// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33527func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33528	return nil, false
33529}
33530
33531// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33532func (noe NodeOpeningEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33533	return nil, false
33534}
33535
33536// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33537func (noe NodeOpeningEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33538	return nil, false
33539}
33540
33541// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33542func (noe NodeOpeningEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33543	return nil, false
33544}
33545
33546// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33547func (noe NodeOpeningEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33548	return nil, false
33549}
33550
33551// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33552func (noe NodeOpeningEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
33553	return nil, false
33554}
33555
33556// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33557func (noe NodeOpeningEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
33558	return nil, false
33559}
33560
33561// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33562func (noe NodeOpeningEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
33563	return nil, false
33564}
33565
33566// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33567func (noe NodeOpeningEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
33568	return nil, false
33569}
33570
33571// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33572func (noe NodeOpeningEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
33573	return nil, false
33574}
33575
33576// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33577func (noe NodeOpeningEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
33578	return nil, false
33579}
33580
33581// AsNodeDownEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33582func (noe NodeOpeningEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
33583	return nil, false
33584}
33585
33586// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33587func (noe NodeOpeningEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
33588	return nil, false
33589}
33590
33591// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33592func (noe NodeOpeningEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
33593	return nil, false
33594}
33595
33596// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33597func (noe NodeOpeningEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
33598	return nil, false
33599}
33600
33601// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33602func (noe NodeOpeningEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
33603	return nil, false
33604}
33605
33606// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33607func (noe NodeOpeningEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
33608	return &noe, true
33609}
33610
33611// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33612func (noe NodeOpeningEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
33613	return nil, false
33614}
33615
33616// AsNodeUpEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33617func (noe NodeOpeningEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
33618	return nil, false
33619}
33620
33621// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33622func (noe NodeOpeningEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
33623	return nil, false
33624}
33625
33626// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33627func (noe NodeOpeningEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
33628	return nil, false
33629}
33630
33631// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33632func (noe NodeOpeningEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
33633	return nil, false
33634}
33635
33636// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33637func (noe NodeOpeningEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
33638	return nil, false
33639}
33640
33641// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33642func (noe NodeOpeningEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
33643	return nil, false
33644}
33645
33646// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33647func (noe NodeOpeningEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
33648	return nil, false
33649}
33650
33651// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33652func (noe NodeOpeningEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
33653	return nil, false
33654}
33655
33656// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33657func (noe NodeOpeningEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
33658	return nil, false
33659}
33660
33661// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33662func (noe NodeOpeningEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
33663	return nil, false
33664}
33665
33666// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33667func (noe NodeOpeningEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
33668	return nil, false
33669}
33670
33671// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33672func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
33673	return nil, false
33674}
33675
33676// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33677func (noe NodeOpeningEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
33678	return nil, false
33679}
33680
33681// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33682func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
33683	return nil, false
33684}
33685
33686// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33687func (noe NodeOpeningEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
33688	return nil, false
33689}
33690
33691// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33692func (noe NodeOpeningEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
33693	return nil, false
33694}
33695
33696// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33697func (noe NodeOpeningEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
33698	return nil, false
33699}
33700
33701// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33702func (noe NodeOpeningEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
33703	return nil, false
33704}
33705
33706// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33707func (noe NodeOpeningEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
33708	return nil, false
33709}
33710
33711// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33712func (noe NodeOpeningEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
33713	return nil, false
33714}
33715
33716// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33717func (noe NodeOpeningEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
33718	return nil, false
33719}
33720
33721// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33722func (noe NodeOpeningEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
33723	return nil, false
33724}
33725
33726// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33727func (noe NodeOpeningEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
33728	return nil, false
33729}
33730
33731// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33732func (noe NodeOpeningEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
33733	return nil, false
33734}
33735
33736// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33737func (noe NodeOpeningEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
33738	return nil, false
33739}
33740
33741// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33742func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
33743	return nil, false
33744}
33745
33746// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33747func (noe NodeOpeningEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
33748	return nil, false
33749}
33750
33751// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33752func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
33753	return nil, false
33754}
33755
33756// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33757func (noe NodeOpeningEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
33758	return nil, false
33759}
33760
33761// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33762func (noe NodeOpeningEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
33763	return nil, false
33764}
33765
33766// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33767func (noe NodeOpeningEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
33768	return nil, false
33769}
33770
33771// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33772func (noe NodeOpeningEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
33773	return nil, false
33774}
33775
33776// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33777func (noe NodeOpeningEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
33778	return nil, false
33779}
33780
33781// AsFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33782func (noe NodeOpeningEvent) AsFabricEvent() (*FabricEvent, bool) {
33783	return nil, false
33784}
33785
33786// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeOpeningEvent.
33787func (noe NodeOpeningEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
33788	return &noe, true
33789}
33790
33791// NodeRemovedEvent node Removed event.
33792type NodeRemovedEvent struct {
33793	// NodeID - Id of Node.
33794	NodeID *string `json:"NodeId,omitempty"`
33795	// NodeInstance - Id of Node instance.
33796	NodeInstance *int64 `json:"NodeInstance,omitempty"`
33797	// NodeType - Type of Node.
33798	NodeType *string `json:"NodeType,omitempty"`
33799	// FabricVersion - Fabric version.
33800	FabricVersion *string `json:"FabricVersion,omitempty"`
33801	// IPAddressOrFQDN - IP address or FQDN.
33802	IPAddressOrFQDN *string `json:"IpAddressOrFQDN,omitempty"`
33803	// NodeCapacities - Capacities.
33804	NodeCapacities *string `json:"NodeCapacities,omitempty"`
33805	// NodeName - The name of a Service Fabric node.
33806	NodeName *string `json:"NodeName,omitempty"`
33807	// EventInstanceID - The identifier for the FabricEvent instance.
33808	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
33809	// TimeStamp - The time event was logged.
33810	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
33811	// HasCorrelatedEvents - Shows there is existing related events available.
33812	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
33813	// 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'
33814	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
33815}
33816
33817// MarshalJSON is the custom marshaler for NodeRemovedEvent.
33818func (nre NodeRemovedEvent) MarshalJSON() ([]byte, error) {
33819	nre.Kind = KindNodeRemoved
33820	objectMap := make(map[string]interface{})
33821	if nre.NodeID != nil {
33822		objectMap["NodeId"] = nre.NodeID
33823	}
33824	if nre.NodeInstance != nil {
33825		objectMap["NodeInstance"] = nre.NodeInstance
33826	}
33827	if nre.NodeType != nil {
33828		objectMap["NodeType"] = nre.NodeType
33829	}
33830	if nre.FabricVersion != nil {
33831		objectMap["FabricVersion"] = nre.FabricVersion
33832	}
33833	if nre.IPAddressOrFQDN != nil {
33834		objectMap["IpAddressOrFQDN"] = nre.IPAddressOrFQDN
33835	}
33836	if nre.NodeCapacities != nil {
33837		objectMap["NodeCapacities"] = nre.NodeCapacities
33838	}
33839	if nre.NodeName != nil {
33840		objectMap["NodeName"] = nre.NodeName
33841	}
33842	if nre.EventInstanceID != nil {
33843		objectMap["EventInstanceId"] = nre.EventInstanceID
33844	}
33845	if nre.TimeStamp != nil {
33846		objectMap["TimeStamp"] = nre.TimeStamp
33847	}
33848	if nre.HasCorrelatedEvents != nil {
33849		objectMap["HasCorrelatedEvents"] = nre.HasCorrelatedEvents
33850	}
33851	if nre.Kind != "" {
33852		objectMap["Kind"] = nre.Kind
33853	}
33854	return json.Marshal(objectMap)
33855}
33856
33857// AsApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33858func (nre NodeRemovedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
33859	return nil, false
33860}
33861
33862// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33863func (nre NodeRemovedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
33864	return nil, false
33865}
33866
33867// AsClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33868func (nre NodeRemovedEvent) AsClusterEvent() (*ClusterEvent, bool) {
33869	return nil, false
33870}
33871
33872// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33873func (nre NodeRemovedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
33874	return nil, false
33875}
33876
33877// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33878func (nre NodeRemovedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
33879	return nil, false
33880}
33881
33882// AsNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33883func (nre NodeRemovedEvent) AsNodeEvent() (*NodeEvent, bool) {
33884	return nil, false
33885}
33886
33887// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33888func (nre NodeRemovedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
33889	return &nre, true
33890}
33891
33892// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33893func (nre NodeRemovedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
33894	return nil, false
33895}
33896
33897// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33898func (nre NodeRemovedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
33899	return nil, false
33900}
33901
33902// AsPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33903func (nre NodeRemovedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
33904	return nil, false
33905}
33906
33907// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33908func (nre NodeRemovedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
33909	return nil, false
33910}
33911
33912// AsReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33913func (nre NodeRemovedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
33914	return nil, false
33915}
33916
33917// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33918func (nre NodeRemovedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
33919	return nil, false
33920}
33921
33922// AsServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33923func (nre NodeRemovedEvent) AsServiceEvent() (*ServiceEvent, bool) {
33924	return nil, false
33925}
33926
33927// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33928func (nre NodeRemovedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
33929	return nil, false
33930}
33931
33932// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33933func (nre NodeRemovedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
33934	return nil, false
33935}
33936
33937// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33938func (nre NodeRemovedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
33939	return nil, false
33940}
33941
33942// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33943func (nre NodeRemovedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
33944	return nil, false
33945}
33946
33947// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33948func (nre NodeRemovedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
33949	return nil, false
33950}
33951
33952// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33953func (nre NodeRemovedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
33954	return nil, false
33955}
33956
33957// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33958func (nre NodeRemovedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
33959	return nil, false
33960}
33961
33962// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33963func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
33964	return nil, false
33965}
33966
33967// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33968func (nre NodeRemovedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
33969	return nil, false
33970}
33971
33972// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33973func (nre NodeRemovedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
33974	return nil, false
33975}
33976
33977// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33978func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
33979	return nil, false
33980}
33981
33982// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33983func (nre NodeRemovedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
33984	return nil, false
33985}
33986
33987// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33988func (nre NodeRemovedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
33989	return nil, false
33990}
33991
33992// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33993func (nre NodeRemovedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
33994	return nil, false
33995}
33996
33997// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
33998func (nre NodeRemovedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
33999	return nil, false
34000}
34001
34002// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34003func (nre NodeRemovedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
34004	return nil, false
34005}
34006
34007// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34008func (nre NodeRemovedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
34009	return nil, false
34010}
34011
34012// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34013func (nre NodeRemovedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
34014	return nil, false
34015}
34016
34017// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34018func (nre NodeRemovedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
34019	return nil, false
34020}
34021
34022// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34023func (nre NodeRemovedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
34024	return nil, false
34025}
34026
34027// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34028func (nre NodeRemovedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
34029	return nil, false
34030}
34031
34032// AsNodeDownEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34033func (nre NodeRemovedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
34034	return nil, false
34035}
34036
34037// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34038func (nre NodeRemovedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
34039	return nil, false
34040}
34041
34042// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34043func (nre NodeRemovedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
34044	return nil, false
34045}
34046
34047// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34048func (nre NodeRemovedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
34049	return nil, false
34050}
34051
34052// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34053func (nre NodeRemovedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
34054	return nil, false
34055}
34056
34057// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34058func (nre NodeRemovedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
34059	return nil, false
34060}
34061
34062// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34063func (nre NodeRemovedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
34064	return &nre, true
34065}
34066
34067// AsNodeUpEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34068func (nre NodeRemovedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
34069	return nil, false
34070}
34071
34072// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34073func (nre NodeRemovedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
34074	return nil, false
34075}
34076
34077// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34078func (nre NodeRemovedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
34079	return nil, false
34080}
34081
34082// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34083func (nre NodeRemovedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
34084	return nil, false
34085}
34086
34087// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34088func (nre NodeRemovedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
34089	return nil, false
34090}
34091
34092// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34093func (nre NodeRemovedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
34094	return nil, false
34095}
34096
34097// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34098func (nre NodeRemovedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
34099	return nil, false
34100}
34101
34102// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34103func (nre NodeRemovedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
34104	return nil, false
34105}
34106
34107// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34108func (nre NodeRemovedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
34109	return nil, false
34110}
34111
34112// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34113func (nre NodeRemovedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
34114	return nil, false
34115}
34116
34117// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34118func (nre NodeRemovedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
34119	return nil, false
34120}
34121
34122// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34123func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
34124	return nil, false
34125}
34126
34127// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34128func (nre NodeRemovedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
34129	return nil, false
34130}
34131
34132// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34133func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
34134	return nil, false
34135}
34136
34137// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34138func (nre NodeRemovedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
34139	return nil, false
34140}
34141
34142// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34143func (nre NodeRemovedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
34144	return nil, false
34145}
34146
34147// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34148func (nre NodeRemovedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
34149	return nil, false
34150}
34151
34152// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34153func (nre NodeRemovedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
34154	return nil, false
34155}
34156
34157// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34158func (nre NodeRemovedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
34159	return nil, false
34160}
34161
34162// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34163func (nre NodeRemovedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
34164	return nil, false
34165}
34166
34167// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34168func (nre NodeRemovedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
34169	return nil, false
34170}
34171
34172// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34173func (nre NodeRemovedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
34174	return nil, false
34175}
34176
34177// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34178func (nre NodeRemovedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
34179	return nil, false
34180}
34181
34182// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34183func (nre NodeRemovedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
34184	return nil, false
34185}
34186
34187// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34188func (nre NodeRemovedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
34189	return nil, false
34190}
34191
34192// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34193func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
34194	return nil, false
34195}
34196
34197// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34198func (nre NodeRemovedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
34199	return nil, false
34200}
34201
34202// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34203func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
34204	return nil, false
34205}
34206
34207// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34208func (nre NodeRemovedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
34209	return nil, false
34210}
34211
34212// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34213func (nre NodeRemovedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
34214	return nil, false
34215}
34216
34217// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34218func (nre NodeRemovedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
34219	return nil, false
34220}
34221
34222// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34223func (nre NodeRemovedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
34224	return nil, false
34225}
34226
34227// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34228func (nre NodeRemovedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
34229	return nil, false
34230}
34231
34232// AsFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34233func (nre NodeRemovedEvent) AsFabricEvent() (*FabricEvent, bool) {
34234	return nil, false
34235}
34236
34237// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeRemovedEvent.
34238func (nre NodeRemovedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
34239	return &nre, true
34240}
34241
34242// NodeRepairImpactDescription describes the expected impact of a repair on a set of nodes.
34243//
34244// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
34245type NodeRepairImpactDescription struct {
34246	// NodeImpactList - The list of nodes impacted by a repair action and their respective expected impact.
34247	NodeImpactList *[]NodeImpact `json:"NodeImpactList,omitempty"`
34248	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
34249	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
34250}
34251
34252// MarshalJSON is the custom marshaler for NodeRepairImpactDescription.
34253func (nrid NodeRepairImpactDescription) MarshalJSON() ([]byte, error) {
34254	nrid.Kind = KindBasicRepairImpactDescriptionBaseKindNode
34255	objectMap := make(map[string]interface{})
34256	if nrid.NodeImpactList != nil {
34257		objectMap["NodeImpactList"] = nrid.NodeImpactList
34258	}
34259	if nrid.Kind != "" {
34260		objectMap["Kind"] = nrid.Kind
34261	}
34262	return json.Marshal(objectMap)
34263}
34264
34265// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
34266func (nrid NodeRepairImpactDescription) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
34267	return &nrid, true
34268}
34269
34270// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
34271func (nrid NodeRepairImpactDescription) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
34272	return nil, false
34273}
34274
34275// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for NodeRepairImpactDescription.
34276func (nrid NodeRepairImpactDescription) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
34277	return &nrid, true
34278}
34279
34280// NodeRepairTargetDescription describes the list of nodes targeted by a repair action.
34281//
34282// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
34283type NodeRepairTargetDescription struct {
34284	// NodeNames - The list of nodes targeted by a repair action.
34285	NodeNames *[]string `json:"NodeNames,omitempty"`
34286	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
34287	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
34288}
34289
34290// MarshalJSON is the custom marshaler for NodeRepairTargetDescription.
34291func (nrtd NodeRepairTargetDescription) MarshalJSON() ([]byte, error) {
34292	nrtd.Kind = KindBasicRepairTargetDescriptionBaseKindNode
34293	objectMap := make(map[string]interface{})
34294	if nrtd.NodeNames != nil {
34295		objectMap["NodeNames"] = nrtd.NodeNames
34296	}
34297	if nrtd.Kind != "" {
34298		objectMap["Kind"] = nrtd.Kind
34299	}
34300	return json.Marshal(objectMap)
34301}
34302
34303// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
34304func (nrtd NodeRepairTargetDescription) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
34305	return &nrtd, true
34306}
34307
34308// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
34309func (nrtd NodeRepairTargetDescription) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
34310	return nil, false
34311}
34312
34313// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for NodeRepairTargetDescription.
34314func (nrtd NodeRepairTargetDescription) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
34315	return &nrtd, true
34316}
34317
34318// NodeResult contains information about a node that was targeted by a user-induced operation.
34319type NodeResult struct {
34320	// NodeName - The name of a Service Fabric node.
34321	NodeName *string `json:"NodeName,omitempty"`
34322	// NodeInstanceID - The node instance id.
34323	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
34324}
34325
34326// NodesHealthEvaluation represents health evaluation for nodes, containing health evaluations for each
34327// unhealthy node that impacted current aggregated health state. Can be returned when evaluating cluster
34328// health and the aggregated health state is either Error or Warning.
34329type NodesHealthEvaluation struct {
34330	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
34331	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
34332	// TotalCount - Total number of nodes found in the health store.
34333	TotalCount *int64 `json:"TotalCount,omitempty"`
34334	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
34335	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
34336	// 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'
34337	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
34338	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
34339	Description *string `json:"Description,omitempty"`
34340	// 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'
34341	Kind Kind `json:"Kind,omitempty"`
34342}
34343
34344// MarshalJSON is the custom marshaler for NodesHealthEvaluation.
34345func (nhe NodesHealthEvaluation) MarshalJSON() ([]byte, error) {
34346	nhe.Kind = KindNodes
34347	objectMap := make(map[string]interface{})
34348	if nhe.MaxPercentUnhealthyNodes != nil {
34349		objectMap["MaxPercentUnhealthyNodes"] = nhe.MaxPercentUnhealthyNodes
34350	}
34351	if nhe.TotalCount != nil {
34352		objectMap["TotalCount"] = nhe.TotalCount
34353	}
34354	if nhe.UnhealthyEvaluations != nil {
34355		objectMap["UnhealthyEvaluations"] = nhe.UnhealthyEvaluations
34356	}
34357	if nhe.AggregatedHealthState != "" {
34358		objectMap["AggregatedHealthState"] = nhe.AggregatedHealthState
34359	}
34360	if nhe.Description != nil {
34361		objectMap["Description"] = nhe.Description
34362	}
34363	if nhe.Kind != "" {
34364		objectMap["Kind"] = nhe.Kind
34365	}
34366	return json.Marshal(objectMap)
34367}
34368
34369// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34370func (nhe NodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
34371	return nil, false
34372}
34373
34374// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34375func (nhe NodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
34376	return nil, false
34377}
34378
34379// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34380func (nhe NodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
34381	return nil, false
34382}
34383
34384// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34385func (nhe NodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
34386	return nil, false
34387}
34388
34389// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34390func (nhe NodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
34391	return nil, false
34392}
34393
34394// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34395func (nhe NodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
34396	return nil, false
34397}
34398
34399// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34400func (nhe NodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
34401	return nil, false
34402}
34403
34404// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34405func (nhe NodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
34406	return nil, false
34407}
34408
34409// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34410func (nhe NodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
34411	return nil, false
34412}
34413
34414// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34415func (nhe NodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
34416	return nil, false
34417}
34418
34419// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34420func (nhe NodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
34421	return &nhe, true
34422}
34423
34424// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34425func (nhe NodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
34426	return nil, false
34427}
34428
34429// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34430func (nhe NodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
34431	return nil, false
34432}
34433
34434// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34435func (nhe NodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
34436	return nil, false
34437}
34438
34439// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34440func (nhe NodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
34441	return nil, false
34442}
34443
34444// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34445func (nhe NodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
34446	return nil, false
34447}
34448
34449// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34450func (nhe NodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
34451	return nil, false
34452}
34453
34454// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34455func (nhe NodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
34456	return nil, false
34457}
34458
34459// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34460func (nhe NodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
34461	return nil, false
34462}
34463
34464// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34465func (nhe NodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
34466	return nil, false
34467}
34468
34469// AsHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34470func (nhe NodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
34471	return nil, false
34472}
34473
34474// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for NodesHealthEvaluation.
34475func (nhe NodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
34476	return &nhe, true
34477}
34478
34479// NodeTransitionProgress information about an NodeTransition operation.  This class contains an
34480// OperationState and a NodeTransitionResult.  The NodeTransitionResult is not valid until OperationState
34481// is Completed or Faulted.
34482type NodeTransitionProgress struct {
34483	autorest.Response `json:"-"`
34484	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
34485	State OperationState `json:"State,omitempty"`
34486	// NodeTransitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
34487	NodeTransitionResult *NodeTransitionResult `json:"NodeTransitionResult,omitempty"`
34488}
34489
34490// NodeTransitionResult represents information about an operation in a terminal state (Completed or
34491// Faulted).
34492type NodeTransitionResult struct {
34493	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
34494	ErrorCode *int32 `json:"ErrorCode,omitempty"`
34495	// NodeResult - Contains information about a node that was targeted by a user-induced operation.
34496	NodeResult *NodeResult `json:"NodeResult,omitempty"`
34497}
34498
34499// NodeUpEvent node Up event.
34500type NodeUpEvent struct {
34501	// NodeInstance - Id of Node instance.
34502	NodeInstance *int64 `json:"NodeInstance,omitempty"`
34503	// LastNodeDownAt - Time when Node was last down.
34504	LastNodeDownAt *date.Time `json:"LastNodeDownAt,omitempty"`
34505	// NodeName - The name of a Service Fabric node.
34506	NodeName *string `json:"NodeName,omitempty"`
34507	// EventInstanceID - The identifier for the FabricEvent instance.
34508	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
34509	// TimeStamp - The time event was logged.
34510	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
34511	// HasCorrelatedEvents - Shows there is existing related events available.
34512	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
34513	// 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'
34514	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
34515}
34516
34517// MarshalJSON is the custom marshaler for NodeUpEvent.
34518func (nue NodeUpEvent) MarshalJSON() ([]byte, error) {
34519	nue.Kind = KindNodeUp
34520	objectMap := make(map[string]interface{})
34521	if nue.NodeInstance != nil {
34522		objectMap["NodeInstance"] = nue.NodeInstance
34523	}
34524	if nue.LastNodeDownAt != nil {
34525		objectMap["LastNodeDownAt"] = nue.LastNodeDownAt
34526	}
34527	if nue.NodeName != nil {
34528		objectMap["NodeName"] = nue.NodeName
34529	}
34530	if nue.EventInstanceID != nil {
34531		objectMap["EventInstanceId"] = nue.EventInstanceID
34532	}
34533	if nue.TimeStamp != nil {
34534		objectMap["TimeStamp"] = nue.TimeStamp
34535	}
34536	if nue.HasCorrelatedEvents != nil {
34537		objectMap["HasCorrelatedEvents"] = nue.HasCorrelatedEvents
34538	}
34539	if nue.Kind != "" {
34540		objectMap["Kind"] = nue.Kind
34541	}
34542	return json.Marshal(objectMap)
34543}
34544
34545// AsApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
34546func (nue NodeUpEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
34547	return nil, false
34548}
34549
34550// AsBasicApplicationEvent is the BasicFabricEvent implementation for NodeUpEvent.
34551func (nue NodeUpEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
34552	return nil, false
34553}
34554
34555// AsClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
34556func (nue NodeUpEvent) AsClusterEvent() (*ClusterEvent, bool) {
34557	return nil, false
34558}
34559
34560// AsBasicClusterEvent is the BasicFabricEvent implementation for NodeUpEvent.
34561func (nue NodeUpEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
34562	return nil, false
34563}
34564
34565// AsContainerInstanceEvent is the BasicFabricEvent implementation for NodeUpEvent.
34566func (nue NodeUpEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
34567	return nil, false
34568}
34569
34570// AsNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
34571func (nue NodeUpEvent) AsNodeEvent() (*NodeEvent, bool) {
34572	return nil, false
34573}
34574
34575// AsBasicNodeEvent is the BasicFabricEvent implementation for NodeUpEvent.
34576func (nue NodeUpEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
34577	return &nue, true
34578}
34579
34580// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
34581func (nue NodeUpEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
34582	return nil, false
34583}
34584
34585// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
34586func (nue NodeUpEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
34587	return nil, false
34588}
34589
34590// AsPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
34591func (nue NodeUpEvent) AsPartitionEvent() (*PartitionEvent, bool) {
34592	return nil, false
34593}
34594
34595// AsBasicPartitionEvent is the BasicFabricEvent implementation for NodeUpEvent.
34596func (nue NodeUpEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
34597	return nil, false
34598}
34599
34600// AsReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
34601func (nue NodeUpEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
34602	return nil, false
34603}
34604
34605// AsBasicReplicaEvent is the BasicFabricEvent implementation for NodeUpEvent.
34606func (nue NodeUpEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
34607	return nil, false
34608}
34609
34610// AsServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
34611func (nue NodeUpEvent) AsServiceEvent() (*ServiceEvent, bool) {
34612	return nil, false
34613}
34614
34615// AsBasicServiceEvent is the BasicFabricEvent implementation for NodeUpEvent.
34616func (nue NodeUpEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
34617	return nil, false
34618}
34619
34620// AsApplicationCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34621func (nue NodeUpEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
34622	return nil, false
34623}
34624
34625// AsApplicationDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34626func (nue NodeUpEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
34627	return nil, false
34628}
34629
34630// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34631func (nue NodeUpEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
34632	return nil, false
34633}
34634
34635// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34636func (nue NodeUpEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
34637	return nil, false
34638}
34639
34640// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34641func (nue NodeUpEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
34642	return nil, false
34643}
34644
34645// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34646func (nue NodeUpEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
34647	return nil, false
34648}
34649
34650// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34651func (nue NodeUpEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
34652	return nil, false
34653}
34654
34655// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34656func (nue NodeUpEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
34657	return nil, false
34658}
34659
34660// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34661func (nue NodeUpEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
34662	return nil, false
34663}
34664
34665// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34666func (nue NodeUpEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
34667	return nil, false
34668}
34669
34670// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34671func (nue NodeUpEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
34672	return nil, false
34673}
34674
34675// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34676func (nue NodeUpEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
34677	return nil, false
34678}
34679
34680// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34681func (nue NodeUpEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
34682	return nil, false
34683}
34684
34685// AsNodeAbortedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34686func (nue NodeUpEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
34687	return nil, false
34688}
34689
34690// AsNodeAbortingEvent is the BasicFabricEvent implementation for NodeUpEvent.
34691func (nue NodeUpEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
34692	return nil, false
34693}
34694
34695// AsNodeAddedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34696func (nue NodeUpEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
34697	return nil, false
34698}
34699
34700// AsNodeCloseEvent is the BasicFabricEvent implementation for NodeUpEvent.
34701func (nue NodeUpEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
34702	return nil, false
34703}
34704
34705// AsNodeClosingEvent is the BasicFabricEvent implementation for NodeUpEvent.
34706func (nue NodeUpEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
34707	return nil, false
34708}
34709
34710// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34711func (nue NodeUpEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
34712	return nil, false
34713}
34714
34715// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34716func (nue NodeUpEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
34717	return nil, false
34718}
34719
34720// AsNodeDownEvent is the BasicFabricEvent implementation for NodeUpEvent.
34721func (nue NodeUpEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
34722	return nil, false
34723}
34724
34725// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34726func (nue NodeUpEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
34727	return nil, false
34728}
34729
34730// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34731func (nue NodeUpEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
34732	return nil, false
34733}
34734
34735// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for NodeUpEvent.
34736func (nue NodeUpEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
34737	return nil, false
34738}
34739
34740// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34741func (nue NodeUpEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
34742	return nil, false
34743}
34744
34745// AsNodeOpeningEvent is the BasicFabricEvent implementation for NodeUpEvent.
34746func (nue NodeUpEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
34747	return nil, false
34748}
34749
34750// AsNodeRemovedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34751func (nue NodeUpEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
34752	return nil, false
34753}
34754
34755// AsNodeUpEvent is the BasicFabricEvent implementation for NodeUpEvent.
34756func (nue NodeUpEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
34757	return &nue, true
34758}
34759
34760// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34761func (nue NodeUpEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
34762	return nil, false
34763}
34764
34765// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34766func (nue NodeUpEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
34767	return nil, false
34768}
34769
34770// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34771func (nue NodeUpEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
34772	return nil, false
34773}
34774
34775// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for NodeUpEvent.
34776func (nue NodeUpEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
34777	return nil, false
34778}
34779
34780// AsServiceCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34781func (nue NodeUpEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
34782	return nil, false
34783}
34784
34785// AsServiceDeletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34786func (nue NodeUpEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
34787	return nil, false
34788}
34789
34790// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34791func (nue NodeUpEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
34792	return nil, false
34793}
34794
34795// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34796func (nue NodeUpEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
34797	return nil, false
34798}
34799
34800// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34801func (nue NodeUpEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
34802	return nil, false
34803}
34804
34805// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34806func (nue NodeUpEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
34807	return nil, false
34808}
34809
34810// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34811func (nue NodeUpEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
34812	return nil, false
34813}
34814
34815// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34816func (nue NodeUpEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
34817	return nil, false
34818}
34819
34820// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34821func (nue NodeUpEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
34822	return nil, false
34823}
34824
34825// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34826func (nue NodeUpEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
34827	return nil, false
34828}
34829
34830// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34831func (nue NodeUpEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
34832	return nil, false
34833}
34834
34835// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for NodeUpEvent.
34836func (nue NodeUpEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
34837	return nil, false
34838}
34839
34840// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34841func (nue NodeUpEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
34842	return nil, false
34843}
34844
34845// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34846func (nue NodeUpEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
34847	return nil, false
34848}
34849
34850// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for NodeUpEvent.
34851func (nue NodeUpEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
34852	return nil, false
34853}
34854
34855// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34856func (nue NodeUpEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
34857	return nil, false
34858}
34859
34860// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for NodeUpEvent.
34861func (nue NodeUpEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
34862	return nil, false
34863}
34864
34865// AsChaosStoppedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34866func (nue NodeUpEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
34867	return nil, false
34868}
34869
34870// AsChaosStartedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34871func (nue NodeUpEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
34872	return nil, false
34873}
34874
34875// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34876func (nue NodeUpEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
34877	return nil, false
34878}
34879
34880// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34881func (nue NodeUpEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
34882	return nil, false
34883}
34884
34885// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34886func (nue NodeUpEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
34887	return nil, false
34888}
34889
34890// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34891func (nue NodeUpEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
34892	return nil, false
34893}
34894
34895// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for NodeUpEvent.
34896func (nue NodeUpEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
34897	return nil, false
34898}
34899
34900// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34901func (nue NodeUpEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
34902	return nil, false
34903}
34904
34905// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34906func (nue NodeUpEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
34907	return nil, false
34908}
34909
34910// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34911func (nue NodeUpEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
34912	return nil, false
34913}
34914
34915// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for NodeUpEvent.
34916func (nue NodeUpEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
34917	return nil, false
34918}
34919
34920// AsFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
34921func (nue NodeUpEvent) AsFabricEvent() (*FabricEvent, bool) {
34922	return nil, false
34923}
34924
34925// AsBasicFabricEvent is the BasicFabricEvent implementation for NodeUpEvent.
34926func (nue NodeUpEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
34927	return &nue, true
34928}
34929
34930// NodeUpgradeProgressInfo information about the upgrading node and its status
34931type NodeUpgradeProgressInfo struct {
34932	// NodeName - The name of a Service Fabric node.
34933	NodeName *string `json:"NodeName,omitempty"`
34934	// UpgradePhase - The state of the upgrading node. Possible values include: 'NodeUpgradePhaseInvalid', 'NodeUpgradePhasePreUpgradeSafetyCheck', 'NodeUpgradePhaseUpgrading', 'NodeUpgradePhasePostUpgradeSafetyCheck'
34935	UpgradePhase NodeUpgradePhase `json:"UpgradePhase,omitempty"`
34936	// PendingSafetyChecks - List of pending safety checks
34937	PendingSafetyChecks *[]SafetyCheckWrapper `json:"PendingSafetyChecks,omitempty"`
34938}
34939
34940// OperationStatus contains the OperationId, OperationState, and OperationType for user-induced operations.
34941type OperationStatus struct {
34942	// OperationID - A GUID that identifies a call to this API.  This is also passed into the corresponding GetProgress API.
34943	OperationID *uuid.UUID `json:"OperationId,omitempty"`
34944	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
34945	State OperationState `json:"State,omitempty"`
34946	// Type - The type of the operation. Possible values include: 'OperationTypeInvalid', 'OperationTypePartitionDataLoss', 'OperationTypePartitionQuorumLoss', 'OperationTypePartitionRestart', 'OperationTypeNodeTransition'
34947	Type OperationType `json:"Type,omitempty"`
34948}
34949
34950// PackageSharingPolicyInfo represents a policy for the package sharing.
34951type PackageSharingPolicyInfo struct {
34952	// SharedPackageName - The name of code, configuration or data package that should be shared.
34953	SharedPackageName *string `json:"SharedPackageName,omitempty"`
34954	// PackageSharingScope - Represents the scope for PackageSharingPolicy. This is specified during DeployServicePackageToNode operation. Possible values include: 'PackageSharingPolicyScopeNone', 'PackageSharingPolicyScopeAll', 'PackageSharingPolicyScopeCode', 'PackageSharingPolicyScopeConfig', 'PackageSharingPolicyScopeData'
34955	PackageSharingScope PackageSharingPolicyScope `json:"PackageSharingScope,omitempty"`
34956}
34957
34958// PagedApplicationInfoList the list of applications in the cluster. The list is paged when all of the
34959// results cannot fit in a single message. The next set of results can be obtained by executing the same
34960// query with the continuation token provided in this list.
34961type PagedApplicationInfoList struct {
34962	autorest.Response `json:"-"`
34963	// 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.
34964	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34965	// Items - List of application information.
34966	Items *[]ApplicationInfo `json:"Items,omitempty"`
34967}
34968
34969// PagedApplicationTypeInfoList the list of application types that are provisioned or being provisioned in
34970// the cluster. The list is paged when all of the results cannot fit in a single message. The next set of
34971// results can be obtained by executing the same query with the continuation token provided in this list.
34972type PagedApplicationTypeInfoList struct {
34973	autorest.Response `json:"-"`
34974	// 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.
34975	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34976	// Items - List of application type information.
34977	Items *[]ApplicationTypeInfo `json:"Items,omitempty"`
34978}
34979
34980// PagedBackupConfigurationInfoList the list of backup configuration information. The list is paged when
34981// all of the results cannot fit in a single message. The next set of results can be obtained by executing
34982// the same query with the continuation token provided in this list.
34983type PagedBackupConfigurationInfoList struct {
34984	autorest.Response `json:"-"`
34985	// 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.
34986	ContinuationToken *string `json:"ContinuationToken,omitempty"`
34987	// Items - List of backup configuration information.
34988	Items *[]BasicBackupConfigurationInfo `json:"Items,omitempty"`
34989}
34990
34991// UnmarshalJSON is the custom unmarshaler for PagedBackupConfigurationInfoList struct.
34992func (pbcil *PagedBackupConfigurationInfoList) UnmarshalJSON(body []byte) error {
34993	var m map[string]*json.RawMessage
34994	err := json.Unmarshal(body, &m)
34995	if err != nil {
34996		return err
34997	}
34998	for k, v := range m {
34999		switch k {
35000		case "ContinuationToken":
35001			if v != nil {
35002				var continuationToken string
35003				err = json.Unmarshal(*v, &continuationToken)
35004				if err != nil {
35005					return err
35006				}
35007				pbcil.ContinuationToken = &continuationToken
35008			}
35009		case "Items":
35010			if v != nil {
35011				items, err := unmarshalBasicBackupConfigurationInfoArray(*v)
35012				if err != nil {
35013					return err
35014				}
35015				pbcil.Items = &items
35016			}
35017		}
35018	}
35019
35020	return nil
35021}
35022
35023// PagedBackupEntityList the list of backup entities that are being periodically backed. The list is paged
35024// when all of the results cannot fit in a single message. The next set of results can be obtained by
35025// executing the same query with the continuation token provided in this list.
35026type PagedBackupEntityList struct {
35027	autorest.Response `json:"-"`
35028	// 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.
35029	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35030	// Items - List of backup entity information.
35031	Items *[]BasicBackupEntity `json:"Items,omitempty"`
35032}
35033
35034// UnmarshalJSON is the custom unmarshaler for PagedBackupEntityList struct.
35035func (pbel *PagedBackupEntityList) UnmarshalJSON(body []byte) error {
35036	var m map[string]*json.RawMessage
35037	err := json.Unmarshal(body, &m)
35038	if err != nil {
35039		return err
35040	}
35041	for k, v := range m {
35042		switch k {
35043		case "ContinuationToken":
35044			if v != nil {
35045				var continuationToken string
35046				err = json.Unmarshal(*v, &continuationToken)
35047				if err != nil {
35048					return err
35049				}
35050				pbel.ContinuationToken = &continuationToken
35051			}
35052		case "Items":
35053			if v != nil {
35054				items, err := unmarshalBasicBackupEntityArray(*v)
35055				if err != nil {
35056					return err
35057				}
35058				pbel.Items = &items
35059			}
35060		}
35061	}
35062
35063	return nil
35064}
35065
35066// PagedBackupInfoList the list of backups. The list is paged when all of the results cannot fit in a
35067// single message. The next set of results can be obtained by executing the same query with the
35068// continuation token provided in this list.
35069type PagedBackupInfoList struct {
35070	autorest.Response `json:"-"`
35071	// 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.
35072	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35073	// Items - List of backup information.
35074	Items *[]BackupInfo `json:"Items,omitempty"`
35075}
35076
35077// PagedBackupPolicyDescriptionList the list of backup policies configured in the cluster. The list is
35078// paged when all of the results cannot fit in a single message. The next set of results can be obtained by
35079// executing the same query with the continuation token provided in this list.
35080type PagedBackupPolicyDescriptionList struct {
35081	autorest.Response `json:"-"`
35082	// 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.
35083	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35084	// Items - The list of backup policies information.
35085	Items *[]BackupPolicyDescription `json:"Items,omitempty"`
35086}
35087
35088// PagedComposeDeploymentStatusInfoList the list of compose deployments in the cluster. The list is paged
35089// when all of the results cannot fit in a single message. The next set of results can be obtained by
35090// executing the same query with the continuation token provided in this list.
35091type PagedComposeDeploymentStatusInfoList struct {
35092	autorest.Response `json:"-"`
35093	// 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.
35094	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35095	// Items - List of compose deployment status information.
35096	Items *[]ComposeDeploymentStatusInfo `json:"Items,omitempty"`
35097}
35098
35099// PagedDeployedApplicationInfoList the list of deployed applications in activating, downloading, or active
35100// states on a node.
35101// The list is paged when all of the results cannot fit in a single message.
35102// The next set of results can be obtained by executing the same query with the continuation token provided
35103// in this list.
35104type PagedDeployedApplicationInfoList struct {
35105	autorest.Response `json:"-"`
35106	// 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.
35107	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35108	// Items - List of deployed application information.
35109	Items *[]DeployedApplicationInfo `json:"Items,omitempty"`
35110}
35111
35112// PagedNodeInfoList the list of nodes in the cluster. The list is paged when all of the results cannot fit
35113// in a single message. The next set of results can be obtained by executing the same query with the
35114// continuation token provided in this list.
35115type PagedNodeInfoList struct {
35116	autorest.Response `json:"-"`
35117	// 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.
35118	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35119	// Items - List of node information.
35120	Items *[]NodeInfo `json:"Items,omitempty"`
35121}
35122
35123// PagedPropertyInfoList the paged list of Service Fabric properties under a given name. The list is paged
35124// when all of the results cannot fit in a single message. The next set of results can be obtained by
35125// executing the same query with the continuation token provided in this list.
35126type PagedPropertyInfoList struct {
35127	autorest.Response `json:"-"`
35128	// 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.
35129	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35130	// 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.
35131	IsConsistent *bool `json:"IsConsistent,omitempty"`
35132	// Properties - List of property information.
35133	Properties *[]PropertyInfo `json:"Properties,omitempty"`
35134}
35135
35136// PagedReplicaInfoList the list of replicas in the cluster for a given partition. The list is paged when
35137// all of the results cannot fit in a single message. The next set of results can be obtained by executing
35138// the same query with the continuation token provided in this list.
35139type PagedReplicaInfoList struct {
35140	autorest.Response `json:"-"`
35141	// 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.
35142	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35143	// Items - List of replica information.
35144	Items *[]BasicReplicaInfo `json:"Items,omitempty"`
35145}
35146
35147// UnmarshalJSON is the custom unmarshaler for PagedReplicaInfoList struct.
35148func (pril *PagedReplicaInfoList) UnmarshalJSON(body []byte) error {
35149	var m map[string]*json.RawMessage
35150	err := json.Unmarshal(body, &m)
35151	if err != nil {
35152		return err
35153	}
35154	for k, v := range m {
35155		switch k {
35156		case "ContinuationToken":
35157			if v != nil {
35158				var continuationToken string
35159				err = json.Unmarshal(*v, &continuationToken)
35160				if err != nil {
35161					return err
35162				}
35163				pril.ContinuationToken = &continuationToken
35164			}
35165		case "Items":
35166			if v != nil {
35167				items, err := unmarshalBasicReplicaInfoArray(*v)
35168				if err != nil {
35169					return err
35170				}
35171				pril.Items = &items
35172			}
35173		}
35174	}
35175
35176	return nil
35177}
35178
35179// PagedServiceInfoList the list of services in the cluster for an application. The list is paged when all
35180// of the results cannot fit in a single message. The next set of results can be obtained by executing the
35181// same query with the continuation token provided in this list.
35182type PagedServiceInfoList struct {
35183	autorest.Response `json:"-"`
35184	// 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.
35185	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35186	// Items - List of service information.
35187	Items *[]BasicServiceInfo `json:"Items,omitempty"`
35188}
35189
35190// UnmarshalJSON is the custom unmarshaler for PagedServiceInfoList struct.
35191func (psil *PagedServiceInfoList) UnmarshalJSON(body []byte) error {
35192	var m map[string]*json.RawMessage
35193	err := json.Unmarshal(body, &m)
35194	if err != nil {
35195		return err
35196	}
35197	for k, v := range m {
35198		switch k {
35199		case "ContinuationToken":
35200			if v != nil {
35201				var continuationToken string
35202				err = json.Unmarshal(*v, &continuationToken)
35203				if err != nil {
35204					return err
35205				}
35206				psil.ContinuationToken = &continuationToken
35207			}
35208		case "Items":
35209			if v != nil {
35210				items, err := unmarshalBasicServiceInfoArray(*v)
35211				if err != nil {
35212					return err
35213				}
35214				psil.Items = &items
35215			}
35216		}
35217	}
35218
35219	return nil
35220}
35221
35222// PagedServicePartitionInfoList the list of partition in the cluster for a service. The list is paged when
35223// all of the results cannot fit in a single message. The next set of results can be obtained by executing
35224// the same query with the continuation token provided in this list.
35225type PagedServicePartitionInfoList struct {
35226	autorest.Response `json:"-"`
35227	// 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.
35228	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35229	// Items - List of service partition information.
35230	Items *[]BasicServicePartitionInfo `json:"Items,omitempty"`
35231}
35232
35233// UnmarshalJSON is the custom unmarshaler for PagedServicePartitionInfoList struct.
35234func (pspil *PagedServicePartitionInfoList) UnmarshalJSON(body []byte) error {
35235	var m map[string]*json.RawMessage
35236	err := json.Unmarshal(body, &m)
35237	if err != nil {
35238		return err
35239	}
35240	for k, v := range m {
35241		switch k {
35242		case "ContinuationToken":
35243			if v != nil {
35244				var continuationToken string
35245				err = json.Unmarshal(*v, &continuationToken)
35246				if err != nil {
35247					return err
35248				}
35249				pspil.ContinuationToken = &continuationToken
35250			}
35251		case "Items":
35252			if v != nil {
35253				items, err := unmarshalBasicServicePartitionInfoArray(*v)
35254				if err != nil {
35255					return err
35256				}
35257				pspil.Items = &items
35258			}
35259		}
35260	}
35261
35262	return nil
35263}
35264
35265// PagedServiceResourceDescriptionList the list of service resources in the cluster. The list is paged when
35266// all of the results cannot fit in a single message. The next set of results can be obtained by executing
35267// the same query with the continuation token provided in this list.
35268type PagedServiceResourceDescriptionList struct {
35269	autorest.Response `json:"-"`
35270	// 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.
35271	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35272	// Items - List of service resource description.
35273	Items *[]ServiceResourceDescription `json:"Items,omitempty"`
35274}
35275
35276// PagedServiceResourceReplicaDescriptionList the list of service resources in the cluster. The list is
35277// paged when all of the results cannot fit in a single message. The next set of results can be obtained by
35278// executing the same query with the continuation token provided in this list.
35279type PagedServiceResourceReplicaDescriptionList struct {
35280	autorest.Response `json:"-"`
35281	// 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.
35282	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35283	// Items - List of service resource description.
35284	Items *[]ServiceResourceReplicaDescription `json:"Items,omitempty"`
35285}
35286
35287// PagedSubNameInfoList a paged list of Service Fabric names. The list is paged when all of the results
35288// cannot fit in a single message. The next set of results can be obtained by executing the same query with
35289// the continuation token provided in this list.
35290type PagedSubNameInfoList struct {
35291	autorest.Response `json:"-"`
35292	// 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.
35293	ContinuationToken *string `json:"ContinuationToken,omitempty"`
35294	// 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.
35295	IsConsistent *bool `json:"IsConsistent,omitempty"`
35296	// SubNames - List of the child names.
35297	SubNames *[]string `json:"SubNames,omitempty"`
35298}
35299
35300// BasicPartitionAnalysisEvent represents the base for all Partition Analysis Events.
35301type BasicPartitionAnalysisEvent interface {
35302	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
35303	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
35304}
35305
35306// PartitionAnalysisEvent represents the base for all Partition Analysis Events.
35307type PartitionAnalysisEvent struct {
35308	// Metadata - Metadata about an Analysis Event.
35309	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
35310	// 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.
35311	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35312	// EventInstanceID - The identifier for the FabricEvent instance.
35313	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
35314	// TimeStamp - The time event was logged.
35315	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
35316	// HasCorrelatedEvents - Shows there is existing related events available.
35317	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
35318	// 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'
35319	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
35320}
35321
35322func unmarshalBasicPartitionAnalysisEvent(body []byte) (BasicPartitionAnalysisEvent, error) {
35323	var m map[string]interface{}
35324	err := json.Unmarshal(body, &m)
35325	if err != nil {
35326		return nil, err
35327	}
35328
35329	switch m["Kind"] {
35330	case string(KindPartitionPrimaryMoveAnalysis):
35331		var ppmae PartitionPrimaryMoveAnalysisEvent
35332		err := json.Unmarshal(body, &ppmae)
35333		return ppmae, err
35334	default:
35335		var pae PartitionAnalysisEvent
35336		err := json.Unmarshal(body, &pae)
35337		return pae, err
35338	}
35339}
35340func unmarshalBasicPartitionAnalysisEventArray(body []byte) ([]BasicPartitionAnalysisEvent, error) {
35341	var rawMessages []*json.RawMessage
35342	err := json.Unmarshal(body, &rawMessages)
35343	if err != nil {
35344		return nil, err
35345	}
35346
35347	paeArray := make([]BasicPartitionAnalysisEvent, len(rawMessages))
35348
35349	for index, rawMessage := range rawMessages {
35350		pae, err := unmarshalBasicPartitionAnalysisEvent(*rawMessage)
35351		if err != nil {
35352			return nil, err
35353		}
35354		paeArray[index] = pae
35355	}
35356	return paeArray, nil
35357}
35358
35359// MarshalJSON is the custom marshaler for PartitionAnalysisEvent.
35360func (pae PartitionAnalysisEvent) MarshalJSON() ([]byte, error) {
35361	pae.Kind = KindPartitionAnalysisEvent
35362	objectMap := make(map[string]interface{})
35363	if pae.Metadata != nil {
35364		objectMap["Metadata"] = pae.Metadata
35365	}
35366	if pae.PartitionID != nil {
35367		objectMap["PartitionId"] = pae.PartitionID
35368	}
35369	if pae.EventInstanceID != nil {
35370		objectMap["EventInstanceId"] = pae.EventInstanceID
35371	}
35372	if pae.TimeStamp != nil {
35373		objectMap["TimeStamp"] = pae.TimeStamp
35374	}
35375	if pae.HasCorrelatedEvents != nil {
35376		objectMap["HasCorrelatedEvents"] = pae.HasCorrelatedEvents
35377	}
35378	if pae.Kind != "" {
35379		objectMap["Kind"] = pae.Kind
35380	}
35381	return json.Marshal(objectMap)
35382}
35383
35384// AsApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35385func (pae PartitionAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
35386	return nil, false
35387}
35388
35389// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35390func (pae PartitionAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
35391	return nil, false
35392}
35393
35394// AsClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35395func (pae PartitionAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
35396	return nil, false
35397}
35398
35399// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35400func (pae PartitionAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
35401	return nil, false
35402}
35403
35404// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35405func (pae PartitionAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
35406	return nil, false
35407}
35408
35409// AsNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35410func (pae PartitionAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
35411	return nil, false
35412}
35413
35414// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35415func (pae PartitionAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
35416	return nil, false
35417}
35418
35419// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35420func (pae PartitionAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
35421	return &pae, true
35422}
35423
35424// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35425func (pae PartitionAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
35426	return &pae, true
35427}
35428
35429// AsPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35430func (pae PartitionAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
35431	return nil, false
35432}
35433
35434// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35435func (pae PartitionAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
35436	return &pae, true
35437}
35438
35439// AsReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35440func (pae PartitionAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
35441	return nil, false
35442}
35443
35444// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35445func (pae PartitionAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
35446	return nil, false
35447}
35448
35449// AsServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35450func (pae PartitionAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
35451	return nil, false
35452}
35453
35454// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35455func (pae PartitionAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
35456	return nil, false
35457}
35458
35459// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35460func (pae PartitionAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
35461	return nil, false
35462}
35463
35464// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35465func (pae PartitionAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
35466	return nil, false
35467}
35468
35469// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35470func (pae PartitionAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
35471	return nil, false
35472}
35473
35474// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35475func (pae PartitionAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
35476	return nil, false
35477}
35478
35479// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35480func (pae PartitionAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
35481	return nil, false
35482}
35483
35484// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35485func (pae PartitionAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
35486	return nil, false
35487}
35488
35489// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35490func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
35491	return nil, false
35492}
35493
35494// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35495func (pae PartitionAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
35496	return nil, false
35497}
35498
35499// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35500func (pae PartitionAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
35501	return nil, false
35502}
35503
35504// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35505func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
35506	return nil, false
35507}
35508
35509// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35510func (pae PartitionAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
35511	return nil, false
35512}
35513
35514// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35515func (pae PartitionAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
35516	return nil, false
35517}
35518
35519// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35520func (pae PartitionAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
35521	return nil, false
35522}
35523
35524// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35525func (pae PartitionAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
35526	return nil, false
35527}
35528
35529// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35530func (pae PartitionAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
35531	return nil, false
35532}
35533
35534// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35535func (pae PartitionAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
35536	return nil, false
35537}
35538
35539// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35540func (pae PartitionAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
35541	return nil, false
35542}
35543
35544// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35545func (pae PartitionAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
35546	return nil, false
35547}
35548
35549// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35550func (pae PartitionAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
35551	return nil, false
35552}
35553
35554// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35555func (pae PartitionAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
35556	return nil, false
35557}
35558
35559// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35560func (pae PartitionAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
35561	return nil, false
35562}
35563
35564// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35565func (pae PartitionAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
35566	return nil, false
35567}
35568
35569// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35570func (pae PartitionAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
35571	return nil, false
35572}
35573
35574// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35575func (pae PartitionAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
35576	return nil, false
35577}
35578
35579// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35580func (pae PartitionAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
35581	return nil, false
35582}
35583
35584// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35585func (pae PartitionAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
35586	return nil, false
35587}
35588
35589// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35590func (pae PartitionAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
35591	return nil, false
35592}
35593
35594// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35595func (pae PartitionAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
35596	return nil, false
35597}
35598
35599// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35600func (pae PartitionAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
35601	return nil, false
35602}
35603
35604// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35605func (pae PartitionAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
35606	return nil, false
35607}
35608
35609// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35610func (pae PartitionAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
35611	return nil, false
35612}
35613
35614// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35615func (pae PartitionAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
35616	return nil, false
35617}
35618
35619// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35620func (pae PartitionAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
35621	return nil, false
35622}
35623
35624// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35625func (pae PartitionAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
35626	return nil, false
35627}
35628
35629// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35630func (pae PartitionAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
35631	return nil, false
35632}
35633
35634// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35635func (pae PartitionAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
35636	return nil, false
35637}
35638
35639// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35640func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
35641	return nil, false
35642}
35643
35644// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35645func (pae PartitionAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
35646	return nil, false
35647}
35648
35649// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35650func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
35651	return nil, false
35652}
35653
35654// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35655func (pae PartitionAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
35656	return nil, false
35657}
35658
35659// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35660func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
35661	return nil, false
35662}
35663
35664// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35665func (pae PartitionAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
35666	return nil, false
35667}
35668
35669// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35670func (pae PartitionAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
35671	return nil, false
35672}
35673
35674// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35675func (pae PartitionAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
35676	return nil, false
35677}
35678
35679// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35680func (pae PartitionAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
35681	return nil, false
35682}
35683
35684// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35685func (pae PartitionAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
35686	return nil, false
35687}
35688
35689// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35690func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
35691	return nil, false
35692}
35693
35694// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35695func (pae PartitionAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
35696	return nil, false
35697}
35698
35699// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35700func (pae PartitionAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
35701	return nil, false
35702}
35703
35704// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35705func (pae PartitionAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
35706	return nil, false
35707}
35708
35709// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35710func (pae PartitionAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
35711	return nil, false
35712}
35713
35714// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35715func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
35716	return nil, false
35717}
35718
35719// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35720func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
35721	return nil, false
35722}
35723
35724// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35725func (pae PartitionAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
35726	return nil, false
35727}
35728
35729// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35730func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
35731	return nil, false
35732}
35733
35734// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35735func (pae PartitionAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
35736	return nil, false
35737}
35738
35739// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35740func (pae PartitionAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
35741	return nil, false
35742}
35743
35744// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35745func (pae PartitionAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
35746	return nil, false
35747}
35748
35749// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35750func (pae PartitionAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
35751	return nil, false
35752}
35753
35754// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35755func (pae PartitionAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
35756	return nil, false
35757}
35758
35759// AsFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35760func (pae PartitionAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
35761	return nil, false
35762}
35763
35764// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionAnalysisEvent.
35765func (pae PartitionAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
35766	return &pae, true
35767}
35768
35769// PartitionBackupConfigurationInfo backup configuration information, for a specific partition, specifying
35770// what backup policy is being applied and suspend description, if any.
35771type PartitionBackupConfigurationInfo struct {
35772	autorest.Response `json:"-"`
35773	// ServiceName - The full name of the service with 'fabric:' URI scheme.
35774	ServiceName *string `json:"ServiceName,omitempty"`
35775	// 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.
35776	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35777	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
35778	PolicyName *string `json:"PolicyName,omitempty"`
35779	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
35780	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
35781	// SuspensionInfo - Describes the backup suspension details.
35782	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
35783	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
35784	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
35785}
35786
35787// MarshalJSON is the custom marshaler for PartitionBackupConfigurationInfo.
35788func (pbci PartitionBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
35789	pbci.Kind = KindBasicBackupConfigurationInfoKindPartition
35790	objectMap := make(map[string]interface{})
35791	if pbci.ServiceName != nil {
35792		objectMap["ServiceName"] = pbci.ServiceName
35793	}
35794	if pbci.PartitionID != nil {
35795		objectMap["PartitionId"] = pbci.PartitionID
35796	}
35797	if pbci.PolicyName != nil {
35798		objectMap["PolicyName"] = pbci.PolicyName
35799	}
35800	if pbci.PolicyInheritedFrom != "" {
35801		objectMap["PolicyInheritedFrom"] = pbci.PolicyInheritedFrom
35802	}
35803	if pbci.SuspensionInfo != nil {
35804		objectMap["SuspensionInfo"] = pbci.SuspensionInfo
35805	}
35806	if pbci.Kind != "" {
35807		objectMap["Kind"] = pbci.Kind
35808	}
35809	return json.Marshal(objectMap)
35810}
35811
35812// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35813func (pbci PartitionBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
35814	return nil, false
35815}
35816
35817// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35818func (pbci PartitionBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
35819	return nil, false
35820}
35821
35822// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35823func (pbci PartitionBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
35824	return &pbci, true
35825}
35826
35827// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35828func (pbci PartitionBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
35829	return nil, false
35830}
35831
35832// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for PartitionBackupConfigurationInfo.
35833func (pbci PartitionBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
35834	return &pbci, true
35835}
35836
35837// PartitionBackupEntity identifies the Service Fabric stateful partition which is being backed up.
35838type PartitionBackupEntity struct {
35839	// ServiceName - The full name of the service with 'fabric:' URI scheme.
35840	ServiceName *string `json:"ServiceName,omitempty"`
35841	// 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.
35842	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35843	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
35844	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
35845}
35846
35847// MarshalJSON is the custom marshaler for PartitionBackupEntity.
35848func (pbe PartitionBackupEntity) MarshalJSON() ([]byte, error) {
35849	pbe.EntityKind = EntityKindPartition1
35850	objectMap := make(map[string]interface{})
35851	if pbe.ServiceName != nil {
35852		objectMap["ServiceName"] = pbe.ServiceName
35853	}
35854	if pbe.PartitionID != nil {
35855		objectMap["PartitionId"] = pbe.PartitionID
35856	}
35857	if pbe.EntityKind != "" {
35858		objectMap["EntityKind"] = pbe.EntityKind
35859	}
35860	return json.Marshal(objectMap)
35861}
35862
35863// AsApplicationBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35864func (pbe PartitionBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
35865	return nil, false
35866}
35867
35868// AsServiceBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35869func (pbe PartitionBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
35870	return nil, false
35871}
35872
35873// AsPartitionBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35874func (pbe PartitionBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
35875	return &pbe, true
35876}
35877
35878// AsBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35879func (pbe PartitionBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
35880	return nil, false
35881}
35882
35883// AsBasicBackupEntity is the BasicBackupEntity implementation for PartitionBackupEntity.
35884func (pbe PartitionBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
35885	return &pbe, true
35886}
35887
35888// PartitionDataLossProgress information about a partition data loss user-induced operation.
35889type PartitionDataLossProgress struct {
35890	autorest.Response `json:"-"`
35891	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
35892	State OperationState `json:"State,omitempty"`
35893	// InvokeDataLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
35894	InvokeDataLossResult *InvokeDataLossResult `json:"InvokeDataLossResult,omitempty"`
35895}
35896
35897// BasicPartitionEvent represents the base for all Partition Events.
35898type BasicPartitionEvent interface {
35899	AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool)
35900	AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool)
35901	AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool)
35902	AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool)
35903	AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool)
35904	AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool)
35905	AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool)
35906	AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool)
35907	AsPartitionEvent() (*PartitionEvent, bool)
35908}
35909
35910// PartitionEvent represents the base for all Partition Events.
35911type PartitionEvent struct {
35912	// 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.
35913	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
35914	// EventInstanceID - The identifier for the FabricEvent instance.
35915	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
35916	// TimeStamp - The time event was logged.
35917	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
35918	// HasCorrelatedEvents - Shows there is existing related events available.
35919	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
35920	// 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'
35921	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
35922}
35923
35924func unmarshalBasicPartitionEvent(body []byte) (BasicPartitionEvent, error) {
35925	var m map[string]interface{}
35926	err := json.Unmarshal(body, &m)
35927	if err != nil {
35928		return nil, err
35929	}
35930
35931	switch m["Kind"] {
35932	case string(KindPartitionAnalysisEvent):
35933		var pae PartitionAnalysisEvent
35934		err := json.Unmarshal(body, &pae)
35935		return pae, err
35936	case string(KindPartitionHealthReportCreated):
35937		var phrce PartitionHealthReportCreatedEvent
35938		err := json.Unmarshal(body, &phrce)
35939		return phrce, err
35940	case string(KindPartitionHealthReportExpired):
35941		var phree PartitionHealthReportExpiredEvent
35942		err := json.Unmarshal(body, &phree)
35943		return phree, err
35944	case string(KindPartitionReconfigurationCompleted):
35945		var prce PartitionReconfigurationCompletedEvent
35946		err := json.Unmarshal(body, &prce)
35947		return prce, err
35948	case string(KindPartitionPrimaryMoveAnalysis):
35949		var ppmae PartitionPrimaryMoveAnalysisEvent
35950		err := json.Unmarshal(body, &ppmae)
35951		return ppmae, err
35952	case string(KindChaosMoveSecondaryFaultScheduled):
35953		var cmsfse ChaosMoveSecondaryFaultScheduledEvent
35954		err := json.Unmarshal(body, &cmsfse)
35955		return cmsfse, err
35956	case string(KindChaosMovePrimaryFaultScheduled):
35957		var cmpfse ChaosMovePrimaryFaultScheduledEvent
35958		err := json.Unmarshal(body, &cmpfse)
35959		return cmpfse, err
35960	default:
35961		var peVar PartitionEvent
35962		err := json.Unmarshal(body, &peVar)
35963		return peVar, err
35964	}
35965}
35966func unmarshalBasicPartitionEventArray(body []byte) ([]BasicPartitionEvent, error) {
35967	var rawMessages []*json.RawMessage
35968	err := json.Unmarshal(body, &rawMessages)
35969	if err != nil {
35970		return nil, err
35971	}
35972
35973	peVarArray := make([]BasicPartitionEvent, len(rawMessages))
35974
35975	for index, rawMessage := range rawMessages {
35976		peVar, err := unmarshalBasicPartitionEvent(*rawMessage)
35977		if err != nil {
35978			return nil, err
35979		}
35980		peVarArray[index] = peVar
35981	}
35982	return peVarArray, nil
35983}
35984
35985// MarshalJSON is the custom marshaler for PartitionEvent.
35986func (peVar PartitionEvent) MarshalJSON() ([]byte, error) {
35987	peVar.Kind = KindPartitionEvent
35988	objectMap := make(map[string]interface{})
35989	if peVar.PartitionID != nil {
35990		objectMap["PartitionId"] = peVar.PartitionID
35991	}
35992	if peVar.EventInstanceID != nil {
35993		objectMap["EventInstanceId"] = peVar.EventInstanceID
35994	}
35995	if peVar.TimeStamp != nil {
35996		objectMap["TimeStamp"] = peVar.TimeStamp
35997	}
35998	if peVar.HasCorrelatedEvents != nil {
35999		objectMap["HasCorrelatedEvents"] = peVar.HasCorrelatedEvents
36000	}
36001	if peVar.Kind != "" {
36002		objectMap["Kind"] = peVar.Kind
36003	}
36004	return json.Marshal(objectMap)
36005}
36006
36007// AsApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
36008func (peVar PartitionEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
36009	return nil, false
36010}
36011
36012// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionEvent.
36013func (peVar PartitionEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
36014	return nil, false
36015}
36016
36017// AsClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
36018func (peVar PartitionEvent) AsClusterEvent() (*ClusterEvent, bool) {
36019	return nil, false
36020}
36021
36022// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionEvent.
36023func (peVar PartitionEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
36024	return nil, false
36025}
36026
36027// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionEvent.
36028func (peVar PartitionEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
36029	return nil, false
36030}
36031
36032// AsNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
36033func (peVar PartitionEvent) AsNodeEvent() (*NodeEvent, bool) {
36034	return nil, false
36035}
36036
36037// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionEvent.
36038func (peVar PartitionEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
36039	return nil, false
36040}
36041
36042// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
36043func (peVar PartitionEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
36044	return nil, false
36045}
36046
36047// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
36048func (peVar PartitionEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
36049	return nil, false
36050}
36051
36052// AsPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
36053func (peVar PartitionEvent) AsPartitionEvent() (*PartitionEvent, bool) {
36054	return &peVar, true
36055}
36056
36057// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionEvent.
36058func (peVar PartitionEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
36059	return &peVar, true
36060}
36061
36062// AsReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
36063func (peVar PartitionEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
36064	return nil, false
36065}
36066
36067// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionEvent.
36068func (peVar PartitionEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
36069	return nil, false
36070}
36071
36072// AsServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
36073func (peVar PartitionEvent) AsServiceEvent() (*ServiceEvent, bool) {
36074	return nil, false
36075}
36076
36077// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionEvent.
36078func (peVar PartitionEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
36079	return nil, false
36080}
36081
36082// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36083func (peVar PartitionEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
36084	return nil, false
36085}
36086
36087// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
36088func (peVar PartitionEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
36089	return nil, false
36090}
36091
36092// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36093func (peVar PartitionEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
36094	return nil, false
36095}
36096
36097// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36098func (peVar PartitionEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
36099	return nil, false
36100}
36101
36102// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
36103func (peVar PartitionEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
36104	return nil, false
36105}
36106
36107// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
36108func (peVar PartitionEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
36109	return nil, false
36110}
36111
36112// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
36113func (peVar PartitionEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
36114	return nil, false
36115}
36116
36117// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
36118func (peVar PartitionEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
36119	return nil, false
36120}
36121
36122// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
36123func (peVar PartitionEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
36124	return nil, false
36125}
36126
36127// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36128func (peVar PartitionEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
36129	return nil, false
36130}
36131
36132// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36133func (peVar PartitionEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
36134	return nil, false
36135}
36136
36137// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36138func (peVar PartitionEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
36139	return nil, false
36140}
36141
36142// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36143func (peVar PartitionEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
36144	return nil, false
36145}
36146
36147// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionEvent.
36148func (peVar PartitionEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
36149	return nil, false
36150}
36151
36152// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionEvent.
36153func (peVar PartitionEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
36154	return nil, false
36155}
36156
36157// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionEvent.
36158func (peVar PartitionEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
36159	return nil, false
36160}
36161
36162// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionEvent.
36163func (peVar PartitionEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
36164	return nil, false
36165}
36166
36167// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionEvent.
36168func (peVar PartitionEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
36169	return nil, false
36170}
36171
36172// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
36173func (peVar PartitionEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
36174	return nil, false
36175}
36176
36177// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionEvent.
36178func (peVar PartitionEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
36179	return nil, false
36180}
36181
36182// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionEvent.
36183func (peVar PartitionEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
36184	return nil, false
36185}
36186
36187// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36188func (peVar PartitionEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
36189	return nil, false
36190}
36191
36192// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36193func (peVar PartitionEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
36194	return nil, false
36195}
36196
36197// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionEvent.
36198func (peVar PartitionEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
36199	return nil, false
36200}
36201
36202// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionEvent.
36203func (peVar PartitionEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
36204	return nil, false
36205}
36206
36207// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionEvent.
36208func (peVar PartitionEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
36209	return nil, false
36210}
36211
36212// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionEvent.
36213func (peVar PartitionEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
36214	return nil, false
36215}
36216
36217// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionEvent.
36218func (peVar PartitionEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
36219	return nil, false
36220}
36221
36222// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36223func (peVar PartitionEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
36224	return nil, false
36225}
36226
36227// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36228func (peVar PartitionEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
36229	return nil, false
36230}
36231
36232// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
36233func (peVar PartitionEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
36234	return nil, false
36235}
36236
36237// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionEvent.
36238func (peVar PartitionEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
36239	return nil, false
36240}
36241
36242// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36243func (peVar PartitionEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
36244	return nil, false
36245}
36246
36247// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionEvent.
36248func (peVar PartitionEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
36249	return nil, false
36250}
36251
36252// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36253func (peVar PartitionEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
36254	return nil, false
36255}
36256
36257// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36258func (peVar PartitionEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
36259	return nil, false
36260}
36261
36262// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36263func (peVar PartitionEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
36264	return nil, false
36265}
36266
36267// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36268func (peVar PartitionEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
36269	return nil, false
36270}
36271
36272// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36273func (peVar PartitionEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
36274	return nil, false
36275}
36276
36277// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36278func (peVar PartitionEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
36279	return nil, false
36280}
36281
36282// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36283func (peVar PartitionEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
36284	return nil, false
36285}
36286
36287// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36288func (peVar PartitionEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
36289	return nil, false
36290}
36291
36292// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionEvent.
36293func (peVar PartitionEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
36294	return nil, false
36295}
36296
36297// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionEvent.
36298func (peVar PartitionEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
36299	return nil, false
36300}
36301
36302// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
36303func (peVar PartitionEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
36304	return nil, false
36305}
36306
36307// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
36308func (peVar PartitionEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
36309	return nil, false
36310}
36311
36312// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionEvent.
36313func (peVar PartitionEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
36314	return nil, false
36315}
36316
36317// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionEvent.
36318func (peVar PartitionEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
36319	return nil, false
36320}
36321
36322// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionEvent.
36323func (peVar PartitionEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
36324	return nil, false
36325}
36326
36327// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionEvent.
36328func (peVar PartitionEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
36329	return nil, false
36330}
36331
36332// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionEvent.
36333func (peVar PartitionEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
36334	return nil, false
36335}
36336
36337// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
36338func (peVar PartitionEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
36339	return nil, false
36340}
36341
36342// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
36343func (peVar PartitionEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
36344	return nil, false
36345}
36346
36347// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
36348func (peVar PartitionEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
36349	return nil, false
36350}
36351
36352// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
36353func (peVar PartitionEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
36354	return nil, false
36355}
36356
36357// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionEvent.
36358func (peVar PartitionEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
36359	return nil, false
36360}
36361
36362// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
36363func (peVar PartitionEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
36364	return nil, false
36365}
36366
36367// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
36368func (peVar PartitionEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
36369	return nil, false
36370}
36371
36372// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
36373func (peVar PartitionEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
36374	return nil, false
36375}
36376
36377// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionEvent.
36378func (peVar PartitionEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
36379	return nil, false
36380}
36381
36382// AsFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
36383func (peVar PartitionEvent) AsFabricEvent() (*FabricEvent, bool) {
36384	return nil, false
36385}
36386
36387// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionEvent.
36388func (peVar PartitionEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
36389	return &peVar, true
36390}
36391
36392// PartitionHealth information about the health of a Service Fabric partition.
36393type PartitionHealth struct {
36394	autorest.Response `json:"-"`
36395	// PartitionID - ID of the partition whose health information is described by this object.
36396	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
36397	// ReplicaHealthStates - The list of replica health states associated with the partition.
36398	ReplicaHealthStates *[]BasicReplicaHealthState `json:"ReplicaHealthStates,omitempty"`
36399	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
36400	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
36401	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
36402	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
36403	// HealthEvents - The list of health events reported on the entity.
36404	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
36405	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
36406	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
36407	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
36408	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
36409}
36410
36411// UnmarshalJSON is the custom unmarshaler for PartitionHealth struct.
36412func (ph *PartitionHealth) UnmarshalJSON(body []byte) error {
36413	var m map[string]*json.RawMessage
36414	err := json.Unmarshal(body, &m)
36415	if err != nil {
36416		return err
36417	}
36418	for k, v := range m {
36419		switch k {
36420		case "PartitionId":
36421			if v != nil {
36422				var partitionID uuid.UUID
36423				err = json.Unmarshal(*v, &partitionID)
36424				if err != nil {
36425					return err
36426				}
36427				ph.PartitionID = &partitionID
36428			}
36429		case "ReplicaHealthStates":
36430			if v != nil {
36431				replicaHealthStates, err := unmarshalBasicReplicaHealthStateArray(*v)
36432				if err != nil {
36433					return err
36434				}
36435				ph.ReplicaHealthStates = &replicaHealthStates
36436			}
36437		case "AggregatedHealthState":
36438			if v != nil {
36439				var aggregatedHealthState HealthState
36440				err = json.Unmarshal(*v, &aggregatedHealthState)
36441				if err != nil {
36442					return err
36443				}
36444				ph.AggregatedHealthState = aggregatedHealthState
36445			}
36446		case "HealthEvents":
36447			if v != nil {
36448				var healthEvents []HealthEvent
36449				err = json.Unmarshal(*v, &healthEvents)
36450				if err != nil {
36451					return err
36452				}
36453				ph.HealthEvents = &healthEvents
36454			}
36455		case "UnhealthyEvaluations":
36456			if v != nil {
36457				var unhealthyEvaluations []HealthEvaluationWrapper
36458				err = json.Unmarshal(*v, &unhealthyEvaluations)
36459				if err != nil {
36460					return err
36461				}
36462				ph.UnhealthyEvaluations = &unhealthyEvaluations
36463			}
36464		case "HealthStatistics":
36465			if v != nil {
36466				var healthStatistics HealthStatistics
36467				err = json.Unmarshal(*v, &healthStatistics)
36468				if err != nil {
36469					return err
36470				}
36471				ph.HealthStatistics = &healthStatistics
36472			}
36473		}
36474	}
36475
36476	return nil
36477}
36478
36479// PartitionHealthEvaluation represents health evaluation for a partition, containing information about the
36480// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
36481// aggregated health state is either Error or Warning.
36482type PartitionHealthEvaluation struct {
36483	// PartitionID - Id of the partition whose health evaluation is described by this object.
36484	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
36485	// 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.
36486	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
36487	// 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'
36488	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
36489	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
36490	Description *string `json:"Description,omitempty"`
36491	// 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'
36492	Kind Kind `json:"Kind,omitempty"`
36493}
36494
36495// MarshalJSON is the custom marshaler for PartitionHealthEvaluation.
36496func (phe PartitionHealthEvaluation) MarshalJSON() ([]byte, error) {
36497	phe.Kind = KindPartition
36498	objectMap := make(map[string]interface{})
36499	if phe.PartitionID != nil {
36500		objectMap["PartitionId"] = phe.PartitionID
36501	}
36502	if phe.UnhealthyEvaluations != nil {
36503		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
36504	}
36505	if phe.AggregatedHealthState != "" {
36506		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
36507	}
36508	if phe.Description != nil {
36509		objectMap["Description"] = phe.Description
36510	}
36511	if phe.Kind != "" {
36512		objectMap["Kind"] = phe.Kind
36513	}
36514	return json.Marshal(objectMap)
36515}
36516
36517// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36518func (phe PartitionHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
36519	return nil, false
36520}
36521
36522// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36523func (phe PartitionHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
36524	return nil, false
36525}
36526
36527// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36528func (phe PartitionHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
36529	return nil, false
36530}
36531
36532// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36533func (phe PartitionHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
36534	return nil, false
36535}
36536
36537// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36538func (phe PartitionHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
36539	return nil, false
36540}
36541
36542// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36543func (phe PartitionHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
36544	return nil, false
36545}
36546
36547// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36548func (phe PartitionHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
36549	return nil, false
36550}
36551
36552// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36553func (phe PartitionHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
36554	return nil, false
36555}
36556
36557// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36558func (phe PartitionHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
36559	return nil, false
36560}
36561
36562// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36563func (phe PartitionHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
36564	return nil, false
36565}
36566
36567// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36568func (phe PartitionHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
36569	return nil, false
36570}
36571
36572// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36573func (phe PartitionHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
36574	return &phe, true
36575}
36576
36577// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36578func (phe PartitionHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
36579	return nil, false
36580}
36581
36582// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36583func (phe PartitionHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
36584	return nil, false
36585}
36586
36587// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36588func (phe PartitionHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
36589	return nil, false
36590}
36591
36592// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36593func (phe PartitionHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
36594	return nil, false
36595}
36596
36597// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36598func (phe PartitionHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
36599	return nil, false
36600}
36601
36602// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36603func (phe PartitionHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
36604	return nil, false
36605}
36606
36607// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36608func (phe PartitionHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
36609	return nil, false
36610}
36611
36612// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36613func (phe PartitionHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
36614	return nil, false
36615}
36616
36617// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36618func (phe PartitionHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
36619	return nil, false
36620}
36621
36622// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionHealthEvaluation.
36623func (phe PartitionHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
36624	return &phe, true
36625}
36626
36627// PartitionHealthReportCreatedEvent partition Health Report Created event.
36628type PartitionHealthReportCreatedEvent struct {
36629	// SourceID - Id of report source.
36630	SourceID *string `json:"SourceId,omitempty"`
36631	// Property - Describes the property.
36632	Property *string `json:"Property,omitempty"`
36633	// HealthState - Describes the property health state.
36634	HealthState *string `json:"HealthState,omitempty"`
36635	// TimeToLiveMs - Time to live in milli-seconds.
36636	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
36637	// SequenceNumber - Sequence number of report.
36638	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
36639	// Description - Description of report.
36640	Description *string `json:"Description,omitempty"`
36641	// RemoveWhenExpired - Indicates the removal when it expires.
36642	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
36643	// SourceUtcTimestamp - Source time.
36644	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
36645	// 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.
36646	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
36647	// EventInstanceID - The identifier for the FabricEvent instance.
36648	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
36649	// TimeStamp - The time event was logged.
36650	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
36651	// HasCorrelatedEvents - Shows there is existing related events available.
36652	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
36653	// 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'
36654	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
36655}
36656
36657// MarshalJSON is the custom marshaler for PartitionHealthReportCreatedEvent.
36658func (phrce PartitionHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
36659	phrce.Kind = KindPartitionHealthReportCreated
36660	objectMap := make(map[string]interface{})
36661	if phrce.SourceID != nil {
36662		objectMap["SourceId"] = phrce.SourceID
36663	}
36664	if phrce.Property != nil {
36665		objectMap["Property"] = phrce.Property
36666	}
36667	if phrce.HealthState != nil {
36668		objectMap["HealthState"] = phrce.HealthState
36669	}
36670	if phrce.TimeToLiveMs != nil {
36671		objectMap["TimeToLiveMs"] = phrce.TimeToLiveMs
36672	}
36673	if phrce.SequenceNumber != nil {
36674		objectMap["SequenceNumber"] = phrce.SequenceNumber
36675	}
36676	if phrce.Description != nil {
36677		objectMap["Description"] = phrce.Description
36678	}
36679	if phrce.RemoveWhenExpired != nil {
36680		objectMap["RemoveWhenExpired"] = phrce.RemoveWhenExpired
36681	}
36682	if phrce.SourceUtcTimestamp != nil {
36683		objectMap["SourceUtcTimestamp"] = phrce.SourceUtcTimestamp
36684	}
36685	if phrce.PartitionID != nil {
36686		objectMap["PartitionId"] = phrce.PartitionID
36687	}
36688	if phrce.EventInstanceID != nil {
36689		objectMap["EventInstanceId"] = phrce.EventInstanceID
36690	}
36691	if phrce.TimeStamp != nil {
36692		objectMap["TimeStamp"] = phrce.TimeStamp
36693	}
36694	if phrce.HasCorrelatedEvents != nil {
36695		objectMap["HasCorrelatedEvents"] = phrce.HasCorrelatedEvents
36696	}
36697	if phrce.Kind != "" {
36698		objectMap["Kind"] = phrce.Kind
36699	}
36700	return json.Marshal(objectMap)
36701}
36702
36703// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36704func (phrce PartitionHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
36705	return nil, false
36706}
36707
36708// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36709func (phrce PartitionHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
36710	return nil, false
36711}
36712
36713// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36714func (phrce PartitionHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
36715	return nil, false
36716}
36717
36718// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36719func (phrce PartitionHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
36720	return nil, false
36721}
36722
36723// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36724func (phrce PartitionHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
36725	return nil, false
36726}
36727
36728// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36729func (phrce PartitionHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
36730	return nil, false
36731}
36732
36733// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36734func (phrce PartitionHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
36735	return nil, false
36736}
36737
36738// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36739func (phrce PartitionHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
36740	return nil, false
36741}
36742
36743// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36744func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
36745	return nil, false
36746}
36747
36748// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36749func (phrce PartitionHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
36750	return nil, false
36751}
36752
36753// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36754func (phrce PartitionHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
36755	return &phrce, true
36756}
36757
36758// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36759func (phrce PartitionHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
36760	return nil, false
36761}
36762
36763// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36764func (phrce PartitionHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
36765	return nil, false
36766}
36767
36768// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36769func (phrce PartitionHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
36770	return nil, false
36771}
36772
36773// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36774func (phrce PartitionHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
36775	return nil, false
36776}
36777
36778// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36779func (phrce PartitionHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
36780	return nil, false
36781}
36782
36783// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36784func (phrce PartitionHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
36785	return nil, false
36786}
36787
36788// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36789func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
36790	return nil, false
36791}
36792
36793// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36794func (phrce PartitionHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
36795	return nil, false
36796}
36797
36798// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36799func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
36800	return nil, false
36801}
36802
36803// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36804func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
36805	return nil, false
36806}
36807
36808// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36809func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
36810	return nil, false
36811}
36812
36813// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36814func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
36815	return nil, false
36816}
36817
36818// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36819func (phrce PartitionHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
36820	return nil, false
36821}
36822
36823// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36824func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
36825	return nil, false
36826}
36827
36828// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36829func (phrce PartitionHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
36830	return nil, false
36831}
36832
36833// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36834func (phrce PartitionHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
36835	return nil, false
36836}
36837
36838// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36839func (phrce PartitionHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
36840	return nil, false
36841}
36842
36843// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36844func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
36845	return nil, false
36846}
36847
36848// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36849func (phrce PartitionHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
36850	return nil, false
36851}
36852
36853// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36854func (phrce PartitionHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
36855	return nil, false
36856}
36857
36858// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36859func (phrce PartitionHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
36860	return nil, false
36861}
36862
36863// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36864func (phrce PartitionHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
36865	return nil, false
36866}
36867
36868// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36869func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
36870	return nil, false
36871}
36872
36873// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36874func (phrce PartitionHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
36875	return nil, false
36876}
36877
36878// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36879func (phrce PartitionHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
36880	return nil, false
36881}
36882
36883// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36884func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
36885	return nil, false
36886}
36887
36888// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36889func (phrce PartitionHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
36890	return nil, false
36891}
36892
36893// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36894func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
36895	return nil, false
36896}
36897
36898// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36899func (phrce PartitionHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
36900	return nil, false
36901}
36902
36903// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36904func (phrce PartitionHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
36905	return nil, false
36906}
36907
36908// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36909func (phrce PartitionHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
36910	return nil, false
36911}
36912
36913// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36914func (phrce PartitionHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
36915	return nil, false
36916}
36917
36918// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36919func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
36920	return &phrce, true
36921}
36922
36923// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36924func (phrce PartitionHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
36925	return nil, false
36926}
36927
36928// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36929func (phrce PartitionHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
36930	return nil, false
36931}
36932
36933// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36934func (phrce PartitionHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
36935	return nil, false
36936}
36937
36938// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36939func (phrce PartitionHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
36940	return nil, false
36941}
36942
36943// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36944func (phrce PartitionHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
36945	return nil, false
36946}
36947
36948// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36949func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
36950	return nil, false
36951}
36952
36953// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36954func (phrce PartitionHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
36955	return nil, false
36956}
36957
36958// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36959func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
36960	return nil, false
36961}
36962
36963// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36964func (phrce PartitionHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
36965	return nil, false
36966}
36967
36968// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36969func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
36970	return nil, false
36971}
36972
36973// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36974func (phrce PartitionHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
36975	return nil, false
36976}
36977
36978// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36979func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
36980	return nil, false
36981}
36982
36983// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36984func (phrce PartitionHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
36985	return nil, false
36986}
36987
36988// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36989func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
36990	return nil, false
36991}
36992
36993// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36994func (phrce PartitionHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
36995	return nil, false
36996}
36997
36998// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
36999func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
37000	return nil, false
37001}
37002
37003// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37004func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
37005	return nil, false
37006}
37007
37008// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37009func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
37010	return nil, false
37011}
37012
37013// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37014func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
37015	return nil, false
37016}
37017
37018// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37019func (phrce PartitionHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
37020	return nil, false
37021}
37022
37023// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37024func (phrce PartitionHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
37025	return nil, false
37026}
37027
37028// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37029func (phrce PartitionHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
37030	return nil, false
37031}
37032
37033// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37034func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
37035	return nil, false
37036}
37037
37038// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37039func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
37040	return nil, false
37041}
37042
37043// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37044func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
37045	return nil, false
37046}
37047
37048// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37049func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
37050	return nil, false
37051}
37052
37053// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37054func (phrce PartitionHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
37055	return nil, false
37056}
37057
37058// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37059func (phrce PartitionHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
37060	return nil, false
37061}
37062
37063// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37064func (phrce PartitionHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
37065	return nil, false
37066}
37067
37068// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37069func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
37070	return nil, false
37071}
37072
37073// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37074func (phrce PartitionHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
37075	return nil, false
37076}
37077
37078// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37079func (phrce PartitionHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
37080	return nil, false
37081}
37082
37083// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportCreatedEvent.
37084func (phrce PartitionHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
37085	return &phrce, true
37086}
37087
37088// PartitionHealthReportExpiredEvent partition Health Report Expired event.
37089type PartitionHealthReportExpiredEvent struct {
37090	// SourceID - Id of report source.
37091	SourceID *string `json:"SourceId,omitempty"`
37092	// Property - Describes the property.
37093	Property *string `json:"Property,omitempty"`
37094	// HealthState - Describes the property health state.
37095	HealthState *string `json:"HealthState,omitempty"`
37096	// TimeToLiveMs - Time to live in milli-seconds.
37097	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
37098	// SequenceNumber - Sequence number of report.
37099	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
37100	// Description - Description of report.
37101	Description *string `json:"Description,omitempty"`
37102	// RemoveWhenExpired - Indicates the removal when it expires.
37103	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
37104	// SourceUtcTimestamp - Source time.
37105	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
37106	// 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.
37107	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37108	// EventInstanceID - The identifier for the FabricEvent instance.
37109	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
37110	// TimeStamp - The time event was logged.
37111	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
37112	// HasCorrelatedEvents - Shows there is existing related events available.
37113	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
37114	// 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'
37115	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
37116}
37117
37118// MarshalJSON is the custom marshaler for PartitionHealthReportExpiredEvent.
37119func (phree PartitionHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
37120	phree.Kind = KindPartitionHealthReportExpired
37121	objectMap := make(map[string]interface{})
37122	if phree.SourceID != nil {
37123		objectMap["SourceId"] = phree.SourceID
37124	}
37125	if phree.Property != nil {
37126		objectMap["Property"] = phree.Property
37127	}
37128	if phree.HealthState != nil {
37129		objectMap["HealthState"] = phree.HealthState
37130	}
37131	if phree.TimeToLiveMs != nil {
37132		objectMap["TimeToLiveMs"] = phree.TimeToLiveMs
37133	}
37134	if phree.SequenceNumber != nil {
37135		objectMap["SequenceNumber"] = phree.SequenceNumber
37136	}
37137	if phree.Description != nil {
37138		objectMap["Description"] = phree.Description
37139	}
37140	if phree.RemoveWhenExpired != nil {
37141		objectMap["RemoveWhenExpired"] = phree.RemoveWhenExpired
37142	}
37143	if phree.SourceUtcTimestamp != nil {
37144		objectMap["SourceUtcTimestamp"] = phree.SourceUtcTimestamp
37145	}
37146	if phree.PartitionID != nil {
37147		objectMap["PartitionId"] = phree.PartitionID
37148	}
37149	if phree.EventInstanceID != nil {
37150		objectMap["EventInstanceId"] = phree.EventInstanceID
37151	}
37152	if phree.TimeStamp != nil {
37153		objectMap["TimeStamp"] = phree.TimeStamp
37154	}
37155	if phree.HasCorrelatedEvents != nil {
37156		objectMap["HasCorrelatedEvents"] = phree.HasCorrelatedEvents
37157	}
37158	if phree.Kind != "" {
37159		objectMap["Kind"] = phree.Kind
37160	}
37161	return json.Marshal(objectMap)
37162}
37163
37164// AsApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37165func (phree PartitionHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
37166	return nil, false
37167}
37168
37169// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37170func (phree PartitionHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
37171	return nil, false
37172}
37173
37174// AsClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37175func (phree PartitionHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
37176	return nil, false
37177}
37178
37179// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37180func (phree PartitionHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
37181	return nil, false
37182}
37183
37184// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37185func (phree PartitionHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
37186	return nil, false
37187}
37188
37189// AsNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37190func (phree PartitionHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
37191	return nil, false
37192}
37193
37194// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37195func (phree PartitionHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
37196	return nil, false
37197}
37198
37199// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37200func (phree PartitionHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
37201	return nil, false
37202}
37203
37204// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37205func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
37206	return nil, false
37207}
37208
37209// AsPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37210func (phree PartitionHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
37211	return nil, false
37212}
37213
37214// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37215func (phree PartitionHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
37216	return &phree, true
37217}
37218
37219// AsReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37220func (phree PartitionHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
37221	return nil, false
37222}
37223
37224// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37225func (phree PartitionHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
37226	return nil, false
37227}
37228
37229// AsServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37230func (phree PartitionHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
37231	return nil, false
37232}
37233
37234// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37235func (phree PartitionHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
37236	return nil, false
37237}
37238
37239// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37240func (phree PartitionHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
37241	return nil, false
37242}
37243
37244// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37245func (phree PartitionHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
37246	return nil, false
37247}
37248
37249// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37250func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
37251	return nil, false
37252}
37253
37254// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37255func (phree PartitionHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
37256	return nil, false
37257}
37258
37259// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37260func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
37261	return nil, false
37262}
37263
37264// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37265func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
37266	return nil, false
37267}
37268
37269// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37270func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
37271	return nil, false
37272}
37273
37274// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37275func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
37276	return nil, false
37277}
37278
37279// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37280func (phree PartitionHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
37281	return nil, false
37282}
37283
37284// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37285func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
37286	return nil, false
37287}
37288
37289// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37290func (phree PartitionHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
37291	return nil, false
37292}
37293
37294// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37295func (phree PartitionHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
37296	return nil, false
37297}
37298
37299// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37300func (phree PartitionHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
37301	return nil, false
37302}
37303
37304// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37305func (phree PartitionHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
37306	return nil, false
37307}
37308
37309// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37310func (phree PartitionHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
37311	return nil, false
37312}
37313
37314// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37315func (phree PartitionHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
37316	return nil, false
37317}
37318
37319// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37320func (phree PartitionHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
37321	return nil, false
37322}
37323
37324// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37325func (phree PartitionHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
37326	return nil, false
37327}
37328
37329// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37330func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
37331	return nil, false
37332}
37333
37334// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37335func (phree PartitionHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
37336	return nil, false
37337}
37338
37339// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37340func (phree PartitionHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
37341	return nil, false
37342}
37343
37344// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37345func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
37346	return nil, false
37347}
37348
37349// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37350func (phree PartitionHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
37351	return nil, false
37352}
37353
37354// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37355func (phree PartitionHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
37356	return nil, false
37357}
37358
37359// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37360func (phree PartitionHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
37361	return nil, false
37362}
37363
37364// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37365func (phree PartitionHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
37366	return nil, false
37367}
37368
37369// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37370func (phree PartitionHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
37371	return nil, false
37372}
37373
37374// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37375func (phree PartitionHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
37376	return nil, false
37377}
37378
37379// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37380func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
37381	return nil, false
37382}
37383
37384// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37385func (phree PartitionHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
37386	return &phree, true
37387}
37388
37389// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37390func (phree PartitionHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
37391	return nil, false
37392}
37393
37394// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37395func (phree PartitionHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
37396	return nil, false
37397}
37398
37399// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37400func (phree PartitionHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
37401	return nil, false
37402}
37403
37404// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37405func (phree PartitionHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
37406	return nil, false
37407}
37408
37409// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37410func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
37411	return nil, false
37412}
37413
37414// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37415func (phree PartitionHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
37416	return nil, false
37417}
37418
37419// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37420func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
37421	return nil, false
37422}
37423
37424// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37425func (phree PartitionHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
37426	return nil, false
37427}
37428
37429// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37430func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
37431	return nil, false
37432}
37433
37434// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37435func (phree PartitionHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
37436	return nil, false
37437}
37438
37439// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37440func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
37441	return nil, false
37442}
37443
37444// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37445func (phree PartitionHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
37446	return nil, false
37447}
37448
37449// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37450func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
37451	return nil, false
37452}
37453
37454// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37455func (phree PartitionHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
37456	return nil, false
37457}
37458
37459// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37460func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
37461	return nil, false
37462}
37463
37464// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37465func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
37466	return nil, false
37467}
37468
37469// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37470func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
37471	return nil, false
37472}
37473
37474// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37475func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
37476	return nil, false
37477}
37478
37479// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37480func (phree PartitionHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
37481	return nil, false
37482}
37483
37484// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37485func (phree PartitionHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
37486	return nil, false
37487}
37488
37489// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37490func (phree PartitionHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
37491	return nil, false
37492}
37493
37494// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37495func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
37496	return nil, false
37497}
37498
37499// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37500func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
37501	return nil, false
37502}
37503
37504// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37505func (phree PartitionHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
37506	return nil, false
37507}
37508
37509// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37510func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
37511	return nil, false
37512}
37513
37514// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37515func (phree PartitionHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
37516	return nil, false
37517}
37518
37519// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37520func (phree PartitionHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
37521	return nil, false
37522}
37523
37524// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37525func (phree PartitionHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
37526	return nil, false
37527}
37528
37529// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37530func (phree PartitionHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
37531	return nil, false
37532}
37533
37534// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37535func (phree PartitionHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
37536	return nil, false
37537}
37538
37539// AsFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37540func (phree PartitionHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
37541	return nil, false
37542}
37543
37544// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionHealthReportExpiredEvent.
37545func (phree PartitionHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
37546	return &phree, true
37547}
37548
37549// PartitionHealthState represents the health state of a partition, which contains the partition identifier
37550// and its aggregated health state.
37551type PartitionHealthState struct {
37552	// PartitionID - Id of the partition whose health state is described by this object.
37553	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37554	// 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'
37555	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
37556}
37557
37558// PartitionHealthStateChunk represents the health state chunk of a partition, which contains the partition
37559// ID, its aggregated health state and any replicas that respect the filters in the cluster health chunk
37560// query description.
37561type PartitionHealthStateChunk struct {
37562	// PartitionID - The Id of the partition.
37563	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37564	// ReplicaHealthStateChunks - The list of replica health state chunks belonging to the partition that respect the filters in the cluster health chunk query description.
37565	ReplicaHealthStateChunks *ReplicaHealthStateChunkList `json:"ReplicaHealthStateChunks,omitempty"`
37566	// 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'
37567	HealthState HealthState `json:"HealthState,omitempty"`
37568}
37569
37570// PartitionHealthStateChunkList the list of partition health state chunks that respect the input filters
37571// in the chunk query description.
37572// Returned by get cluster health state chunks query as part of the parent application hierarchy.
37573type PartitionHealthStateChunkList struct {
37574	// Items - The list of partition health state chunks that respect the input filters in the chunk query.
37575	Items *[]PartitionHealthStateChunk `json:"Items,omitempty"`
37576}
37577
37578// PartitionHealthStateFilter defines matching criteria to determine whether a partition should be included
37579// as a child of a service in the cluster health chunk.
37580// The partitions are only returned if the parent entities match a filter specified in the cluster health
37581// chunk query description. The parent service and application must be included in the cluster health
37582// chunk.
37583// One filter can match zero, one or multiple partitions, depending on its properties.
37584type PartitionHealthStateFilter struct {
37585	// PartitionIDFilter - ID of the partition that matches the filter. The filter is applied only to the specified partition, if it exists.
37586	// If the partition doesn't exist, no partition is returned in the cluster health chunk based on this filter.
37587	// If the partition exists, it is included in the cluster health chunk if it respects the other filter properties.
37588	// 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.
37589	PartitionIDFilter *uuid.UUID `json:"PartitionIdFilter,omitempty"`
37590	// HealthStateFilter - The filter for the health state of the partitions. It allows selecting partitions if they match the desired health states.
37591	// 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.
37592	// 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.
37593	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
37594	// For example, if the provided value is 6, it matches partitions with HealthState value of OK (2) and Warning (4).
37595	// - Default - Default value. Matches any HealthState. The value is zero.
37596	// - 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.
37597	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
37598	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
37599	// - Error - Filter that matches input with HealthState value Error. The value is 8.
37600	// - All - Filter that matches input with any HealthState value. The value is 65535.
37601	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
37602	// 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.
37603	// 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.
37604	// The partition filter may specify multiple replica filters.
37605	// 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.
37606	ReplicaFilters *[]ReplicaHealthStateFilter `json:"ReplicaFilters,omitempty"`
37607}
37608
37609// BasicPartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
37610type BasicPartitionInformation interface {
37611	AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool)
37612	AsNamedPartitionInformation() (*NamedPartitionInformation, bool)
37613	AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool)
37614	AsPartitionInformation() (*PartitionInformation, bool)
37615}
37616
37617// PartitionInformation information about the partition identity, partitioning scheme and keys supported by it.
37618type PartitionInformation struct {
37619	// 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.
37620	ID *uuid.UUID `json:"Id,omitempty"`
37621	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
37622	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
37623}
37624
37625func unmarshalBasicPartitionInformation(body []byte) (BasicPartitionInformation, error) {
37626	var m map[string]interface{}
37627	err := json.Unmarshal(body, &m)
37628	if err != nil {
37629		return nil, err
37630	}
37631
37632	switch m["ServicePartitionKind"] {
37633	case string(ServicePartitionKindInt64Range1):
37634		var i6rpi Int64RangePartitionInformation
37635		err := json.Unmarshal(body, &i6rpi)
37636		return i6rpi, err
37637	case string(ServicePartitionKindNamed1):
37638		var npi NamedPartitionInformation
37639		err := json.Unmarshal(body, &npi)
37640		return npi, err
37641	case string(ServicePartitionKindSingleton1):
37642		var spi SingletonPartitionInformation
37643		err := json.Unmarshal(body, &spi)
37644		return spi, err
37645	default:
37646		var pi PartitionInformation
37647		err := json.Unmarshal(body, &pi)
37648		return pi, err
37649	}
37650}
37651func unmarshalBasicPartitionInformationArray(body []byte) ([]BasicPartitionInformation, error) {
37652	var rawMessages []*json.RawMessage
37653	err := json.Unmarshal(body, &rawMessages)
37654	if err != nil {
37655		return nil, err
37656	}
37657
37658	piArray := make([]BasicPartitionInformation, len(rawMessages))
37659
37660	for index, rawMessage := range rawMessages {
37661		pi, err := unmarshalBasicPartitionInformation(*rawMessage)
37662		if err != nil {
37663			return nil, err
37664		}
37665		piArray[index] = pi
37666	}
37667	return piArray, nil
37668}
37669
37670// MarshalJSON is the custom marshaler for PartitionInformation.
37671func (pi PartitionInformation) MarshalJSON() ([]byte, error) {
37672	pi.ServicePartitionKind = ServicePartitionKindPartitionInformation
37673	objectMap := make(map[string]interface{})
37674	if pi.ID != nil {
37675		objectMap["Id"] = pi.ID
37676	}
37677	if pi.ServicePartitionKind != "" {
37678		objectMap["ServicePartitionKind"] = pi.ServicePartitionKind
37679	}
37680	return json.Marshal(objectMap)
37681}
37682
37683// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37684func (pi PartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
37685	return nil, false
37686}
37687
37688// AsNamedPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37689func (pi PartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
37690	return nil, false
37691}
37692
37693// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37694func (pi PartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
37695	return nil, false
37696}
37697
37698// AsPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37699func (pi PartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
37700	return &pi, true
37701}
37702
37703// AsBasicPartitionInformation is the BasicPartitionInformation implementation for PartitionInformation.
37704func (pi PartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
37705	return &pi, true
37706}
37707
37708// PartitionInstanceCountScaleMechanism represents a scaling mechanism for adding or removing instances of
37709// stateless service partition.
37710type PartitionInstanceCountScaleMechanism struct {
37711	// MinInstanceCount - Minimum number of instances of the partition.
37712	MinInstanceCount *int32 `json:"MinInstanceCount,omitempty"`
37713	// MaxInstanceCount - Maximum number of instances of the partition.
37714	MaxInstanceCount *int32 `json:"MaxInstanceCount,omitempty"`
37715	// ScaleIncrement - The number of instances to add or remove during a scaling operation.
37716	ScaleIncrement *int32 `json:"ScaleIncrement,omitempty"`
37717	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
37718	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
37719}
37720
37721// MarshalJSON is the custom marshaler for PartitionInstanceCountScaleMechanism.
37722func (picsm PartitionInstanceCountScaleMechanism) MarshalJSON() ([]byte, error) {
37723	picsm.Kind = KindPartitionInstanceCount
37724	objectMap := make(map[string]interface{})
37725	if picsm.MinInstanceCount != nil {
37726		objectMap["MinInstanceCount"] = picsm.MinInstanceCount
37727	}
37728	if picsm.MaxInstanceCount != nil {
37729		objectMap["MaxInstanceCount"] = picsm.MaxInstanceCount
37730	}
37731	if picsm.ScaleIncrement != nil {
37732		objectMap["ScaleIncrement"] = picsm.ScaleIncrement
37733	}
37734	if picsm.Kind != "" {
37735		objectMap["Kind"] = picsm.Kind
37736	}
37737	return json.Marshal(objectMap)
37738}
37739
37740// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37741func (picsm PartitionInstanceCountScaleMechanism) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
37742	return &picsm, true
37743}
37744
37745// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37746func (picsm PartitionInstanceCountScaleMechanism) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
37747	return nil, false
37748}
37749
37750// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37751func (picsm PartitionInstanceCountScaleMechanism) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
37752	return nil, false
37753}
37754
37755// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for PartitionInstanceCountScaleMechanism.
37756func (picsm PartitionInstanceCountScaleMechanism) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
37757	return &picsm, true
37758}
37759
37760// PartitionLoadInformation represents load information for a partition, which contains the primary and
37761// secondary reported load metrics.
37762// In case there is no load reported, PartitionLoadInformation will contain the default load for the
37763// service of the partition.
37764// For default loads, LoadMetricReport's LastReportedUtc is set to 0.
37765type PartitionLoadInformation struct {
37766	autorest.Response `json:"-"`
37767	// PartitionID - Id of the partition.
37768	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37769	// PrimaryLoadMetricReports - Array of load reports from the primary replica for this partition.
37770	PrimaryLoadMetricReports *[]LoadMetricReport `json:"PrimaryLoadMetricReports,omitempty"`
37771	// SecondaryLoadMetricReports - Array of aggregated load reports from all secondary replicas for this partition.
37772	// Array only contains the latest reported load for each metric.
37773	SecondaryLoadMetricReports *[]LoadMetricReport `json:"SecondaryLoadMetricReports,omitempty"`
37774}
37775
37776// PartitionPrimaryMoveAnalysisEvent partition Primary Move Analysis event.
37777type PartitionPrimaryMoveAnalysisEvent struct {
37778	// WhenMoveCompleted - Time when the move was completed.
37779	WhenMoveCompleted *date.Time `json:"WhenMoveCompleted,omitempty"`
37780	// PreviousNode - The name of a Service Fabric node.
37781	PreviousNode *string `json:"PreviousNode,omitempty"`
37782	// CurrentNode - The name of a Service Fabric node.
37783	CurrentNode *string `json:"CurrentNode,omitempty"`
37784	// MoveReason - Move reason.
37785	MoveReason *string `json:"MoveReason,omitempty"`
37786	// RelevantTraces - Relevant traces.
37787	RelevantTraces *string `json:"RelevantTraces,omitempty"`
37788	// Metadata - Metadata about an Analysis Event.
37789	Metadata *AnalysisEventMetadata `json:"Metadata,omitempty"`
37790	// 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.
37791	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
37792	// EventInstanceID - The identifier for the FabricEvent instance.
37793	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
37794	// TimeStamp - The time event was logged.
37795	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
37796	// HasCorrelatedEvents - Shows there is existing related events available.
37797	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
37798	// 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'
37799	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
37800}
37801
37802// MarshalJSON is the custom marshaler for PartitionPrimaryMoveAnalysisEvent.
37803func (ppmae PartitionPrimaryMoveAnalysisEvent) MarshalJSON() ([]byte, error) {
37804	ppmae.Kind = KindPartitionPrimaryMoveAnalysis
37805	objectMap := make(map[string]interface{})
37806	if ppmae.WhenMoveCompleted != nil {
37807		objectMap["WhenMoveCompleted"] = ppmae.WhenMoveCompleted
37808	}
37809	if ppmae.PreviousNode != nil {
37810		objectMap["PreviousNode"] = ppmae.PreviousNode
37811	}
37812	if ppmae.CurrentNode != nil {
37813		objectMap["CurrentNode"] = ppmae.CurrentNode
37814	}
37815	if ppmae.MoveReason != nil {
37816		objectMap["MoveReason"] = ppmae.MoveReason
37817	}
37818	if ppmae.RelevantTraces != nil {
37819		objectMap["RelevantTraces"] = ppmae.RelevantTraces
37820	}
37821	if ppmae.Metadata != nil {
37822		objectMap["Metadata"] = ppmae.Metadata
37823	}
37824	if ppmae.PartitionID != nil {
37825		objectMap["PartitionId"] = ppmae.PartitionID
37826	}
37827	if ppmae.EventInstanceID != nil {
37828		objectMap["EventInstanceId"] = ppmae.EventInstanceID
37829	}
37830	if ppmae.TimeStamp != nil {
37831		objectMap["TimeStamp"] = ppmae.TimeStamp
37832	}
37833	if ppmae.HasCorrelatedEvents != nil {
37834		objectMap["HasCorrelatedEvents"] = ppmae.HasCorrelatedEvents
37835	}
37836	if ppmae.Kind != "" {
37837		objectMap["Kind"] = ppmae.Kind
37838	}
37839	return json.Marshal(objectMap)
37840}
37841
37842// AsApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37843func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
37844	return nil, false
37845}
37846
37847// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37848func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
37849	return nil, false
37850}
37851
37852// AsClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37853func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterEvent() (*ClusterEvent, bool) {
37854	return nil, false
37855}
37856
37857// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37858func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
37859	return nil, false
37860}
37861
37862// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37863func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
37864	return nil, false
37865}
37866
37867// AsNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37868func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeEvent() (*NodeEvent, bool) {
37869	return nil, false
37870}
37871
37872// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37873func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
37874	return nil, false
37875}
37876
37877// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37878func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
37879	return nil, false
37880}
37881
37882// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37883func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
37884	return &ppmae, true
37885}
37886
37887// AsPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37888func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionEvent() (*PartitionEvent, bool) {
37889	return nil, false
37890}
37891
37892// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37893func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
37894	return &ppmae, true
37895}
37896
37897// AsReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37898func (ppmae PartitionPrimaryMoveAnalysisEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
37899	return nil, false
37900}
37901
37902// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37903func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
37904	return nil, false
37905}
37906
37907// AsServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37908func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceEvent() (*ServiceEvent, bool) {
37909	return nil, false
37910}
37911
37912// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37913func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
37914	return nil, false
37915}
37916
37917// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37918func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
37919	return nil, false
37920}
37921
37922// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37923func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
37924	return nil, false
37925}
37926
37927// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37928func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
37929	return nil, false
37930}
37931
37932// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37933func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
37934	return nil, false
37935}
37936
37937// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37938func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
37939	return nil, false
37940}
37941
37942// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37943func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
37944	return nil, false
37945}
37946
37947// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37948func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
37949	return nil, false
37950}
37951
37952// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37953func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
37954	return nil, false
37955}
37956
37957// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37958func (ppmae PartitionPrimaryMoveAnalysisEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
37959	return nil, false
37960}
37961
37962// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37963func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
37964	return nil, false
37965}
37966
37967// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37968func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
37969	return nil, false
37970}
37971
37972// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37973func (ppmae PartitionPrimaryMoveAnalysisEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
37974	return nil, false
37975}
37976
37977// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37978func (ppmae PartitionPrimaryMoveAnalysisEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
37979	return nil, false
37980}
37981
37982// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37983func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
37984	return nil, false
37985}
37986
37987// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37988func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
37989	return nil, false
37990}
37991
37992// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37993func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
37994	return nil, false
37995}
37996
37997// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
37998func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
37999	return nil, false
38000}
38001
38002// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38003func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
38004	return nil, false
38005}
38006
38007// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38008func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
38009	return nil, false
38010}
38011
38012// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38013func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
38014	return nil, false
38015}
38016
38017// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38018func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
38019	return nil, false
38020}
38021
38022// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38023func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
38024	return nil, false
38025}
38026
38027// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38028func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
38029	return nil, false
38030}
38031
38032// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38033func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
38034	return nil, false
38035}
38036
38037// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38038func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
38039	return nil, false
38040}
38041
38042// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38043func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
38044	return nil, false
38045}
38046
38047// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38048func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
38049	return nil, false
38050}
38051
38052// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38053func (ppmae PartitionPrimaryMoveAnalysisEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
38054	return nil, false
38055}
38056
38057// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38058func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
38059	return nil, false
38060}
38061
38062// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38063func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
38064	return nil, false
38065}
38066
38067// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38068func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
38069	return nil, false
38070}
38071
38072// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38073func (ppmae PartitionPrimaryMoveAnalysisEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
38074	return &ppmae, true
38075}
38076
38077// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38078func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
38079	return nil, false
38080}
38081
38082// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38083func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
38084	return nil, false
38085}
38086
38087// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38088func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
38089	return nil, false
38090}
38091
38092// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38093func (ppmae PartitionPrimaryMoveAnalysisEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
38094	return nil, false
38095}
38096
38097// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38098func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
38099	return nil, false
38100}
38101
38102// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38103func (ppmae PartitionPrimaryMoveAnalysisEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
38104	return nil, false
38105}
38106
38107// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38108func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
38109	return nil, false
38110}
38111
38112// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38113func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
38114	return nil, false
38115}
38116
38117// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38118func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
38119	return nil, false
38120}
38121
38122// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38123func (ppmae PartitionPrimaryMoveAnalysisEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
38124	return nil, false
38125}
38126
38127// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38128func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
38129	return nil, false
38130}
38131
38132// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38133func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
38134	return nil, false
38135}
38136
38137// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38138func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
38139	return nil, false
38140}
38141
38142// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38143func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
38144	return nil, false
38145}
38146
38147// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38148func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
38149	return nil, false
38150}
38151
38152// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38153func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
38154	return nil, false
38155}
38156
38157// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38158func (ppmae PartitionPrimaryMoveAnalysisEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
38159	return nil, false
38160}
38161
38162// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38163func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
38164	return nil, false
38165}
38166
38167// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38168func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
38169	return nil, false
38170}
38171
38172// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38173func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
38174	return nil, false
38175}
38176
38177// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38178func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
38179	return nil, false
38180}
38181
38182// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38183func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
38184	return nil, false
38185}
38186
38187// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38188func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
38189	return nil, false
38190}
38191
38192// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38193func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
38194	return nil, false
38195}
38196
38197// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38198func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
38199	return nil, false
38200}
38201
38202// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38203func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
38204	return nil, false
38205}
38206
38207// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38208func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
38209	return nil, false
38210}
38211
38212// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38213func (ppmae PartitionPrimaryMoveAnalysisEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
38214	return nil, false
38215}
38216
38217// AsFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38218func (ppmae PartitionPrimaryMoveAnalysisEvent) AsFabricEvent() (*FabricEvent, bool) {
38219	return nil, false
38220}
38221
38222// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionPrimaryMoveAnalysisEvent.
38223func (ppmae PartitionPrimaryMoveAnalysisEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
38224	return &ppmae, true
38225}
38226
38227// PartitionQuorumLossProgress information about a partition quorum loss user-induced operation.
38228type PartitionQuorumLossProgress struct {
38229	autorest.Response `json:"-"`
38230	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
38231	State OperationState `json:"State,omitempty"`
38232	// InvokeQuorumLossResult - Represents information about an operation in a terminal state (Completed or Faulted).
38233	InvokeQuorumLossResult *InvokeQuorumLossResult `json:"InvokeQuorumLossResult,omitempty"`
38234}
38235
38236// PartitionReconfigurationCompletedEvent partition Reconfiguration Completed event.
38237type PartitionReconfigurationCompletedEvent struct {
38238	// NodeName - The name of a Service Fabric node.
38239	NodeName *string `json:"NodeName,omitempty"`
38240	// NodeInstanceID - Id of Node instance.
38241	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
38242	// ServiceType - Type of Service.
38243	ServiceType *string `json:"ServiceType,omitempty"`
38244	// CcEpochDataLossVersion - CcEpochDataLoss version.
38245	CcEpochDataLossVersion *int64 `json:"CcEpochDataLossVersion,omitempty"`
38246	// CcEpochConfigVersion - CcEpochConfig version.
38247	CcEpochConfigVersion *int64 `json:"CcEpochConfigVersion,omitempty"`
38248	// ReconfigType - Type of reconfiguration.
38249	ReconfigType *string `json:"ReconfigType,omitempty"`
38250	// Result - Describes reconfiguration result.
38251	Result *string `json:"Result,omitempty"`
38252	// Phase0DurationMs - Duration of Phase0 in milli-seconds.
38253	Phase0DurationMs *float64 `json:"Phase0DurationMs,omitempty"`
38254	// Phase1DurationMs - Duration of Phase1 in milli-seconds.
38255	Phase1DurationMs *float64 `json:"Phase1DurationMs,omitempty"`
38256	// Phase2DurationMs - Duration of Phase2 in milli-seconds.
38257	Phase2DurationMs *float64 `json:"Phase2DurationMs,omitempty"`
38258	// Phase3DurationMs - Duration of Phase3 in milli-seconds.
38259	Phase3DurationMs *float64 `json:"Phase3DurationMs,omitempty"`
38260	// Phase4DurationMs - Duration of Phase4 in milli-seconds.
38261	Phase4DurationMs *float64 `json:"Phase4DurationMs,omitempty"`
38262	// TotalDurationMs - Total duration in milli-seconds.
38263	TotalDurationMs *float64 `json:"TotalDurationMs,omitempty"`
38264	// 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.
38265	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38266	// EventInstanceID - The identifier for the FabricEvent instance.
38267	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
38268	// TimeStamp - The time event was logged.
38269	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
38270	// HasCorrelatedEvents - Shows there is existing related events available.
38271	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
38272	// 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'
38273	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
38274}
38275
38276// MarshalJSON is the custom marshaler for PartitionReconfigurationCompletedEvent.
38277func (prce PartitionReconfigurationCompletedEvent) MarshalJSON() ([]byte, error) {
38278	prce.Kind = KindPartitionReconfigurationCompleted
38279	objectMap := make(map[string]interface{})
38280	if prce.NodeName != nil {
38281		objectMap["NodeName"] = prce.NodeName
38282	}
38283	if prce.NodeInstanceID != nil {
38284		objectMap["NodeInstanceId"] = prce.NodeInstanceID
38285	}
38286	if prce.ServiceType != nil {
38287		objectMap["ServiceType"] = prce.ServiceType
38288	}
38289	if prce.CcEpochDataLossVersion != nil {
38290		objectMap["CcEpochDataLossVersion"] = prce.CcEpochDataLossVersion
38291	}
38292	if prce.CcEpochConfigVersion != nil {
38293		objectMap["CcEpochConfigVersion"] = prce.CcEpochConfigVersion
38294	}
38295	if prce.ReconfigType != nil {
38296		objectMap["ReconfigType"] = prce.ReconfigType
38297	}
38298	if prce.Result != nil {
38299		objectMap["Result"] = prce.Result
38300	}
38301	if prce.Phase0DurationMs != nil {
38302		objectMap["Phase0DurationMs"] = prce.Phase0DurationMs
38303	}
38304	if prce.Phase1DurationMs != nil {
38305		objectMap["Phase1DurationMs"] = prce.Phase1DurationMs
38306	}
38307	if prce.Phase2DurationMs != nil {
38308		objectMap["Phase2DurationMs"] = prce.Phase2DurationMs
38309	}
38310	if prce.Phase3DurationMs != nil {
38311		objectMap["Phase3DurationMs"] = prce.Phase3DurationMs
38312	}
38313	if prce.Phase4DurationMs != nil {
38314		objectMap["Phase4DurationMs"] = prce.Phase4DurationMs
38315	}
38316	if prce.TotalDurationMs != nil {
38317		objectMap["TotalDurationMs"] = prce.TotalDurationMs
38318	}
38319	if prce.PartitionID != nil {
38320		objectMap["PartitionId"] = prce.PartitionID
38321	}
38322	if prce.EventInstanceID != nil {
38323		objectMap["EventInstanceId"] = prce.EventInstanceID
38324	}
38325	if prce.TimeStamp != nil {
38326		objectMap["TimeStamp"] = prce.TimeStamp
38327	}
38328	if prce.HasCorrelatedEvents != nil {
38329		objectMap["HasCorrelatedEvents"] = prce.HasCorrelatedEvents
38330	}
38331	if prce.Kind != "" {
38332		objectMap["Kind"] = prce.Kind
38333	}
38334	return json.Marshal(objectMap)
38335}
38336
38337// AsApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38338func (prce PartitionReconfigurationCompletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
38339	return nil, false
38340}
38341
38342// AsBasicApplicationEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38343func (prce PartitionReconfigurationCompletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
38344	return nil, false
38345}
38346
38347// AsClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38348func (prce PartitionReconfigurationCompletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
38349	return nil, false
38350}
38351
38352// AsBasicClusterEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38353func (prce PartitionReconfigurationCompletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
38354	return nil, false
38355}
38356
38357// AsContainerInstanceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38358func (prce PartitionReconfigurationCompletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
38359	return nil, false
38360}
38361
38362// AsNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38363func (prce PartitionReconfigurationCompletedEvent) AsNodeEvent() (*NodeEvent, bool) {
38364	return nil, false
38365}
38366
38367// AsBasicNodeEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38368func (prce PartitionReconfigurationCompletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
38369	return nil, false
38370}
38371
38372// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38373func (prce PartitionReconfigurationCompletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
38374	return nil, false
38375}
38376
38377// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38378func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
38379	return nil, false
38380}
38381
38382// AsPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38383func (prce PartitionReconfigurationCompletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
38384	return nil, false
38385}
38386
38387// AsBasicPartitionEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38388func (prce PartitionReconfigurationCompletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
38389	return &prce, true
38390}
38391
38392// AsReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38393func (prce PartitionReconfigurationCompletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
38394	return nil, false
38395}
38396
38397// AsBasicReplicaEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38398func (prce PartitionReconfigurationCompletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
38399	return nil, false
38400}
38401
38402// AsServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38403func (prce PartitionReconfigurationCompletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
38404	return nil, false
38405}
38406
38407// AsBasicServiceEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38408func (prce PartitionReconfigurationCompletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
38409	return nil, false
38410}
38411
38412// AsApplicationCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38413func (prce PartitionReconfigurationCompletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
38414	return nil, false
38415}
38416
38417// AsApplicationDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38418func (prce PartitionReconfigurationCompletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
38419	return nil, false
38420}
38421
38422// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38423func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
38424	return nil, false
38425}
38426
38427// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38428func (prce PartitionReconfigurationCompletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
38429	return nil, false
38430}
38431
38432// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38433func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
38434	return nil, false
38435}
38436
38437// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38438func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
38439	return nil, false
38440}
38441
38442// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38443func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
38444	return nil, false
38445}
38446
38447// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38448func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
38449	return nil, false
38450}
38451
38452// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38453func (prce PartitionReconfigurationCompletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
38454	return nil, false
38455}
38456
38457// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38458func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
38459	return nil, false
38460}
38461
38462// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38463func (prce PartitionReconfigurationCompletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
38464	return nil, false
38465}
38466
38467// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38468func (prce PartitionReconfigurationCompletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
38469	return nil, false
38470}
38471
38472// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38473func (prce PartitionReconfigurationCompletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
38474	return nil, false
38475}
38476
38477// AsNodeAbortedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38478func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
38479	return nil, false
38480}
38481
38482// AsNodeAbortingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38483func (prce PartitionReconfigurationCompletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
38484	return nil, false
38485}
38486
38487// AsNodeAddedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38488func (prce PartitionReconfigurationCompletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
38489	return nil, false
38490}
38491
38492// AsNodeCloseEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38493func (prce PartitionReconfigurationCompletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
38494	return nil, false
38495}
38496
38497// AsNodeClosingEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38498func (prce PartitionReconfigurationCompletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
38499	return nil, false
38500}
38501
38502// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38503func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
38504	return nil, false
38505}
38506
38507// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38508func (prce PartitionReconfigurationCompletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
38509	return nil, false
38510}
38511
38512// AsNodeDownEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38513func (prce PartitionReconfigurationCompletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
38514	return nil, false
38515}
38516
38517// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38518func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
38519	return nil, false
38520}
38521
38522// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38523func (prce PartitionReconfigurationCompletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
38524	return nil, false
38525}
38526
38527// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38528func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
38529	return nil, false
38530}
38531
38532// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38533func (prce PartitionReconfigurationCompletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
38534	return nil, false
38535}
38536
38537// AsNodeOpeningEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38538func (prce PartitionReconfigurationCompletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
38539	return nil, false
38540}
38541
38542// AsNodeRemovedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38543func (prce PartitionReconfigurationCompletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
38544	return nil, false
38545}
38546
38547// AsNodeUpEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38548func (prce PartitionReconfigurationCompletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
38549	return nil, false
38550}
38551
38552// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38553func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
38554	return nil, false
38555}
38556
38557// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38558func (prce PartitionReconfigurationCompletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
38559	return nil, false
38560}
38561
38562// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38563func (prce PartitionReconfigurationCompletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
38564	return &prce, true
38565}
38566
38567// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38568func (prce PartitionReconfigurationCompletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
38569	return nil, false
38570}
38571
38572// AsServiceCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38573func (prce PartitionReconfigurationCompletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
38574	return nil, false
38575}
38576
38577// AsServiceDeletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38578func (prce PartitionReconfigurationCompletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
38579	return nil, false
38580}
38581
38582// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38583func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
38584	return nil, false
38585}
38586
38587// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38588func (prce PartitionReconfigurationCompletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
38589	return nil, false
38590}
38591
38592// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38593func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
38594	return nil, false
38595}
38596
38597// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38598func (prce PartitionReconfigurationCompletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
38599	return nil, false
38600}
38601
38602// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38603func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
38604	return nil, false
38605}
38606
38607// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38608func (prce PartitionReconfigurationCompletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
38609	return nil, false
38610}
38611
38612// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38613func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
38614	return nil, false
38615}
38616
38617// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38618func (prce PartitionReconfigurationCompletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
38619	return nil, false
38620}
38621
38622// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38623func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
38624	return nil, false
38625}
38626
38627// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38628func (prce PartitionReconfigurationCompletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
38629	return nil, false
38630}
38631
38632// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38633func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
38634	return nil, false
38635}
38636
38637// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38638func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
38639	return nil, false
38640}
38641
38642// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38643func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
38644	return nil, false
38645}
38646
38647// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38648func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
38649	return nil, false
38650}
38651
38652// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38653func (prce PartitionReconfigurationCompletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
38654	return nil, false
38655}
38656
38657// AsChaosStoppedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38658func (prce PartitionReconfigurationCompletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
38659	return nil, false
38660}
38661
38662// AsChaosStartedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38663func (prce PartitionReconfigurationCompletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
38664	return nil, false
38665}
38666
38667// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38668func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
38669	return nil, false
38670}
38671
38672// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38673func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
38674	return nil, false
38675}
38676
38677// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38678func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
38679	return nil, false
38680}
38681
38682// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38683func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
38684	return nil, false
38685}
38686
38687// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38688func (prce PartitionReconfigurationCompletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
38689	return nil, false
38690}
38691
38692// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38693func (prce PartitionReconfigurationCompletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
38694	return nil, false
38695}
38696
38697// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38698func (prce PartitionReconfigurationCompletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
38699	return nil, false
38700}
38701
38702// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38703func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
38704	return nil, false
38705}
38706
38707// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38708func (prce PartitionReconfigurationCompletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
38709	return nil, false
38710}
38711
38712// AsFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38713func (prce PartitionReconfigurationCompletedEvent) AsFabricEvent() (*FabricEvent, bool) {
38714	return nil, false
38715}
38716
38717// AsBasicFabricEvent is the BasicFabricEvent implementation for PartitionReconfigurationCompletedEvent.
38718func (prce PartitionReconfigurationCompletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
38719	return &prce, true
38720}
38721
38722// PartitionRestartProgress information about a partition restart user-induced operation.
38723type PartitionRestartProgress struct {
38724	autorest.Response `json:"-"`
38725	// State - The state of the operation. Possible values include: 'OperationStateInvalid', 'OperationStateRunning', 'OperationStateRollingBack', 'OperationStateCompleted', 'OperationStateFaulted', 'OperationStateCancelled', 'OperationStateForceCancelled'
38726	State OperationState `json:"State,omitempty"`
38727	// RestartPartitionResult - Represents information about an operation in a terminal state (Completed or Faulted).
38728	RestartPartitionResult *RestartPartitionResult `json:"RestartPartitionResult,omitempty"`
38729}
38730
38731// BasicPartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
38732// before continuing with operations.
38733type BasicPartitionSafetyCheck interface {
38734	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
38735	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
38736	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
38737	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
38738	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
38739	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
38740	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
38741}
38742
38743// PartitionSafetyCheck represents a safety check for the service partition being performed by service fabric
38744// before continuing with operations.
38745type PartitionSafetyCheck struct {
38746	// PartitionID - Id of the partition which is undergoing the safety check.
38747	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
38748	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
38749	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
38750}
38751
38752func unmarshalBasicPartitionSafetyCheck(body []byte) (BasicPartitionSafetyCheck, error) {
38753	var m map[string]interface{}
38754	err := json.Unmarshal(body, &m)
38755	if err != nil {
38756		return nil, err
38757	}
38758
38759	switch m["Kind"] {
38760	case string(KindEnsureAvailability):
38761		var easc EnsureAvailabilitySafetyCheck
38762		err := json.Unmarshal(body, &easc)
38763		return easc, err
38764	case string(KindEnsurePartitionQuorum):
38765		var epqsc EnsurePartitionQurumSafetyCheck
38766		err := json.Unmarshal(body, &epqsc)
38767		return epqsc, err
38768	case string(KindWaitForInbuildReplica):
38769		var wfirsc WaitForInbuildReplicaSafetyCheck
38770		err := json.Unmarshal(body, &wfirsc)
38771		return wfirsc, err
38772	case string(KindWaitForPrimaryPlacement):
38773		var wfppsc WaitForPrimaryPlacementSafetyCheck
38774		err := json.Unmarshal(body, &wfppsc)
38775		return wfppsc, err
38776	case string(KindWaitForPrimarySwap):
38777		var wfpssc WaitForPrimarySwapSafetyCheck
38778		err := json.Unmarshal(body, &wfpssc)
38779		return wfpssc, err
38780	case string(KindWaitForReconfiguration):
38781		var wfrsc WaitForReconfigurationSafetyCheck
38782		err := json.Unmarshal(body, &wfrsc)
38783		return wfrsc, err
38784	default:
38785		var psc PartitionSafetyCheck
38786		err := json.Unmarshal(body, &psc)
38787		return psc, err
38788	}
38789}
38790func unmarshalBasicPartitionSafetyCheckArray(body []byte) ([]BasicPartitionSafetyCheck, error) {
38791	var rawMessages []*json.RawMessage
38792	err := json.Unmarshal(body, &rawMessages)
38793	if err != nil {
38794		return nil, err
38795	}
38796
38797	pscArray := make([]BasicPartitionSafetyCheck, len(rawMessages))
38798
38799	for index, rawMessage := range rawMessages {
38800		psc, err := unmarshalBasicPartitionSafetyCheck(*rawMessage)
38801		if err != nil {
38802			return nil, err
38803		}
38804		pscArray[index] = psc
38805	}
38806	return pscArray, nil
38807}
38808
38809// MarshalJSON is the custom marshaler for PartitionSafetyCheck.
38810func (psc PartitionSafetyCheck) MarshalJSON() ([]byte, error) {
38811	psc.Kind = KindPartitionSafetyCheck
38812	objectMap := make(map[string]interface{})
38813	if psc.PartitionID != nil {
38814		objectMap["PartitionId"] = psc.PartitionID
38815	}
38816	if psc.Kind != "" {
38817		objectMap["Kind"] = psc.Kind
38818	}
38819	return json.Marshal(objectMap)
38820}
38821
38822// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38823func (psc PartitionSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
38824	return &psc, true
38825}
38826
38827// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38828func (psc PartitionSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
38829	return &psc, true
38830}
38831
38832// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38833func (psc PartitionSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
38834	return nil, false
38835}
38836
38837// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38838func (psc PartitionSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
38839	return nil, false
38840}
38841
38842// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38843func (psc PartitionSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
38844	return nil, false
38845}
38846
38847// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38848func (psc PartitionSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
38849	return nil, false
38850}
38851
38852// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38853func (psc PartitionSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
38854	return nil, false
38855}
38856
38857// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38858func (psc PartitionSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
38859	return nil, false
38860}
38861
38862// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38863func (psc PartitionSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
38864	return nil, false
38865}
38866
38867// AsSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38868func (psc PartitionSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
38869	return nil, false
38870}
38871
38872// AsBasicSafetyCheck is the BasicSafetyCheck implementation for PartitionSafetyCheck.
38873func (psc PartitionSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
38874	return &psc, true
38875}
38876
38877// BasicPartitionSchemeDescription describes how the service is partitioned.
38878type BasicPartitionSchemeDescription interface {
38879	AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool)
38880	AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool)
38881	AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool)
38882	AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool)
38883}
38884
38885// PartitionSchemeDescription describes how the service is partitioned.
38886type PartitionSchemeDescription struct {
38887	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
38888	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
38889}
38890
38891func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionSchemeDescription, error) {
38892	var m map[string]interface{}
38893	err := json.Unmarshal(body, &m)
38894	if err != nil {
38895		return nil, err
38896	}
38897
38898	switch m["PartitionScheme"] {
38899	case string(PartitionSchemeNamed1):
38900		var npsd NamedPartitionSchemeDescription
38901		err := json.Unmarshal(body, &npsd)
38902		return npsd, err
38903	case string(PartitionSchemeSingleton1):
38904		var spsd SingletonPartitionSchemeDescription
38905		err := json.Unmarshal(body, &spsd)
38906		return spsd, err
38907	case string(PartitionSchemeUniformInt64Range1):
38908		var ui6rpsd UniformInt64RangePartitionSchemeDescription
38909		err := json.Unmarshal(body, &ui6rpsd)
38910		return ui6rpsd, err
38911	default:
38912		var psd PartitionSchemeDescription
38913		err := json.Unmarshal(body, &psd)
38914		return psd, err
38915	}
38916}
38917func unmarshalBasicPartitionSchemeDescriptionArray(body []byte) ([]BasicPartitionSchemeDescription, error) {
38918	var rawMessages []*json.RawMessage
38919	err := json.Unmarshal(body, &rawMessages)
38920	if err != nil {
38921		return nil, err
38922	}
38923
38924	psdArray := make([]BasicPartitionSchemeDescription, len(rawMessages))
38925
38926	for index, rawMessage := range rawMessages {
38927		psd, err := unmarshalBasicPartitionSchemeDescription(*rawMessage)
38928		if err != nil {
38929			return nil, err
38930		}
38931		psdArray[index] = psd
38932	}
38933	return psdArray, nil
38934}
38935
38936// MarshalJSON is the custom marshaler for PartitionSchemeDescription.
38937func (psd PartitionSchemeDescription) MarshalJSON() ([]byte, error) {
38938	psd.PartitionScheme = PartitionSchemePartitionSchemeDescription
38939	objectMap := make(map[string]interface{})
38940	if psd.PartitionScheme != "" {
38941		objectMap["PartitionScheme"] = psd.PartitionScheme
38942	}
38943	return json.Marshal(objectMap)
38944}
38945
38946// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38947func (psd PartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
38948	return nil, false
38949}
38950
38951// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38952func (psd PartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
38953	return nil, false
38954}
38955
38956// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38957func (psd PartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
38958	return nil, false
38959}
38960
38961// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38962func (psd PartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
38963	return &psd, true
38964}
38965
38966// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription.
38967func (psd PartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
38968	return &psd, true
38969}
38970
38971// PartitionsHealthEvaluation represents health evaluation for the partitions of a service, containing
38972// health evaluations for each unhealthy partition that impacts current aggregated health state. Can be
38973// returned when evaluating service health and the aggregated health state is either Error or Warning.
38974type PartitionsHealthEvaluation struct {
38975	// MaxPercentUnhealthyPartitionsPerService - Maximum allowed percentage of unhealthy partitions per service from the ServiceTypeHealthPolicy.
38976	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
38977	// TotalCount - Total number of partitions of the service from the health store.
38978	TotalCount *int64 `json:"TotalCount,omitempty"`
38979	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy PartitionHealthEvaluation that impacted the aggregated health.
38980	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
38981	// 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'
38982	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
38983	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
38984	Description *string `json:"Description,omitempty"`
38985	// 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'
38986	Kind Kind `json:"Kind,omitempty"`
38987}
38988
38989// MarshalJSON is the custom marshaler for PartitionsHealthEvaluation.
38990func (phe PartitionsHealthEvaluation) MarshalJSON() ([]byte, error) {
38991	phe.Kind = KindPartitions
38992	objectMap := make(map[string]interface{})
38993	if phe.MaxPercentUnhealthyPartitionsPerService != nil {
38994		objectMap["MaxPercentUnhealthyPartitionsPerService"] = phe.MaxPercentUnhealthyPartitionsPerService
38995	}
38996	if phe.TotalCount != nil {
38997		objectMap["TotalCount"] = phe.TotalCount
38998	}
38999	if phe.UnhealthyEvaluations != nil {
39000		objectMap["UnhealthyEvaluations"] = phe.UnhealthyEvaluations
39001	}
39002	if phe.AggregatedHealthState != "" {
39003		objectMap["AggregatedHealthState"] = phe.AggregatedHealthState
39004	}
39005	if phe.Description != nil {
39006		objectMap["Description"] = phe.Description
39007	}
39008	if phe.Kind != "" {
39009		objectMap["Kind"] = phe.Kind
39010	}
39011	return json.Marshal(objectMap)
39012}
39013
39014// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39015func (phe PartitionsHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
39016	return nil, false
39017}
39018
39019// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39020func (phe PartitionsHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
39021	return nil, false
39022}
39023
39024// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39025func (phe PartitionsHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
39026	return nil, false
39027}
39028
39029// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39030func (phe PartitionsHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
39031	return nil, false
39032}
39033
39034// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39035func (phe PartitionsHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
39036	return nil, false
39037}
39038
39039// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39040func (phe PartitionsHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
39041	return nil, false
39042}
39043
39044// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39045func (phe PartitionsHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
39046	return nil, false
39047}
39048
39049// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39050func (phe PartitionsHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
39051	return nil, false
39052}
39053
39054// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39055func (phe PartitionsHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
39056	return nil, false
39057}
39058
39059// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39060func (phe PartitionsHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
39061	return nil, false
39062}
39063
39064// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39065func (phe PartitionsHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
39066	return nil, false
39067}
39068
39069// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39070func (phe PartitionsHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
39071	return nil, false
39072}
39073
39074// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39075func (phe PartitionsHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
39076	return &phe, true
39077}
39078
39079// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39080func (phe PartitionsHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
39081	return nil, false
39082}
39083
39084// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39085func (phe PartitionsHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
39086	return nil, false
39087}
39088
39089// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39090func (phe PartitionsHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
39091	return nil, false
39092}
39093
39094// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39095func (phe PartitionsHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
39096	return nil, false
39097}
39098
39099// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39100func (phe PartitionsHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
39101	return nil, false
39102}
39103
39104// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39105func (phe PartitionsHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
39106	return nil, false
39107}
39108
39109// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39110func (phe PartitionsHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
39111	return nil, false
39112}
39113
39114// AsHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39115func (phe PartitionsHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
39116	return nil, false
39117}
39118
39119// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for PartitionsHealthEvaluation.
39120func (phe PartitionsHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
39121	return &phe, true
39122}
39123
39124// PrimaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning
39125// in a Primary role.
39126type PrimaryReplicatorStatus struct {
39127	// ReplicationQueueStatus - Details about the replication queue on the primary replicator.
39128	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
39129	// RemoteReplicators - The status of all the active and idle secondary replicators that the primary is aware of.
39130	RemoteReplicators *[]RemoteReplicatorStatus `json:"RemoteReplicators,omitempty"`
39131	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
39132	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
39133}
39134
39135// MarshalJSON is the custom marshaler for PrimaryReplicatorStatus.
39136func (prs PrimaryReplicatorStatus) MarshalJSON() ([]byte, error) {
39137	prs.Kind = KindPrimary
39138	objectMap := make(map[string]interface{})
39139	if prs.ReplicationQueueStatus != nil {
39140		objectMap["ReplicationQueueStatus"] = prs.ReplicationQueueStatus
39141	}
39142	if prs.RemoteReplicators != nil {
39143		objectMap["RemoteReplicators"] = prs.RemoteReplicators
39144	}
39145	if prs.Kind != "" {
39146		objectMap["Kind"] = prs.Kind
39147	}
39148	return json.Marshal(objectMap)
39149}
39150
39151// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
39152func (prs PrimaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
39153	return &prs, true
39154}
39155
39156// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
39157func (prs PrimaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
39158	return nil, false
39159}
39160
39161// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
39162func (prs PrimaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
39163	return nil, false
39164}
39165
39166// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
39167func (prs PrimaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
39168	return nil, false
39169}
39170
39171// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
39172func (prs PrimaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
39173	return nil, false
39174}
39175
39176// AsReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
39177func (prs PrimaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
39178	return nil, false
39179}
39180
39181// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for PrimaryReplicatorStatus.
39182func (prs PrimaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
39183	return &prs, true
39184}
39185
39186// ProcessDeactivatedEvent process Deactivated event.
39187type ProcessDeactivatedEvent struct {
39188	// ServiceName - Name of Service.
39189	ServiceName *string `json:"ServiceName,omitempty"`
39190	// ServicePackageName - Name of Service package.
39191	ServicePackageName *string `json:"ServicePackageName,omitempty"`
39192	// ServicePackageActivationID - Activation Id of Service package.
39193	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
39194	// IsExclusive - Indicates IsExclusive flag.
39195	IsExclusive *bool `json:"IsExclusive,omitempty"`
39196	// CodePackageName - Name of Code package.
39197	CodePackageName *string `json:"CodePackageName,omitempty"`
39198	// EntryPointType - Type of EntryPoint.
39199	EntryPointType *string `json:"EntryPointType,omitempty"`
39200	// ExeName - Name of executable.
39201	ExeName *string `json:"ExeName,omitempty"`
39202	// ProcessID - Process Id.
39203	ProcessID *int64 `json:"ProcessId,omitempty"`
39204	// HostID - Host Id.
39205	HostID *string `json:"HostId,omitempty"`
39206	// ExitCode - Exit code of process.
39207	ExitCode *int64 `json:"ExitCode,omitempty"`
39208	// UnexpectedTermination - Indicates if termination is unexpected.
39209	UnexpectedTermination *bool `json:"UnexpectedTermination,omitempty"`
39210	// StartTime - Start time of process.
39211	StartTime *date.Time `json:"StartTime,omitempty"`
39212	// 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.
39213	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the application name is "fabric:/myapp/app1",
39214	// the application identity would be "myapp\~app1" in 6.0+ and "myapp/app1" in previous versions.
39215	ApplicationID *string `json:"ApplicationId,omitempty"`
39216	// EventInstanceID - The identifier for the FabricEvent instance.
39217	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
39218	// TimeStamp - The time event was logged.
39219	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
39220	// HasCorrelatedEvents - Shows there is existing related events available.
39221	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
39222	// 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'
39223	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
39224}
39225
39226// MarshalJSON is the custom marshaler for ProcessDeactivatedEvent.
39227func (pde ProcessDeactivatedEvent) MarshalJSON() ([]byte, error) {
39228	pde.Kind = KindProcessDeactivated
39229	objectMap := make(map[string]interface{})
39230	if pde.ServiceName != nil {
39231		objectMap["ServiceName"] = pde.ServiceName
39232	}
39233	if pde.ServicePackageName != nil {
39234		objectMap["ServicePackageName"] = pde.ServicePackageName
39235	}
39236	if pde.ServicePackageActivationID != nil {
39237		objectMap["ServicePackageActivationId"] = pde.ServicePackageActivationID
39238	}
39239	if pde.IsExclusive != nil {
39240		objectMap["IsExclusive"] = pde.IsExclusive
39241	}
39242	if pde.CodePackageName != nil {
39243		objectMap["CodePackageName"] = pde.CodePackageName
39244	}
39245	if pde.EntryPointType != nil {
39246		objectMap["EntryPointType"] = pde.EntryPointType
39247	}
39248	if pde.ExeName != nil {
39249		objectMap["ExeName"] = pde.ExeName
39250	}
39251	if pde.ProcessID != nil {
39252		objectMap["ProcessId"] = pde.ProcessID
39253	}
39254	if pde.HostID != nil {
39255		objectMap["HostId"] = pde.HostID
39256	}
39257	if pde.ExitCode != nil {
39258		objectMap["ExitCode"] = pde.ExitCode
39259	}
39260	if pde.UnexpectedTermination != nil {
39261		objectMap["UnexpectedTermination"] = pde.UnexpectedTermination
39262	}
39263	if pde.StartTime != nil {
39264		objectMap["StartTime"] = pde.StartTime
39265	}
39266	if pde.ApplicationID != nil {
39267		objectMap["ApplicationId"] = pde.ApplicationID
39268	}
39269	if pde.EventInstanceID != nil {
39270		objectMap["EventInstanceId"] = pde.EventInstanceID
39271	}
39272	if pde.TimeStamp != nil {
39273		objectMap["TimeStamp"] = pde.TimeStamp
39274	}
39275	if pde.HasCorrelatedEvents != nil {
39276		objectMap["HasCorrelatedEvents"] = pde.HasCorrelatedEvents
39277	}
39278	if pde.Kind != "" {
39279		objectMap["Kind"] = pde.Kind
39280	}
39281	return json.Marshal(objectMap)
39282}
39283
39284// AsApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39285func (pde ProcessDeactivatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
39286	return nil, false
39287}
39288
39289// AsBasicApplicationEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39290func (pde ProcessDeactivatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
39291	return &pde, true
39292}
39293
39294// AsClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39295func (pde ProcessDeactivatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
39296	return nil, false
39297}
39298
39299// AsBasicClusterEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39300func (pde ProcessDeactivatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
39301	return nil, false
39302}
39303
39304// AsContainerInstanceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39305func (pde ProcessDeactivatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
39306	return nil, false
39307}
39308
39309// AsNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39310func (pde ProcessDeactivatedEvent) AsNodeEvent() (*NodeEvent, bool) {
39311	return nil, false
39312}
39313
39314// AsBasicNodeEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39315func (pde ProcessDeactivatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
39316	return nil, false
39317}
39318
39319// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39320func (pde ProcessDeactivatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
39321	return nil, false
39322}
39323
39324// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39325func (pde ProcessDeactivatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
39326	return nil, false
39327}
39328
39329// AsPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39330func (pde ProcessDeactivatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
39331	return nil, false
39332}
39333
39334// AsBasicPartitionEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39335func (pde ProcessDeactivatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
39336	return nil, false
39337}
39338
39339// AsReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39340func (pde ProcessDeactivatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
39341	return nil, false
39342}
39343
39344// AsBasicReplicaEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39345func (pde ProcessDeactivatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
39346	return nil, false
39347}
39348
39349// AsServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39350func (pde ProcessDeactivatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
39351	return nil, false
39352}
39353
39354// AsBasicServiceEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39355func (pde ProcessDeactivatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
39356	return nil, false
39357}
39358
39359// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39360func (pde ProcessDeactivatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
39361	return nil, false
39362}
39363
39364// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39365func (pde ProcessDeactivatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
39366	return nil, false
39367}
39368
39369// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39370func (pde ProcessDeactivatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
39371	return nil, false
39372}
39373
39374// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39375func (pde ProcessDeactivatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
39376	return nil, false
39377}
39378
39379// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39380func (pde ProcessDeactivatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
39381	return nil, false
39382}
39383
39384// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39385func (pde ProcessDeactivatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
39386	return nil, false
39387}
39388
39389// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39390func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
39391	return nil, false
39392}
39393
39394// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39395func (pde ProcessDeactivatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
39396	return nil, false
39397}
39398
39399// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39400func (pde ProcessDeactivatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
39401	return nil, false
39402}
39403
39404// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39405func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
39406	return nil, false
39407}
39408
39409// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39410func (pde ProcessDeactivatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
39411	return nil, false
39412}
39413
39414// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39415func (pde ProcessDeactivatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
39416	return &pde, true
39417}
39418
39419// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39420func (pde ProcessDeactivatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
39421	return nil, false
39422}
39423
39424// AsNodeAbortedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39425func (pde ProcessDeactivatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
39426	return nil, false
39427}
39428
39429// AsNodeAbortingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39430func (pde ProcessDeactivatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
39431	return nil, false
39432}
39433
39434// AsNodeAddedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39435func (pde ProcessDeactivatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
39436	return nil, false
39437}
39438
39439// AsNodeCloseEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39440func (pde ProcessDeactivatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
39441	return nil, false
39442}
39443
39444// AsNodeClosingEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39445func (pde ProcessDeactivatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
39446	return nil, false
39447}
39448
39449// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39450func (pde ProcessDeactivatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
39451	return nil, false
39452}
39453
39454// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39455func (pde ProcessDeactivatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
39456	return nil, false
39457}
39458
39459// AsNodeDownEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39460func (pde ProcessDeactivatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
39461	return nil, false
39462}
39463
39464// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39465func (pde ProcessDeactivatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
39466	return nil, false
39467}
39468
39469// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39470func (pde ProcessDeactivatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
39471	return nil, false
39472}
39473
39474// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39475func (pde ProcessDeactivatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
39476	return nil, false
39477}
39478
39479// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39480func (pde ProcessDeactivatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
39481	return nil, false
39482}
39483
39484// AsNodeOpeningEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39485func (pde ProcessDeactivatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
39486	return nil, false
39487}
39488
39489// AsNodeRemovedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39490func (pde ProcessDeactivatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
39491	return nil, false
39492}
39493
39494// AsNodeUpEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39495func (pde ProcessDeactivatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
39496	return nil, false
39497}
39498
39499// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39500func (pde ProcessDeactivatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
39501	return nil, false
39502}
39503
39504// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39505func (pde ProcessDeactivatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
39506	return nil, false
39507}
39508
39509// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39510func (pde ProcessDeactivatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
39511	return nil, false
39512}
39513
39514// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39515func (pde ProcessDeactivatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
39516	return nil, false
39517}
39518
39519// AsServiceCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39520func (pde ProcessDeactivatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
39521	return nil, false
39522}
39523
39524// AsServiceDeletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39525func (pde ProcessDeactivatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
39526	return nil, false
39527}
39528
39529// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39530func (pde ProcessDeactivatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
39531	return nil, false
39532}
39533
39534// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39535func (pde ProcessDeactivatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
39536	return nil, false
39537}
39538
39539// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39540func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
39541	return nil, false
39542}
39543
39544// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39545func (pde ProcessDeactivatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
39546	return nil, false
39547}
39548
39549// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39550func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
39551	return nil, false
39552}
39553
39554// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39555func (pde ProcessDeactivatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
39556	return nil, false
39557}
39558
39559// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39560func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
39561	return nil, false
39562}
39563
39564// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39565func (pde ProcessDeactivatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
39566	return nil, false
39567}
39568
39569// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39570func (pde ProcessDeactivatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
39571	return nil, false
39572}
39573
39574// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39575func (pde ProcessDeactivatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
39576	return nil, false
39577}
39578
39579// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39580func (pde ProcessDeactivatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
39581	return nil, false
39582}
39583
39584// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39585func (pde ProcessDeactivatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
39586	return nil, false
39587}
39588
39589// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39590func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
39591	return nil, false
39592}
39593
39594// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39595func (pde ProcessDeactivatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
39596	return nil, false
39597}
39598
39599// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39600func (pde ProcessDeactivatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
39601	return nil, false
39602}
39603
39604// AsChaosStoppedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39605func (pde ProcessDeactivatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
39606	return nil, false
39607}
39608
39609// AsChaosStartedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39610func (pde ProcessDeactivatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
39611	return nil, false
39612}
39613
39614// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39615func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
39616	return nil, false
39617}
39618
39619// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39620func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
39621	return nil, false
39622}
39623
39624// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39625func (pde ProcessDeactivatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
39626	return nil, false
39627}
39628
39629// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39630func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
39631	return nil, false
39632}
39633
39634// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39635func (pde ProcessDeactivatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
39636	return nil, false
39637}
39638
39639// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39640func (pde ProcessDeactivatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
39641	return nil, false
39642}
39643
39644// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39645func (pde ProcessDeactivatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
39646	return nil, false
39647}
39648
39649// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39650func (pde ProcessDeactivatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
39651	return nil, false
39652}
39653
39654// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39655func (pde ProcessDeactivatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
39656	return nil, false
39657}
39658
39659// AsFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39660func (pde ProcessDeactivatedEvent) AsFabricEvent() (*FabricEvent, bool) {
39661	return nil, false
39662}
39663
39664// AsBasicFabricEvent is the BasicFabricEvent implementation for ProcessDeactivatedEvent.
39665func (pde ProcessDeactivatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
39666	return &pde, true
39667}
39668
39669// PropertyBatchDescriptionList describes a list of property batch operations to be executed. Either all or
39670// none of the operations will be committed.
39671type PropertyBatchDescriptionList struct {
39672	// Operations - A list of the property batch operations to be executed.
39673	Operations *[]BasicPropertyBatchOperation `json:"Operations,omitempty"`
39674}
39675
39676// UnmarshalJSON is the custom unmarshaler for PropertyBatchDescriptionList struct.
39677func (pbdl *PropertyBatchDescriptionList) UnmarshalJSON(body []byte) error {
39678	var m map[string]*json.RawMessage
39679	err := json.Unmarshal(body, &m)
39680	if err != nil {
39681		return err
39682	}
39683	for k, v := range m {
39684		switch k {
39685		case "Operations":
39686			if v != nil {
39687				operations, err := unmarshalBasicPropertyBatchOperationArray(*v)
39688				if err != nil {
39689					return err
39690				}
39691				pbdl.Operations = &operations
39692			}
39693		}
39694	}
39695
39696	return nil
39697}
39698
39699// BasicPropertyBatchInfo information about the results of a property batch.
39700type BasicPropertyBatchInfo interface {
39701	AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool)
39702	AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool)
39703	AsPropertyBatchInfo() (*PropertyBatchInfo, bool)
39704}
39705
39706// PropertyBatchInfo information about the results of a property batch.
39707type PropertyBatchInfo struct {
39708	autorest.Response `json:"-"`
39709	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
39710	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
39711}
39712
39713func unmarshalBasicPropertyBatchInfo(body []byte) (BasicPropertyBatchInfo, error) {
39714	var m map[string]interface{}
39715	err := json.Unmarshal(body, &m)
39716	if err != nil {
39717		return nil, err
39718	}
39719
39720	switch m["Kind"] {
39721	case string(KindSuccessful):
39722		var spbi SuccessfulPropertyBatchInfo
39723		err := json.Unmarshal(body, &spbi)
39724		return spbi, err
39725	case string(KindFailed):
39726		var fpbi FailedPropertyBatchInfo
39727		err := json.Unmarshal(body, &fpbi)
39728		return fpbi, err
39729	default:
39730		var pbi PropertyBatchInfo
39731		err := json.Unmarshal(body, &pbi)
39732		return pbi, err
39733	}
39734}
39735func unmarshalBasicPropertyBatchInfoArray(body []byte) ([]BasicPropertyBatchInfo, error) {
39736	var rawMessages []*json.RawMessage
39737	err := json.Unmarshal(body, &rawMessages)
39738	if err != nil {
39739		return nil, err
39740	}
39741
39742	pbiArray := make([]BasicPropertyBatchInfo, len(rawMessages))
39743
39744	for index, rawMessage := range rawMessages {
39745		pbi, err := unmarshalBasicPropertyBatchInfo(*rawMessage)
39746		if err != nil {
39747			return nil, err
39748		}
39749		pbiArray[index] = pbi
39750	}
39751	return pbiArray, nil
39752}
39753
39754// MarshalJSON is the custom marshaler for PropertyBatchInfo.
39755func (pbi PropertyBatchInfo) MarshalJSON() ([]byte, error) {
39756	pbi.Kind = KindPropertyBatchInfo
39757	objectMap := make(map[string]interface{})
39758	if pbi.Kind != "" {
39759		objectMap["Kind"] = pbi.Kind
39760	}
39761	return json.Marshal(objectMap)
39762}
39763
39764// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39765func (pbi PropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
39766	return nil, false
39767}
39768
39769// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39770func (pbi PropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
39771	return nil, false
39772}
39773
39774// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39775func (pbi PropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
39776	return &pbi, true
39777}
39778
39779// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for PropertyBatchInfo.
39780func (pbi PropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
39781	return &pbi, true
39782}
39783
39784// PropertyBatchInfoModel ...
39785type PropertyBatchInfoModel struct {
39786	autorest.Response `json:"-"`
39787	Value             BasicPropertyBatchInfo `json:"value,omitempty"`
39788}
39789
39790// UnmarshalJSON is the custom unmarshaler for PropertyBatchInfoModel struct.
39791func (pbim *PropertyBatchInfoModel) UnmarshalJSON(body []byte) error {
39792	pbi, err := unmarshalBasicPropertyBatchInfo(body)
39793	if err != nil {
39794		return err
39795	}
39796	pbim.Value = pbi
39797
39798	return nil
39799}
39800
39801// BasicPropertyBatchOperation represents the base type for property operations that can be put into a batch and
39802// submitted.
39803type BasicPropertyBatchOperation interface {
39804	AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool)
39805	AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool)
39806	AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool)
39807	AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool)
39808	AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool)
39809	AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool)
39810	AsPropertyBatchOperation() (*PropertyBatchOperation, bool)
39811}
39812
39813// PropertyBatchOperation represents the base type for property operations that can be put into a batch and
39814// submitted.
39815type PropertyBatchOperation struct {
39816	// PropertyName - The name of the Service Fabric property.
39817	PropertyName *string `json:"PropertyName,omitempty"`
39818	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
39819	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
39820}
39821
39822func unmarshalBasicPropertyBatchOperation(body []byte) (BasicPropertyBatchOperation, error) {
39823	var m map[string]interface{}
39824	err := json.Unmarshal(body, &m)
39825	if err != nil {
39826		return nil, err
39827	}
39828
39829	switch m["Kind"] {
39830	case string(KindCheckExists):
39831		var cepbo CheckExistsPropertyBatchOperation
39832		err := json.Unmarshal(body, &cepbo)
39833		return cepbo, err
39834	case string(KindCheckSequence):
39835		var cspbo CheckSequencePropertyBatchOperation
39836		err := json.Unmarshal(body, &cspbo)
39837		return cspbo, err
39838	case string(KindCheckValue):
39839		var cvpbo CheckValuePropertyBatchOperation
39840		err := json.Unmarshal(body, &cvpbo)
39841		return cvpbo, err
39842	case string(KindDelete):
39843		var dpbo DeletePropertyBatchOperation
39844		err := json.Unmarshal(body, &dpbo)
39845		return dpbo, err
39846	case string(KindGet):
39847		var gpbo GetPropertyBatchOperation
39848		err := json.Unmarshal(body, &gpbo)
39849		return gpbo, err
39850	case string(KindPut):
39851		var ppbo PutPropertyBatchOperation
39852		err := json.Unmarshal(body, &ppbo)
39853		return ppbo, err
39854	default:
39855		var pbo PropertyBatchOperation
39856		err := json.Unmarshal(body, &pbo)
39857		return pbo, err
39858	}
39859}
39860func unmarshalBasicPropertyBatchOperationArray(body []byte) ([]BasicPropertyBatchOperation, error) {
39861	var rawMessages []*json.RawMessage
39862	err := json.Unmarshal(body, &rawMessages)
39863	if err != nil {
39864		return nil, err
39865	}
39866
39867	pboArray := make([]BasicPropertyBatchOperation, len(rawMessages))
39868
39869	for index, rawMessage := range rawMessages {
39870		pbo, err := unmarshalBasicPropertyBatchOperation(*rawMessage)
39871		if err != nil {
39872			return nil, err
39873		}
39874		pboArray[index] = pbo
39875	}
39876	return pboArray, nil
39877}
39878
39879// MarshalJSON is the custom marshaler for PropertyBatchOperation.
39880func (pbo PropertyBatchOperation) MarshalJSON() ([]byte, error) {
39881	pbo.Kind = KindPropertyBatchOperation
39882	objectMap := make(map[string]interface{})
39883	if pbo.PropertyName != nil {
39884		objectMap["PropertyName"] = pbo.PropertyName
39885	}
39886	if pbo.Kind != "" {
39887		objectMap["Kind"] = pbo.Kind
39888	}
39889	return json.Marshal(objectMap)
39890}
39891
39892// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39893func (pbo PropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
39894	return nil, false
39895}
39896
39897// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39898func (pbo PropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
39899	return nil, false
39900}
39901
39902// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39903func (pbo PropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
39904	return nil, false
39905}
39906
39907// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39908func (pbo PropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
39909	return nil, false
39910}
39911
39912// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39913func (pbo PropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
39914	return nil, false
39915}
39916
39917// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39918func (pbo PropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
39919	return nil, false
39920}
39921
39922// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39923func (pbo PropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
39924	return &pbo, true
39925}
39926
39927// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PropertyBatchOperation.
39928func (pbo PropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
39929	return &pbo, true
39930}
39931
39932// PropertyDescription description of a Service Fabric property.
39933type PropertyDescription struct {
39934	// PropertyName - The name of the Service Fabric property.
39935	PropertyName *string `json:"PropertyName,omitempty"`
39936	// CustomTypeID - The property's custom type ID. Using this property, the user is able to tag the type of the value of the property.
39937	CustomTypeID *string `json:"CustomTypeId,omitempty"`
39938	// Value - Describes a Service Fabric property value.
39939	Value BasicPropertyValue `json:"Value,omitempty"`
39940}
39941
39942// UnmarshalJSON is the custom unmarshaler for PropertyDescription struct.
39943func (pd *PropertyDescription) UnmarshalJSON(body []byte) error {
39944	var m map[string]*json.RawMessage
39945	err := json.Unmarshal(body, &m)
39946	if err != nil {
39947		return err
39948	}
39949	for k, v := range m {
39950		switch k {
39951		case "PropertyName":
39952			if v != nil {
39953				var propertyName string
39954				err = json.Unmarshal(*v, &propertyName)
39955				if err != nil {
39956					return err
39957				}
39958				pd.PropertyName = &propertyName
39959			}
39960		case "CustomTypeId":
39961			if v != nil {
39962				var customTypeID string
39963				err = json.Unmarshal(*v, &customTypeID)
39964				if err != nil {
39965					return err
39966				}
39967				pd.CustomTypeID = &customTypeID
39968			}
39969		case "Value":
39970			if v != nil {
39971				value, err := unmarshalBasicPropertyValue(*v)
39972				if err != nil {
39973					return err
39974				}
39975				pd.Value = value
39976			}
39977		}
39978	}
39979
39980	return nil
39981}
39982
39983// PropertyInfo information about a Service Fabric property.
39984type PropertyInfo struct {
39985	autorest.Response `json:"-"`
39986	// Name - The name of the Service Fabric property.
39987	Name *string `json:"Name,omitempty"`
39988	// Value - Describes a Service Fabric property value.
39989	Value BasicPropertyValue `json:"Value,omitempty"`
39990	// Metadata - The metadata associated with a property, including the property's name.
39991	Metadata *PropertyMetadata `json:"Metadata,omitempty"`
39992}
39993
39994// UnmarshalJSON is the custom unmarshaler for PropertyInfo struct.
39995func (pi *PropertyInfo) UnmarshalJSON(body []byte) error {
39996	var m map[string]*json.RawMessage
39997	err := json.Unmarshal(body, &m)
39998	if err != nil {
39999		return err
40000	}
40001	for k, v := range m {
40002		switch k {
40003		case "Name":
40004			if v != nil {
40005				var name string
40006				err = json.Unmarshal(*v, &name)
40007				if err != nil {
40008					return err
40009				}
40010				pi.Name = &name
40011			}
40012		case "Value":
40013			if v != nil {
40014				value, err := unmarshalBasicPropertyValue(*v)
40015				if err != nil {
40016					return err
40017				}
40018				pi.Value = value
40019			}
40020		case "Metadata":
40021			if v != nil {
40022				var metadata PropertyMetadata
40023				err = json.Unmarshal(*v, &metadata)
40024				if err != nil {
40025					return err
40026				}
40027				pi.Metadata = &metadata
40028			}
40029		}
40030	}
40031
40032	return nil
40033}
40034
40035// PropertyMetadata the metadata associated with a property, including the property's name.
40036type PropertyMetadata struct {
40037	// 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'
40038	TypeID PropertyValueKind `json:"TypeId,omitempty"`
40039	// CustomTypeID - The property's custom type ID.
40040	CustomTypeID *string `json:"CustomTypeId,omitempty"`
40041	// Parent - The name of the parent Service Fabric Name for the property. It could be thought of as the name-space/table under which the property exists.
40042	Parent *string `json:"Parent,omitempty"`
40043	// SizeInBytes - The length of the serialized property value.
40044	SizeInBytes *int32 `json:"SizeInBytes,omitempty"`
40045	// LastModifiedUtcTimestamp - Represents when the Property was last modified. Only write operations will cause this field to be updated.
40046	LastModifiedUtcTimestamp *date.Time `json:"LastModifiedUtcTimestamp,omitempty"`
40047	// SequenceNumber - The version of the property. Every time a property is modified, its sequence number is increased.
40048	SequenceNumber *string `json:"SequenceNumber,omitempty"`
40049}
40050
40051// BasicPropertyValue describes a Service Fabric property value.
40052type BasicPropertyValue interface {
40053	AsBinaryPropertyValue() (*BinaryPropertyValue, bool)
40054	AsInt64PropertyValue() (*Int64PropertyValue, bool)
40055	AsDoublePropertyValue() (*DoublePropertyValue, bool)
40056	AsStringPropertyValue() (*StringPropertyValue, bool)
40057	AsGUIDPropertyValue() (*GUIDPropertyValue, bool)
40058	AsPropertyValue() (*PropertyValue, bool)
40059}
40060
40061// PropertyValue describes a Service Fabric property value.
40062type PropertyValue struct {
40063	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
40064	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
40065}
40066
40067func unmarshalBasicPropertyValue(body []byte) (BasicPropertyValue, error) {
40068	var m map[string]interface{}
40069	err := json.Unmarshal(body, &m)
40070	if err != nil {
40071		return nil, err
40072	}
40073
40074	switch m["Kind"] {
40075	case string(KindBinary):
40076		var bpv BinaryPropertyValue
40077		err := json.Unmarshal(body, &bpv)
40078		return bpv, err
40079	case string(KindInt64):
40080		var i6pv Int64PropertyValue
40081		err := json.Unmarshal(body, &i6pv)
40082		return i6pv, err
40083	case string(KindDouble):
40084		var dpv DoublePropertyValue
40085		err := json.Unmarshal(body, &dpv)
40086		return dpv, err
40087	case string(KindString):
40088		var spv StringPropertyValue
40089		err := json.Unmarshal(body, &spv)
40090		return spv, err
40091	case string(KindGUID):
40092		var gpv GUIDPropertyValue
40093		err := json.Unmarshal(body, &gpv)
40094		return gpv, err
40095	default:
40096		var pv PropertyValue
40097		err := json.Unmarshal(body, &pv)
40098		return pv, err
40099	}
40100}
40101func unmarshalBasicPropertyValueArray(body []byte) ([]BasicPropertyValue, error) {
40102	var rawMessages []*json.RawMessage
40103	err := json.Unmarshal(body, &rawMessages)
40104	if err != nil {
40105		return nil, err
40106	}
40107
40108	pvArray := make([]BasicPropertyValue, len(rawMessages))
40109
40110	for index, rawMessage := range rawMessages {
40111		pv, err := unmarshalBasicPropertyValue(*rawMessage)
40112		if err != nil {
40113			return nil, err
40114		}
40115		pvArray[index] = pv
40116	}
40117	return pvArray, nil
40118}
40119
40120// MarshalJSON is the custom marshaler for PropertyValue.
40121func (pv PropertyValue) MarshalJSON() ([]byte, error) {
40122	pv.Kind = KindPropertyValue
40123	objectMap := make(map[string]interface{})
40124	if pv.Kind != "" {
40125		objectMap["Kind"] = pv.Kind
40126	}
40127	return json.Marshal(objectMap)
40128}
40129
40130// AsBinaryPropertyValue is the BasicPropertyValue implementation for PropertyValue.
40131func (pv PropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
40132	return nil, false
40133}
40134
40135// AsInt64PropertyValue is the BasicPropertyValue implementation for PropertyValue.
40136func (pv PropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
40137	return nil, false
40138}
40139
40140// AsDoublePropertyValue is the BasicPropertyValue implementation for PropertyValue.
40141func (pv PropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
40142	return nil, false
40143}
40144
40145// AsStringPropertyValue is the BasicPropertyValue implementation for PropertyValue.
40146func (pv PropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
40147	return nil, false
40148}
40149
40150// AsGUIDPropertyValue is the BasicPropertyValue implementation for PropertyValue.
40151func (pv PropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
40152	return nil, false
40153}
40154
40155// AsPropertyValue is the BasicPropertyValue implementation for PropertyValue.
40156func (pv PropertyValue) AsPropertyValue() (*PropertyValue, bool) {
40157	return &pv, true
40158}
40159
40160// AsBasicPropertyValue is the BasicPropertyValue implementation for PropertyValue.
40161func (pv PropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
40162	return &pv, true
40163}
40164
40165// ProvisionApplicationTypeDescription describes the operation to register or provision an application type
40166// using an application package uploaded to the Service Fabric image store.
40167type ProvisionApplicationTypeDescription struct {
40168	// ApplicationTypeBuildPath - The relative path for the application package in the image store specified during the prior upload operation.
40169	ApplicationTypeBuildPath *string `json:"ApplicationTypeBuildPath,omitempty"`
40170	// 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'
40171	ApplicationPackageCleanupPolicy ApplicationPackageCleanupPolicy `json:"ApplicationPackageCleanupPolicy,omitempty"`
40172	// 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.
40173	Async *bool `json:"Async,omitempty"`
40174	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
40175	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
40176}
40177
40178// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescription.
40179func (patd ProvisionApplicationTypeDescription) MarshalJSON() ([]byte, error) {
40180	patd.Kind = KindImageStorePath
40181	objectMap := make(map[string]interface{})
40182	if patd.ApplicationTypeBuildPath != nil {
40183		objectMap["ApplicationTypeBuildPath"] = patd.ApplicationTypeBuildPath
40184	}
40185	if patd.ApplicationPackageCleanupPolicy != "" {
40186		objectMap["ApplicationPackageCleanupPolicy"] = patd.ApplicationPackageCleanupPolicy
40187	}
40188	if patd.Async != nil {
40189		objectMap["Async"] = patd.Async
40190	}
40191	if patd.Kind != "" {
40192		objectMap["Kind"] = patd.Kind
40193	}
40194	return json.Marshal(objectMap)
40195}
40196
40197// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
40198func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
40199	return &patd, true
40200}
40201
40202// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
40203func (patd ProvisionApplicationTypeDescription) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
40204	return nil, false
40205}
40206
40207// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
40208func (patd ProvisionApplicationTypeDescription) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
40209	return nil, false
40210}
40211
40212// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescription.
40213func (patd ProvisionApplicationTypeDescription) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
40214	return &patd, true
40215}
40216
40217// BasicProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if the
40218// operation needs to be asynchronous or not. Supported types of provision operations are from either image store or
40219// external store.
40220type BasicProvisionApplicationTypeDescriptionBase interface {
40221	AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool)
40222	AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool)
40223	AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool)
40224}
40225
40226// ProvisionApplicationTypeDescriptionBase represents the type of registration or provision requested, and if
40227// the operation needs to be asynchronous or not. Supported types of provision operations are from either image
40228// store or external store.
40229type ProvisionApplicationTypeDescriptionBase struct {
40230	// 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.
40231	Async *bool `json:"Async,omitempty"`
40232	// Kind - Possible values include: 'KindProvisionApplicationTypeDescriptionBase', 'KindImageStorePath', 'KindExternalStore'
40233	Kind KindBasicProvisionApplicationTypeDescriptionBase `json:"Kind,omitempty"`
40234}
40235
40236func unmarshalBasicProvisionApplicationTypeDescriptionBase(body []byte) (BasicProvisionApplicationTypeDescriptionBase, error) {
40237	var m map[string]interface{}
40238	err := json.Unmarshal(body, &m)
40239	if err != nil {
40240		return nil, err
40241	}
40242
40243	switch m["Kind"] {
40244	case string(KindImageStorePath):
40245		var patd ProvisionApplicationTypeDescription
40246		err := json.Unmarshal(body, &patd)
40247		return patd, err
40248	case string(KindExternalStore):
40249		var espatd ExternalStoreProvisionApplicationTypeDescription
40250		err := json.Unmarshal(body, &espatd)
40251		return espatd, err
40252	default:
40253		var patdb ProvisionApplicationTypeDescriptionBase
40254		err := json.Unmarshal(body, &patdb)
40255		return patdb, err
40256	}
40257}
40258func unmarshalBasicProvisionApplicationTypeDescriptionBaseArray(body []byte) ([]BasicProvisionApplicationTypeDescriptionBase, error) {
40259	var rawMessages []*json.RawMessage
40260	err := json.Unmarshal(body, &rawMessages)
40261	if err != nil {
40262		return nil, err
40263	}
40264
40265	patdbArray := make([]BasicProvisionApplicationTypeDescriptionBase, len(rawMessages))
40266
40267	for index, rawMessage := range rawMessages {
40268		patdb, err := unmarshalBasicProvisionApplicationTypeDescriptionBase(*rawMessage)
40269		if err != nil {
40270			return nil, err
40271		}
40272		patdbArray[index] = patdb
40273	}
40274	return patdbArray, nil
40275}
40276
40277// MarshalJSON is the custom marshaler for ProvisionApplicationTypeDescriptionBase.
40278func (patdb ProvisionApplicationTypeDescriptionBase) MarshalJSON() ([]byte, error) {
40279	patdb.Kind = KindProvisionApplicationTypeDescriptionBase
40280	objectMap := make(map[string]interface{})
40281	if patdb.Async != nil {
40282		objectMap["Async"] = patdb.Async
40283	}
40284	if patdb.Kind != "" {
40285		objectMap["Kind"] = patdb.Kind
40286	}
40287	return json.Marshal(objectMap)
40288}
40289
40290// AsProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
40291func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescription() (*ProvisionApplicationTypeDescription, bool) {
40292	return nil, false
40293}
40294
40295// AsExternalStoreProvisionApplicationTypeDescription is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
40296func (patdb ProvisionApplicationTypeDescriptionBase) AsExternalStoreProvisionApplicationTypeDescription() (*ExternalStoreProvisionApplicationTypeDescription, bool) {
40297	return nil, false
40298}
40299
40300// AsProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
40301func (patdb ProvisionApplicationTypeDescriptionBase) AsProvisionApplicationTypeDescriptionBase() (*ProvisionApplicationTypeDescriptionBase, bool) {
40302	return &patdb, true
40303}
40304
40305// AsBasicProvisionApplicationTypeDescriptionBase is the BasicProvisionApplicationTypeDescriptionBase implementation for ProvisionApplicationTypeDescriptionBase.
40306func (patdb ProvisionApplicationTypeDescriptionBase) AsBasicProvisionApplicationTypeDescriptionBase() (BasicProvisionApplicationTypeDescriptionBase, bool) {
40307	return &patdb, true
40308}
40309
40310// ProvisionFabricDescription describes the parameters for provisioning a cluster.
40311type ProvisionFabricDescription struct {
40312	// CodeFilePath - The cluster code package file path.
40313	CodeFilePath *string `json:"CodeFilePath,omitempty"`
40314	// ClusterManifestFilePath - The cluster manifest file path.
40315	ClusterManifestFilePath *string `json:"ClusterManifestFilePath,omitempty"`
40316}
40317
40318// PutPropertyBatchOperation puts the specified property under the specified name.
40319// Note that if one PropertyBatchOperation in a PropertyBatch fails,
40320// the entire batch fails and cannot be committed in a transactional manner.
40321type PutPropertyBatchOperation struct {
40322	// Value - Describes a Service Fabric property value.
40323	Value BasicPropertyValue `json:"Value,omitempty"`
40324	// CustomTypeID - The property's custom type ID. Using this property, the user is able to tag the type of the value of the property.
40325	CustomTypeID *string `json:"CustomTypeId,omitempty"`
40326	// PropertyName - The name of the Service Fabric property.
40327	PropertyName *string `json:"PropertyName,omitempty"`
40328	// Kind - Possible values include: 'KindPropertyBatchOperation', 'KindCheckExists', 'KindCheckSequence', 'KindCheckValue', 'KindDelete', 'KindGet', 'KindPut'
40329	Kind KindBasicPropertyBatchOperation `json:"Kind,omitempty"`
40330}
40331
40332// MarshalJSON is the custom marshaler for PutPropertyBatchOperation.
40333func (ppbo PutPropertyBatchOperation) MarshalJSON() ([]byte, error) {
40334	ppbo.Kind = KindPut
40335	objectMap := make(map[string]interface{})
40336	objectMap["Value"] = ppbo.Value
40337	if ppbo.CustomTypeID != nil {
40338		objectMap["CustomTypeId"] = ppbo.CustomTypeID
40339	}
40340	if ppbo.PropertyName != nil {
40341		objectMap["PropertyName"] = ppbo.PropertyName
40342	}
40343	if ppbo.Kind != "" {
40344		objectMap["Kind"] = ppbo.Kind
40345	}
40346	return json.Marshal(objectMap)
40347}
40348
40349// AsCheckExistsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40350func (ppbo PutPropertyBatchOperation) AsCheckExistsPropertyBatchOperation() (*CheckExistsPropertyBatchOperation, bool) {
40351	return nil, false
40352}
40353
40354// AsCheckSequencePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40355func (ppbo PutPropertyBatchOperation) AsCheckSequencePropertyBatchOperation() (*CheckSequencePropertyBatchOperation, bool) {
40356	return nil, false
40357}
40358
40359// AsCheckValuePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40360func (ppbo PutPropertyBatchOperation) AsCheckValuePropertyBatchOperation() (*CheckValuePropertyBatchOperation, bool) {
40361	return nil, false
40362}
40363
40364// AsDeletePropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40365func (ppbo PutPropertyBatchOperation) AsDeletePropertyBatchOperation() (*DeletePropertyBatchOperation, bool) {
40366	return nil, false
40367}
40368
40369// AsGetPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40370func (ppbo PutPropertyBatchOperation) AsGetPropertyBatchOperation() (*GetPropertyBatchOperation, bool) {
40371	return nil, false
40372}
40373
40374// AsPutPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40375func (ppbo PutPropertyBatchOperation) AsPutPropertyBatchOperation() (*PutPropertyBatchOperation, bool) {
40376	return &ppbo, true
40377}
40378
40379// AsPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40380func (ppbo PutPropertyBatchOperation) AsPropertyBatchOperation() (*PropertyBatchOperation, bool) {
40381	return nil, false
40382}
40383
40384// AsBasicPropertyBatchOperation is the BasicPropertyBatchOperation implementation for PutPropertyBatchOperation.
40385func (ppbo PutPropertyBatchOperation) AsBasicPropertyBatchOperation() (BasicPropertyBatchOperation, bool) {
40386	return &ppbo, true
40387}
40388
40389// UnmarshalJSON is the custom unmarshaler for PutPropertyBatchOperation struct.
40390func (ppbo *PutPropertyBatchOperation) UnmarshalJSON(body []byte) error {
40391	var m map[string]*json.RawMessage
40392	err := json.Unmarshal(body, &m)
40393	if err != nil {
40394		return err
40395	}
40396	for k, v := range m {
40397		switch k {
40398		case "Value":
40399			if v != nil {
40400				value, err := unmarshalBasicPropertyValue(*v)
40401				if err != nil {
40402					return err
40403				}
40404				ppbo.Value = value
40405			}
40406		case "CustomTypeId":
40407			if v != nil {
40408				var customTypeID string
40409				err = json.Unmarshal(*v, &customTypeID)
40410				if err != nil {
40411					return err
40412				}
40413				ppbo.CustomTypeID = &customTypeID
40414			}
40415		case "PropertyName":
40416			if v != nil {
40417				var propertyName string
40418				err = json.Unmarshal(*v, &propertyName)
40419				if err != nil {
40420					return err
40421				}
40422				ppbo.PropertyName = &propertyName
40423			}
40424		case "Kind":
40425			if v != nil {
40426				var kind KindBasicPropertyBatchOperation
40427				err = json.Unmarshal(*v, &kind)
40428				if err != nil {
40429					return err
40430				}
40431				ppbo.Kind = kind
40432			}
40433		}
40434	}
40435
40436	return nil
40437}
40438
40439// ReconfigurationInformation information about current reconfiguration like phase, type, previous
40440// configuration role of replica and reconfiguration start date time.
40441type ReconfigurationInformation struct {
40442	// PreviousConfigurationRole - Replica role before reconfiguration started. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
40443	PreviousConfigurationRole ReplicaRole `json:"PreviousConfigurationRole,omitempty"`
40444	// 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'
40445	ReconfigurationPhase ReconfigurationPhase `json:"ReconfigurationPhase,omitempty"`
40446	// 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'
40447	ReconfigurationType ReconfigurationType `json:"ReconfigurationType,omitempty"`
40448	// ReconfigurationStartTimeUtc - Start time (in UTC) of the ongoing reconfiguration. If no reconfiguration is taking place then this value will be zero date-time.
40449	ReconfigurationStartTimeUtc *date.Time `json:"ReconfigurationStartTimeUtc,omitempty"`
40450}
40451
40452// RegistryCredential credential information to connect to container registry.
40453type RegistryCredential struct {
40454	// RegistryUserName - The user name to connect to container registry.
40455	RegistryUserName *string `json:"RegistryUserName,omitempty"`
40456	// RegistryPassword - The password for supplied username to connect to container registry.
40457	RegistryPassword *string `json:"RegistryPassword,omitempty"`
40458	// PasswordEncrypted - Indicates that supplied container registry password is encrypted.
40459	PasswordEncrypted *bool `json:"PasswordEncrypted,omitempty"`
40460}
40461
40462// RemoteReplicatorAcknowledgementDetail provides various statistics of the acknowledgements that are being
40463// received from the remote replicator.
40464type RemoteReplicatorAcknowledgementDetail struct {
40465	// AverageReceiveDuration - Represents the average duration it takes for the remote replicator to receive an operation.
40466	AverageReceiveDuration *string `json:"AverageReceiveDuration,omitempty"`
40467	// AverageApplyDuration - Represents the average duration it takes for the remote replicator to apply an operation. This usually entails writing the operation to disk.
40468	AverageApplyDuration *string `json:"AverageApplyDuration,omitempty"`
40469	// NotReceivedCount - Represents the number of operations not yet received by a remote replicator.
40470	NotReceivedCount *string `json:"NotReceivedCount,omitempty"`
40471	// ReceivedAndNotAppliedCount - Represents the number of operations received and not yet applied by a remote replicator.
40472	ReceivedAndNotAppliedCount *string `json:"ReceivedAndNotAppliedCount,omitempty"`
40473}
40474
40475// RemoteReplicatorAcknowledgementStatus provides details about the remote replicators from the primary
40476// replicator's point of view.
40477type RemoteReplicatorAcknowledgementStatus struct {
40478	// ReplicationStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the replication stream data.
40479	ReplicationStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"ReplicationStreamAcknowledgementDetail,omitempty"`
40480	// CopyStreamAcknowledgementDetail - Details about the acknowledgements for operations that are part of the copy stream data.
40481	CopyStreamAcknowledgementDetail *RemoteReplicatorAcknowledgementDetail `json:"CopyStreamAcknowledgementDetail,omitempty"`
40482}
40483
40484// RemoteReplicatorStatus represents the state of the secondary replicator from the primary replicator’s
40485// point of view.
40486type RemoteReplicatorStatus struct {
40487	// ReplicaID - Represents the replica ID of the remote secondary replicator.
40488	ReplicaID *string `json:"ReplicaId,omitempty"`
40489	// LastAcknowledgementProcessedTimeUtc - The last timestamp (in UTC) when an acknowledgement from the secondary replicator was processed on the primary.
40490	// UTC 0 represents an invalid value, indicating that no acknowledgement messages were ever processed.
40491	LastAcknowledgementProcessedTimeUtc *date.Time `json:"LastAcknowledgementProcessedTimeUtc,omitempty"`
40492	// LastReceivedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has received from the primary.
40493	LastReceivedReplicationSequenceNumber *string `json:"LastReceivedReplicationSequenceNumber,omitempty"`
40494	// LastAppliedReplicationSequenceNumber - The highest replication operation sequence number that the secondary has applied to its state.
40495	LastAppliedReplicationSequenceNumber *string `json:"LastAppliedReplicationSequenceNumber,omitempty"`
40496	// IsInBuild - A value that indicates whether the secondary replica is in the process of being built.
40497	IsInBuild *bool `json:"IsInBuild,omitempty"`
40498	// LastReceivedCopySequenceNumber - The highest copy operation sequence number that the secondary has received from the primary.
40499	// A value of -1 implies that the secondary has received all copy operations.
40500	LastReceivedCopySequenceNumber *string `json:"LastReceivedCopySequenceNumber,omitempty"`
40501	// LastAppliedCopySequenceNumber - The highest copy operation sequence number that the secondary has applied to its state.
40502	// A value of -1 implies that the secondary has applied all copy operations and the copy process is complete.
40503	LastAppliedCopySequenceNumber *string `json:"LastAppliedCopySequenceNumber,omitempty"`
40504	// RemoteReplicatorAcknowledgementStatus - Represents the acknowledgment status for the remote secondary replicator.
40505	RemoteReplicatorAcknowledgementStatus *RemoteReplicatorAcknowledgementStatus `json:"RemoteReplicatorAcknowledgementStatus,omitempty"`
40506}
40507
40508// BasicRepairImpactDescriptionBase describes the expected impact of executing a repair task.
40509//
40510// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40511type BasicRepairImpactDescriptionBase interface {
40512	AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool)
40513	AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool)
40514}
40515
40516// RepairImpactDescriptionBase describes the expected impact of executing a repair task.
40517//
40518// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40519type RepairImpactDescriptionBase struct {
40520	// Kind - Possible values include: 'KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase', 'KindBasicRepairImpactDescriptionBaseKindNode'
40521	Kind KindBasicRepairImpactDescriptionBase `json:"Kind,omitempty"`
40522}
40523
40524func unmarshalBasicRepairImpactDescriptionBase(body []byte) (BasicRepairImpactDescriptionBase, error) {
40525	var m map[string]interface{}
40526	err := json.Unmarshal(body, &m)
40527	if err != nil {
40528		return nil, err
40529	}
40530
40531	switch m["Kind"] {
40532	case string(KindBasicRepairImpactDescriptionBaseKindNode):
40533		var nrid NodeRepairImpactDescription
40534		err := json.Unmarshal(body, &nrid)
40535		return nrid, err
40536	default:
40537		var ridb RepairImpactDescriptionBase
40538		err := json.Unmarshal(body, &ridb)
40539		return ridb, err
40540	}
40541}
40542func unmarshalBasicRepairImpactDescriptionBaseArray(body []byte) ([]BasicRepairImpactDescriptionBase, error) {
40543	var rawMessages []*json.RawMessage
40544	err := json.Unmarshal(body, &rawMessages)
40545	if err != nil {
40546		return nil, err
40547	}
40548
40549	ridbArray := make([]BasicRepairImpactDescriptionBase, len(rawMessages))
40550
40551	for index, rawMessage := range rawMessages {
40552		ridb, err := unmarshalBasicRepairImpactDescriptionBase(*rawMessage)
40553		if err != nil {
40554			return nil, err
40555		}
40556		ridbArray[index] = ridb
40557	}
40558	return ridbArray, nil
40559}
40560
40561// MarshalJSON is the custom marshaler for RepairImpactDescriptionBase.
40562func (ridb RepairImpactDescriptionBase) MarshalJSON() ([]byte, error) {
40563	ridb.Kind = KindBasicRepairImpactDescriptionBaseKindRepairImpactDescriptionBase
40564	objectMap := make(map[string]interface{})
40565	if ridb.Kind != "" {
40566		objectMap["Kind"] = ridb.Kind
40567	}
40568	return json.Marshal(objectMap)
40569}
40570
40571// AsNodeRepairImpactDescription is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
40572func (ridb RepairImpactDescriptionBase) AsNodeRepairImpactDescription() (*NodeRepairImpactDescription, bool) {
40573	return nil, false
40574}
40575
40576// AsRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
40577func (ridb RepairImpactDescriptionBase) AsRepairImpactDescriptionBase() (*RepairImpactDescriptionBase, bool) {
40578	return &ridb, true
40579}
40580
40581// AsBasicRepairImpactDescriptionBase is the BasicRepairImpactDescriptionBase implementation for RepairImpactDescriptionBase.
40582func (ridb RepairImpactDescriptionBase) AsBasicRepairImpactDescriptionBase() (BasicRepairImpactDescriptionBase, bool) {
40583	return &ridb, true
40584}
40585
40586// BasicRepairTargetDescriptionBase describes the entities targeted by a repair action.
40587//
40588// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40589type BasicRepairTargetDescriptionBase interface {
40590	AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool)
40591	AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool)
40592}
40593
40594// RepairTargetDescriptionBase describes the entities targeted by a repair action.
40595//
40596// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40597type RepairTargetDescriptionBase struct {
40598	// Kind - Possible values include: 'KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase', 'KindBasicRepairTargetDescriptionBaseKindNode'
40599	Kind KindBasicRepairTargetDescriptionBase `json:"Kind,omitempty"`
40600}
40601
40602func unmarshalBasicRepairTargetDescriptionBase(body []byte) (BasicRepairTargetDescriptionBase, error) {
40603	var m map[string]interface{}
40604	err := json.Unmarshal(body, &m)
40605	if err != nil {
40606		return nil, err
40607	}
40608
40609	switch m["Kind"] {
40610	case string(KindBasicRepairTargetDescriptionBaseKindNode):
40611		var nrtd NodeRepairTargetDescription
40612		err := json.Unmarshal(body, &nrtd)
40613		return nrtd, err
40614	default:
40615		var rtdb RepairTargetDescriptionBase
40616		err := json.Unmarshal(body, &rtdb)
40617		return rtdb, err
40618	}
40619}
40620func unmarshalBasicRepairTargetDescriptionBaseArray(body []byte) ([]BasicRepairTargetDescriptionBase, error) {
40621	var rawMessages []*json.RawMessage
40622	err := json.Unmarshal(body, &rawMessages)
40623	if err != nil {
40624		return nil, err
40625	}
40626
40627	rtdbArray := make([]BasicRepairTargetDescriptionBase, len(rawMessages))
40628
40629	for index, rawMessage := range rawMessages {
40630		rtdb, err := unmarshalBasicRepairTargetDescriptionBase(*rawMessage)
40631		if err != nil {
40632			return nil, err
40633		}
40634		rtdbArray[index] = rtdb
40635	}
40636	return rtdbArray, nil
40637}
40638
40639// MarshalJSON is the custom marshaler for RepairTargetDescriptionBase.
40640func (rtdb RepairTargetDescriptionBase) MarshalJSON() ([]byte, error) {
40641	rtdb.Kind = KindBasicRepairTargetDescriptionBaseKindRepairTargetDescriptionBase
40642	objectMap := make(map[string]interface{})
40643	if rtdb.Kind != "" {
40644		objectMap["Kind"] = rtdb.Kind
40645	}
40646	return json.Marshal(objectMap)
40647}
40648
40649// AsNodeRepairTargetDescription is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
40650func (rtdb RepairTargetDescriptionBase) AsNodeRepairTargetDescription() (*NodeRepairTargetDescription, bool) {
40651	return nil, false
40652}
40653
40654// AsRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
40655func (rtdb RepairTargetDescriptionBase) AsRepairTargetDescriptionBase() (*RepairTargetDescriptionBase, bool) {
40656	return &rtdb, true
40657}
40658
40659// AsBasicRepairTargetDescriptionBase is the BasicRepairTargetDescriptionBase implementation for RepairTargetDescriptionBase.
40660func (rtdb RepairTargetDescriptionBase) AsBasicRepairTargetDescriptionBase() (BasicRepairTargetDescriptionBase, bool) {
40661	return &rtdb, true
40662}
40663
40664// RepairTask represents a repair task, which includes information about what kind of repair was requested,
40665// what its progress is, and what its final result was.
40666//
40667// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40668type RepairTask struct {
40669	// TaskID - The ID of the repair task.
40670	TaskID *string `json:"TaskId,omitempty"`
40671	// Version - The version of the repair task.
40672	// When creating a new repair task, the version must be set to zero.  When updating a repair task,
40673	// the version is used for optimistic concurrency checks.  If the version is
40674	// set to zero, the update will not check for write conflicts.  If the version is set to a non-zero value, then the
40675	// update will only succeed if the actual current version of the repair task matches this value.
40676	Version *string `json:"Version,omitempty"`
40677	// Description - A description of the purpose of the repair task, or other informational details.
40678	// May be set when the repair task is created, and is immutable once set.
40679	Description *string `json:"Description,omitempty"`
40680	// 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'
40681	State State `json:"State,omitempty"`
40682	// Flags - A bitwise-OR of the following values, which gives additional details about the status of the repair task.
40683	// - 1 - Cancellation of the repair has been requested
40684	// - 2 - Abort of the repair has been requested
40685	// - 4 - Approval of the repair was forced via client request
40686	Flags *int32 `json:"Flags,omitempty"`
40687	// Action - The requested repair action. Must be specified when the repair task is created, and is immutable once set.
40688	Action *string `json:"Action,omitempty"`
40689	// 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.
40690	// May be set when the repair task is created, and is immutable once set.
40691	Target BasicRepairTargetDescriptionBase `json:"Target,omitempty"`
40692	// Executor - The name of the repair executor. Must be specified in Claimed and later states, and is immutable once set.
40693	Executor *string `json:"Executor,omitempty"`
40694	// ExecutorData - A data string that the repair executor can use to store its internal state.
40695	ExecutorData *string `json:"ExecutorData,omitempty"`
40696	// 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.
40697	// Impact must be specified by the repair executor when transitioning to the Preparing state, and is immutable once set.
40698	Impact BasicRepairImpactDescriptionBase `json:"Impact,omitempty"`
40699	// 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'
40700	ResultStatus ResultStatus `json:"ResultStatus,omitempty"`
40701	// ResultCode - A numeric value providing additional details about the result of the repair task execution.
40702	// May be specified in the Restoring and later states, and is immutable once set.
40703	ResultCode *int32 `json:"ResultCode,omitempty"`
40704	// ResultDetails - A string providing additional details about the result of the repair task execution.
40705	// May be specified in the Restoring and later states, and is immutable once set.
40706	ResultDetails *string `json:"ResultDetails,omitempty"`
40707	// History - An object that contains timestamps of the repair task's state transitions.
40708	// These timestamps are updated by the system, and cannot be directly modified.
40709	History *RepairTaskHistory `json:"History,omitempty"`
40710	// 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'
40711	PreparingHealthCheckState RepairTaskHealthCheckState `json:"PreparingHealthCheckState,omitempty"`
40712	// 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'
40713	RestoringHealthCheckState RepairTaskHealthCheckState `json:"RestoringHealthCheckState,omitempty"`
40714	// PerformPreparingHealthCheck - A value to determine if health checks will be performed when the repair task enters the Preparing state.
40715	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
40716	// PerformRestoringHealthCheck - A value to determine if health checks will be performed when the repair task enters the Restoring state.
40717	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
40718}
40719
40720// UnmarshalJSON is the custom unmarshaler for RepairTask struct.
40721func (rt *RepairTask) UnmarshalJSON(body []byte) error {
40722	var m map[string]*json.RawMessage
40723	err := json.Unmarshal(body, &m)
40724	if err != nil {
40725		return err
40726	}
40727	for k, v := range m {
40728		switch k {
40729		case "TaskId":
40730			if v != nil {
40731				var taskID string
40732				err = json.Unmarshal(*v, &taskID)
40733				if err != nil {
40734					return err
40735				}
40736				rt.TaskID = &taskID
40737			}
40738		case "Version":
40739			if v != nil {
40740				var version string
40741				err = json.Unmarshal(*v, &version)
40742				if err != nil {
40743					return err
40744				}
40745				rt.Version = &version
40746			}
40747		case "Description":
40748			if v != nil {
40749				var description string
40750				err = json.Unmarshal(*v, &description)
40751				if err != nil {
40752					return err
40753				}
40754				rt.Description = &description
40755			}
40756		case "State":
40757			if v != nil {
40758				var state State
40759				err = json.Unmarshal(*v, &state)
40760				if err != nil {
40761					return err
40762				}
40763				rt.State = state
40764			}
40765		case "Flags":
40766			if v != nil {
40767				var flags int32
40768				err = json.Unmarshal(*v, &flags)
40769				if err != nil {
40770					return err
40771				}
40772				rt.Flags = &flags
40773			}
40774		case "Action":
40775			if v != nil {
40776				var action string
40777				err = json.Unmarshal(*v, &action)
40778				if err != nil {
40779					return err
40780				}
40781				rt.Action = &action
40782			}
40783		case "Target":
40784			if v != nil {
40785				target, err := unmarshalBasicRepairTargetDescriptionBase(*v)
40786				if err != nil {
40787					return err
40788				}
40789				rt.Target = target
40790			}
40791		case "Executor":
40792			if v != nil {
40793				var executor string
40794				err = json.Unmarshal(*v, &executor)
40795				if err != nil {
40796					return err
40797				}
40798				rt.Executor = &executor
40799			}
40800		case "ExecutorData":
40801			if v != nil {
40802				var executorData string
40803				err = json.Unmarshal(*v, &executorData)
40804				if err != nil {
40805					return err
40806				}
40807				rt.ExecutorData = &executorData
40808			}
40809		case "Impact":
40810			if v != nil {
40811				impact, err := unmarshalBasicRepairImpactDescriptionBase(*v)
40812				if err != nil {
40813					return err
40814				}
40815				rt.Impact = impact
40816			}
40817		case "ResultStatus":
40818			if v != nil {
40819				var resultStatus ResultStatus
40820				err = json.Unmarshal(*v, &resultStatus)
40821				if err != nil {
40822					return err
40823				}
40824				rt.ResultStatus = resultStatus
40825			}
40826		case "ResultCode":
40827			if v != nil {
40828				var resultCode int32
40829				err = json.Unmarshal(*v, &resultCode)
40830				if err != nil {
40831					return err
40832				}
40833				rt.ResultCode = &resultCode
40834			}
40835		case "ResultDetails":
40836			if v != nil {
40837				var resultDetails string
40838				err = json.Unmarshal(*v, &resultDetails)
40839				if err != nil {
40840					return err
40841				}
40842				rt.ResultDetails = &resultDetails
40843			}
40844		case "History":
40845			if v != nil {
40846				var history RepairTaskHistory
40847				err = json.Unmarshal(*v, &history)
40848				if err != nil {
40849					return err
40850				}
40851				rt.History = &history
40852			}
40853		case "PreparingHealthCheckState":
40854			if v != nil {
40855				var preparingHealthCheckState RepairTaskHealthCheckState
40856				err = json.Unmarshal(*v, &preparingHealthCheckState)
40857				if err != nil {
40858					return err
40859				}
40860				rt.PreparingHealthCheckState = preparingHealthCheckState
40861			}
40862		case "RestoringHealthCheckState":
40863			if v != nil {
40864				var restoringHealthCheckState RepairTaskHealthCheckState
40865				err = json.Unmarshal(*v, &restoringHealthCheckState)
40866				if err != nil {
40867					return err
40868				}
40869				rt.RestoringHealthCheckState = restoringHealthCheckState
40870			}
40871		case "PerformPreparingHealthCheck":
40872			if v != nil {
40873				var performPreparingHealthCheck bool
40874				err = json.Unmarshal(*v, &performPreparingHealthCheck)
40875				if err != nil {
40876					return err
40877				}
40878				rt.PerformPreparingHealthCheck = &performPreparingHealthCheck
40879			}
40880		case "PerformRestoringHealthCheck":
40881			if v != nil {
40882				var performRestoringHealthCheck bool
40883				err = json.Unmarshal(*v, &performRestoringHealthCheck)
40884				if err != nil {
40885					return err
40886				}
40887				rt.PerformRestoringHealthCheck = &performRestoringHealthCheck
40888			}
40889		}
40890	}
40891
40892	return nil
40893}
40894
40895// RepairTaskApproveDescription describes a request for forced approval of a repair task.
40896//
40897// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40898type RepairTaskApproveDescription struct {
40899	// TaskID - The ID of the repair task.
40900	TaskID *string `json:"TaskId,omitempty"`
40901	// 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.
40902	Version *string `json:"Version,omitempty"`
40903}
40904
40905// RepairTaskCancelDescription describes a request to cancel a repair task.
40906//
40907// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40908type RepairTaskCancelDescription struct {
40909	// TaskID - The ID of the repair task.
40910	TaskID *string `json:"TaskId,omitempty"`
40911	// 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.
40912	Version *string `json:"Version,omitempty"`
40913	// 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.
40914	RequestAbort *bool `json:"RequestAbort,omitempty"`
40915}
40916
40917// RepairTaskDeleteDescription describes a request to delete a completed repair task.
40918//
40919// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40920type RepairTaskDeleteDescription struct {
40921	// TaskID - The ID of the completed repair task to be deleted.
40922	TaskID *string `json:"TaskId,omitempty"`
40923	// 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.
40924	Version *string `json:"Version,omitempty"`
40925}
40926
40927// RepairTaskHistory a record of the times when the repair task entered each state.
40928//
40929// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40930type RepairTaskHistory struct {
40931	// CreatedUtcTimestamp - The time when the repair task entered the Created state.
40932	CreatedUtcTimestamp *date.Time `json:"CreatedUtcTimestamp,omitempty"`
40933	// ClaimedUtcTimestamp - The time when the repair task entered the Claimed state.
40934	ClaimedUtcTimestamp *date.Time `json:"ClaimedUtcTimestamp,omitempty"`
40935	// PreparingUtcTimestamp - The time when the repair task entered the Preparing state.
40936	PreparingUtcTimestamp *date.Time `json:"PreparingUtcTimestamp,omitempty"`
40937	// ApprovedUtcTimestamp - The time when the repair task entered the Approved state
40938	ApprovedUtcTimestamp *date.Time `json:"ApprovedUtcTimestamp,omitempty"`
40939	// ExecutingUtcTimestamp - The time when the repair task entered the Executing state
40940	ExecutingUtcTimestamp *date.Time `json:"ExecutingUtcTimestamp,omitempty"`
40941	// RestoringUtcTimestamp - The time when the repair task entered the Restoring state
40942	RestoringUtcTimestamp *date.Time `json:"RestoringUtcTimestamp,omitempty"`
40943	// CompletedUtcTimestamp - The time when the repair task entered the Completed state
40944	CompletedUtcTimestamp *date.Time `json:"CompletedUtcTimestamp,omitempty"`
40945	// PreparingHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Preparing state.
40946	PreparingHealthCheckStartUtcTimestamp *date.Time `json:"PreparingHealthCheckStartUtcTimestamp,omitempty"`
40947	// PreparingHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Preparing state.
40948	PreparingHealthCheckEndUtcTimestamp *date.Time `json:"PreparingHealthCheckEndUtcTimestamp,omitempty"`
40949	// RestoringHealthCheckStartUtcTimestamp - The time when the repair task started the health check in the Restoring state.
40950	RestoringHealthCheckStartUtcTimestamp *date.Time `json:"RestoringHealthCheckStartUtcTimestamp,omitempty"`
40951	// RestoringHealthCheckEndUtcTimestamp - The time when the repair task completed the health check in the Restoring state.
40952	RestoringHealthCheckEndUtcTimestamp *date.Time `json:"RestoringHealthCheckEndUtcTimestamp,omitempty"`
40953}
40954
40955// RepairTaskUpdateHealthPolicyDescription describes a request to update the health policy of a repair
40956// task.
40957//
40958// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40959type RepairTaskUpdateHealthPolicyDescription struct {
40960	// TaskID - The ID of the repair task to be updated.
40961	TaskID *string `json:"TaskId,omitempty"`
40962	// 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.
40963	Version *string `json:"Version,omitempty"`
40964	// 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.
40965	PerformPreparingHealthCheck *bool `json:"PerformPreparingHealthCheck,omitempty"`
40966	// 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.
40967	PerformRestoringHealthCheck *bool `json:"PerformRestoringHealthCheck,omitempty"`
40968}
40969
40970// RepairTaskUpdateInfo describes the result of an operation that created or updated a repair task.
40971//
40972// This type supports the Service Fabric platform; it is not meant to be used directly from your code.
40973type RepairTaskUpdateInfo struct {
40974	autorest.Response `json:"-"`
40975	// Version - The new version of the repair task.
40976	Version *string `json:"Version,omitempty"`
40977}
40978
40979// BasicReplicaEvent represents the base for all Replica Events.
40980type BasicReplicaEvent interface {
40981	AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool)
40982	AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool)
40983	AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool)
40984	AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool)
40985	AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool)
40986	AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool)
40987	AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool)
40988	AsReplicaEvent() (*ReplicaEvent, bool)
40989}
40990
40991// ReplicaEvent represents the base for all Replica Events.
40992type ReplicaEvent struct {
40993	// 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.
40994	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
40995	// 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.
40996	ReplicaID *int64 `json:"ReplicaId,omitempty"`
40997	// EventInstanceID - The identifier for the FabricEvent instance.
40998	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
40999	// TimeStamp - The time event was logged.
41000	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
41001	// HasCorrelatedEvents - Shows there is existing related events available.
41002	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
41003	// 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'
41004	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
41005}
41006
41007func unmarshalBasicReplicaEvent(body []byte) (BasicReplicaEvent, error) {
41008	var m map[string]interface{}
41009	err := json.Unmarshal(body, &m)
41010	if err != nil {
41011		return nil, err
41012	}
41013
41014	switch m["Kind"] {
41015	case string(KindStatefulReplicaHealthReportCreated):
41016		var srhrce StatefulReplicaHealthReportCreatedEvent
41017		err := json.Unmarshal(body, &srhrce)
41018		return srhrce, err
41019	case string(KindStatefulReplicaHealthReportExpired):
41020		var srhree StatefulReplicaHealthReportExpiredEvent
41021		err := json.Unmarshal(body, &srhree)
41022		return srhree, err
41023	case string(KindStatelessReplicaHealthReportCreated):
41024		var srhrce StatelessReplicaHealthReportCreatedEvent
41025		err := json.Unmarshal(body, &srhrce)
41026		return srhrce, err
41027	case string(KindStatelessReplicaHealthReportExpired):
41028		var srhree StatelessReplicaHealthReportExpiredEvent
41029		err := json.Unmarshal(body, &srhree)
41030		return srhree, err
41031	case string(KindChaosRemoveReplicaFaultScheduled):
41032		var crrfse ChaosRemoveReplicaFaultScheduledEvent
41033		err := json.Unmarshal(body, &crrfse)
41034		return crrfse, err
41035	case string(KindChaosRemoveReplicaFaultCompleted):
41036		var crrfce ChaosRemoveReplicaFaultCompletedEvent
41037		err := json.Unmarshal(body, &crrfce)
41038		return crrfce, err
41039	case string(KindChaosRestartReplicaFaultScheduled):
41040		var crrfse ChaosRestartReplicaFaultScheduledEvent
41041		err := json.Unmarshal(body, &crrfse)
41042		return crrfse, err
41043	default:
41044		var re ReplicaEvent
41045		err := json.Unmarshal(body, &re)
41046		return re, err
41047	}
41048}
41049func unmarshalBasicReplicaEventArray(body []byte) ([]BasicReplicaEvent, error) {
41050	var rawMessages []*json.RawMessage
41051	err := json.Unmarshal(body, &rawMessages)
41052	if err != nil {
41053		return nil, err
41054	}
41055
41056	reArray := make([]BasicReplicaEvent, len(rawMessages))
41057
41058	for index, rawMessage := range rawMessages {
41059		re, err := unmarshalBasicReplicaEvent(*rawMessage)
41060		if err != nil {
41061			return nil, err
41062		}
41063		reArray[index] = re
41064	}
41065	return reArray, nil
41066}
41067
41068// MarshalJSON is the custom marshaler for ReplicaEvent.
41069func (re ReplicaEvent) MarshalJSON() ([]byte, error) {
41070	re.Kind = KindReplicaEvent
41071	objectMap := make(map[string]interface{})
41072	if re.PartitionID != nil {
41073		objectMap["PartitionId"] = re.PartitionID
41074	}
41075	if re.ReplicaID != nil {
41076		objectMap["ReplicaId"] = re.ReplicaID
41077	}
41078	if re.EventInstanceID != nil {
41079		objectMap["EventInstanceId"] = re.EventInstanceID
41080	}
41081	if re.TimeStamp != nil {
41082		objectMap["TimeStamp"] = re.TimeStamp
41083	}
41084	if re.HasCorrelatedEvents != nil {
41085		objectMap["HasCorrelatedEvents"] = re.HasCorrelatedEvents
41086	}
41087	if re.Kind != "" {
41088		objectMap["Kind"] = re.Kind
41089	}
41090	return json.Marshal(objectMap)
41091}
41092
41093// AsApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
41094func (re ReplicaEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
41095	return nil, false
41096}
41097
41098// AsBasicApplicationEvent is the BasicFabricEvent implementation for ReplicaEvent.
41099func (re ReplicaEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
41100	return nil, false
41101}
41102
41103// AsClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
41104func (re ReplicaEvent) AsClusterEvent() (*ClusterEvent, bool) {
41105	return nil, false
41106}
41107
41108// AsBasicClusterEvent is the BasicFabricEvent implementation for ReplicaEvent.
41109func (re ReplicaEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
41110	return nil, false
41111}
41112
41113// AsContainerInstanceEvent is the BasicFabricEvent implementation for ReplicaEvent.
41114func (re ReplicaEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
41115	return nil, false
41116}
41117
41118// AsNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
41119func (re ReplicaEvent) AsNodeEvent() (*NodeEvent, bool) {
41120	return nil, false
41121}
41122
41123// AsBasicNodeEvent is the BasicFabricEvent implementation for ReplicaEvent.
41124func (re ReplicaEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
41125	return nil, false
41126}
41127
41128// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
41129func (re ReplicaEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
41130	return nil, false
41131}
41132
41133// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
41134func (re ReplicaEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
41135	return nil, false
41136}
41137
41138// AsPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
41139func (re ReplicaEvent) AsPartitionEvent() (*PartitionEvent, bool) {
41140	return nil, false
41141}
41142
41143// AsBasicPartitionEvent is the BasicFabricEvent implementation for ReplicaEvent.
41144func (re ReplicaEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
41145	return nil, false
41146}
41147
41148// AsReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
41149func (re ReplicaEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
41150	return &re, true
41151}
41152
41153// AsBasicReplicaEvent is the BasicFabricEvent implementation for ReplicaEvent.
41154func (re ReplicaEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
41155	return &re, true
41156}
41157
41158// AsServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
41159func (re ReplicaEvent) AsServiceEvent() (*ServiceEvent, bool) {
41160	return nil, false
41161}
41162
41163// AsBasicServiceEvent is the BasicFabricEvent implementation for ReplicaEvent.
41164func (re ReplicaEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
41165	return nil, false
41166}
41167
41168// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41169func (re ReplicaEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
41170	return nil, false
41171}
41172
41173// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41174func (re ReplicaEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
41175	return nil, false
41176}
41177
41178// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41179func (re ReplicaEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
41180	return nil, false
41181}
41182
41183// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41184func (re ReplicaEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
41185	return nil, false
41186}
41187
41188// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
41189func (re ReplicaEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
41190	return nil, false
41191}
41192
41193// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
41194func (re ReplicaEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
41195	return nil, false
41196}
41197
41198// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
41199func (re ReplicaEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
41200	return nil, false
41201}
41202
41203// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
41204func (re ReplicaEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
41205	return nil, false
41206}
41207
41208// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
41209func (re ReplicaEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
41210	return nil, false
41211}
41212
41213// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41214func (re ReplicaEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
41215	return nil, false
41216}
41217
41218// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41219func (re ReplicaEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
41220	return nil, false
41221}
41222
41223// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41224func (re ReplicaEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
41225	return nil, false
41226}
41227
41228// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41229func (re ReplicaEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
41230	return nil, false
41231}
41232
41233// AsNodeAbortedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41234func (re ReplicaEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
41235	return nil, false
41236}
41237
41238// AsNodeAbortingEvent is the BasicFabricEvent implementation for ReplicaEvent.
41239func (re ReplicaEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
41240	return nil, false
41241}
41242
41243// AsNodeAddedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41244func (re ReplicaEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
41245	return nil, false
41246}
41247
41248// AsNodeCloseEvent is the BasicFabricEvent implementation for ReplicaEvent.
41249func (re ReplicaEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
41250	return nil, false
41251}
41252
41253// AsNodeClosingEvent is the BasicFabricEvent implementation for ReplicaEvent.
41254func (re ReplicaEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
41255	return nil, false
41256}
41257
41258// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
41259func (re ReplicaEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
41260	return nil, false
41261}
41262
41263// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
41264func (re ReplicaEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
41265	return nil, false
41266}
41267
41268// AsNodeDownEvent is the BasicFabricEvent implementation for ReplicaEvent.
41269func (re ReplicaEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
41270	return nil, false
41271}
41272
41273// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41274func (re ReplicaEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
41275	return nil, false
41276}
41277
41278// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41279func (re ReplicaEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
41280	return nil, false
41281}
41282
41283// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ReplicaEvent.
41284func (re ReplicaEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
41285	return nil, false
41286}
41287
41288// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41289func (re ReplicaEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
41290	return nil, false
41291}
41292
41293// AsNodeOpeningEvent is the BasicFabricEvent implementation for ReplicaEvent.
41294func (re ReplicaEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
41295	return nil, false
41296}
41297
41298// AsNodeRemovedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41299func (re ReplicaEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
41300	return nil, false
41301}
41302
41303// AsNodeUpEvent is the BasicFabricEvent implementation for ReplicaEvent.
41304func (re ReplicaEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
41305	return nil, false
41306}
41307
41308// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41309func (re ReplicaEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
41310	return nil, false
41311}
41312
41313// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41314func (re ReplicaEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
41315	return nil, false
41316}
41317
41318// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41319func (re ReplicaEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
41320	return nil, false
41321}
41322
41323// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ReplicaEvent.
41324func (re ReplicaEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
41325	return nil, false
41326}
41327
41328// AsServiceCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41329func (re ReplicaEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
41330	return nil, false
41331}
41332
41333// AsServiceDeletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41334func (re ReplicaEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
41335	return nil, false
41336}
41337
41338// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41339func (re ReplicaEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
41340	return nil, false
41341}
41342
41343// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41344func (re ReplicaEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
41345	return nil, false
41346}
41347
41348// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41349func (re ReplicaEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
41350	return nil, false
41351}
41352
41353// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41354func (re ReplicaEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
41355	return nil, false
41356}
41357
41358// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41359func (re ReplicaEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
41360	return nil, false
41361}
41362
41363// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41364func (re ReplicaEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
41365	return nil, false
41366}
41367
41368// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41369func (re ReplicaEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
41370	return nil, false
41371}
41372
41373// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41374func (re ReplicaEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
41375	return nil, false
41376}
41377
41378// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41379func (re ReplicaEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
41380	return nil, false
41381}
41382
41383// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ReplicaEvent.
41384func (re ReplicaEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
41385	return nil, false
41386}
41387
41388// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
41389func (re ReplicaEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
41390	return nil, false
41391}
41392
41393// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
41394func (re ReplicaEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
41395	return nil, false
41396}
41397
41398// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ReplicaEvent.
41399func (re ReplicaEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
41400	return nil, false
41401}
41402
41403// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
41404func (re ReplicaEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
41405	return nil, false
41406}
41407
41408// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ReplicaEvent.
41409func (re ReplicaEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
41410	return nil, false
41411}
41412
41413// AsChaosStoppedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41414func (re ReplicaEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
41415	return nil, false
41416}
41417
41418// AsChaosStartedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41419func (re ReplicaEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
41420	return nil, false
41421}
41422
41423// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41424func (re ReplicaEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
41425	return nil, false
41426}
41427
41428// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
41429func (re ReplicaEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
41430	return nil, false
41431}
41432
41433// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41434func (re ReplicaEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
41435	return nil, false
41436}
41437
41438// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
41439func (re ReplicaEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
41440	return nil, false
41441}
41442
41443// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ReplicaEvent.
41444func (re ReplicaEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
41445	return nil, false
41446}
41447
41448// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
41449func (re ReplicaEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
41450	return nil, false
41451}
41452
41453// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
41454func (re ReplicaEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
41455	return nil, false
41456}
41457
41458// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
41459func (re ReplicaEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
41460	return nil, false
41461}
41462
41463// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ReplicaEvent.
41464func (re ReplicaEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
41465	return nil, false
41466}
41467
41468// AsFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
41469func (re ReplicaEvent) AsFabricEvent() (*FabricEvent, bool) {
41470	return nil, false
41471}
41472
41473// AsBasicFabricEvent is the BasicFabricEvent implementation for ReplicaEvent.
41474func (re ReplicaEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
41475	return &re, true
41476}
41477
41478// BasicReplicaHealth represents a base class for stateful service replica or stateless service instance health.
41479// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
41480type BasicReplicaHealth interface {
41481	AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool)
41482	AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool)
41483	AsReplicaHealth() (*ReplicaHealth, bool)
41484}
41485
41486// ReplicaHealth represents a base class for stateful service replica or stateless service instance health.
41487// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
41488type ReplicaHealth struct {
41489	autorest.Response `json:"-"`
41490	// PartitionID - Id of the partition to which this replica belongs.
41491	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
41492	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
41493	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
41494	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
41495	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
41496	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
41497	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41498	// HealthEvents - The list of health events reported on the entity.
41499	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
41500	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
41501	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
41502	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
41503	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
41504}
41505
41506func unmarshalBasicReplicaHealth(body []byte) (BasicReplicaHealth, error) {
41507	var m map[string]interface{}
41508	err := json.Unmarshal(body, &m)
41509	if err != nil {
41510		return nil, err
41511	}
41512
41513	switch m["ServiceKind"] {
41514	case string(ServiceKindBasicReplicaHealthServiceKindStateful):
41515		var ssrh StatefulServiceReplicaHealth
41516		err := json.Unmarshal(body, &ssrh)
41517		return ssrh, err
41518	case string(ServiceKindBasicReplicaHealthServiceKindStateless):
41519		var ssih StatelessServiceInstanceHealth
41520		err := json.Unmarshal(body, &ssih)
41521		return ssih, err
41522	default:
41523		var rh ReplicaHealth
41524		err := json.Unmarshal(body, &rh)
41525		return rh, err
41526	}
41527}
41528func unmarshalBasicReplicaHealthArray(body []byte) ([]BasicReplicaHealth, error) {
41529	var rawMessages []*json.RawMessage
41530	err := json.Unmarshal(body, &rawMessages)
41531	if err != nil {
41532		return nil, err
41533	}
41534
41535	rhArray := make([]BasicReplicaHealth, len(rawMessages))
41536
41537	for index, rawMessage := range rawMessages {
41538		rh, err := unmarshalBasicReplicaHealth(*rawMessage)
41539		if err != nil {
41540			return nil, err
41541		}
41542		rhArray[index] = rh
41543	}
41544	return rhArray, nil
41545}
41546
41547// MarshalJSON is the custom marshaler for ReplicaHealth.
41548func (rh ReplicaHealth) MarshalJSON() ([]byte, error) {
41549	rh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindReplicaHealth
41550	objectMap := make(map[string]interface{})
41551	if rh.PartitionID != nil {
41552		objectMap["PartitionId"] = rh.PartitionID
41553	}
41554	if rh.ServiceKind != "" {
41555		objectMap["ServiceKind"] = rh.ServiceKind
41556	}
41557	if rh.AggregatedHealthState != "" {
41558		objectMap["AggregatedHealthState"] = rh.AggregatedHealthState
41559	}
41560	if rh.HealthEvents != nil {
41561		objectMap["HealthEvents"] = rh.HealthEvents
41562	}
41563	if rh.UnhealthyEvaluations != nil {
41564		objectMap["UnhealthyEvaluations"] = rh.UnhealthyEvaluations
41565	}
41566	if rh.HealthStatistics != nil {
41567		objectMap["HealthStatistics"] = rh.HealthStatistics
41568	}
41569	return json.Marshal(objectMap)
41570}
41571
41572// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41573func (rh ReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
41574	return nil, false
41575}
41576
41577// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41578func (rh ReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
41579	return nil, false
41580}
41581
41582// AsReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41583func (rh ReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
41584	return &rh, true
41585}
41586
41587// AsBasicReplicaHealth is the BasicReplicaHealth implementation for ReplicaHealth.
41588func (rh ReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
41589	return &rh, true
41590}
41591
41592// ReplicaHealthEvaluation represents health evaluation for a replica, containing information about the
41593// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
41594// aggregated health state is either Error or Warning.
41595type ReplicaHealthEvaluation struct {
41596	// PartitionID - Id of the partition to which the replica belongs.
41597	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
41598	// 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.
41599	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
41600	// 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.
41601	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
41602	// 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'
41603	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41604	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
41605	Description *string `json:"Description,omitempty"`
41606	// 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'
41607	Kind Kind `json:"Kind,omitempty"`
41608}
41609
41610// MarshalJSON is the custom marshaler for ReplicaHealthEvaluation.
41611func (rhe ReplicaHealthEvaluation) MarshalJSON() ([]byte, error) {
41612	rhe.Kind = KindReplica
41613	objectMap := make(map[string]interface{})
41614	if rhe.PartitionID != nil {
41615		objectMap["PartitionId"] = rhe.PartitionID
41616	}
41617	if rhe.ReplicaOrInstanceID != nil {
41618		objectMap["ReplicaOrInstanceId"] = rhe.ReplicaOrInstanceID
41619	}
41620	if rhe.UnhealthyEvaluations != nil {
41621		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
41622	}
41623	if rhe.AggregatedHealthState != "" {
41624		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
41625	}
41626	if rhe.Description != nil {
41627		objectMap["Description"] = rhe.Description
41628	}
41629	if rhe.Kind != "" {
41630		objectMap["Kind"] = rhe.Kind
41631	}
41632	return json.Marshal(objectMap)
41633}
41634
41635// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41636func (rhe ReplicaHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
41637	return nil, false
41638}
41639
41640// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41641func (rhe ReplicaHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
41642	return nil, false
41643}
41644
41645// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41646func (rhe ReplicaHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
41647	return nil, false
41648}
41649
41650// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41651func (rhe ReplicaHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
41652	return nil, false
41653}
41654
41655// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41656func (rhe ReplicaHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
41657	return nil, false
41658}
41659
41660// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41661func (rhe ReplicaHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
41662	return nil, false
41663}
41664
41665// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41666func (rhe ReplicaHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
41667	return nil, false
41668}
41669
41670// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41671func (rhe ReplicaHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
41672	return nil, false
41673}
41674
41675// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41676func (rhe ReplicaHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
41677	return nil, false
41678}
41679
41680// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41681func (rhe ReplicaHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
41682	return nil, false
41683}
41684
41685// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41686func (rhe ReplicaHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
41687	return nil, false
41688}
41689
41690// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41691func (rhe ReplicaHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
41692	return nil, false
41693}
41694
41695// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41696func (rhe ReplicaHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
41697	return nil, false
41698}
41699
41700// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41701func (rhe ReplicaHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
41702	return &rhe, true
41703}
41704
41705// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41706func (rhe ReplicaHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
41707	return nil, false
41708}
41709
41710// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41711func (rhe ReplicaHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
41712	return nil, false
41713}
41714
41715// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41716func (rhe ReplicaHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
41717	return nil, false
41718}
41719
41720// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41721func (rhe ReplicaHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
41722	return nil, false
41723}
41724
41725// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41726func (rhe ReplicaHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
41727	return nil, false
41728}
41729
41730// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41731func (rhe ReplicaHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
41732	return nil, false
41733}
41734
41735// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41736func (rhe ReplicaHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
41737	return nil, false
41738}
41739
41740// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicaHealthEvaluation.
41741func (rhe ReplicaHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
41742	return &rhe, true
41743}
41744
41745// ReplicaHealthModel ...
41746type ReplicaHealthModel struct {
41747	autorest.Response `json:"-"`
41748	Value             BasicReplicaHealth `json:"value,omitempty"`
41749}
41750
41751// UnmarshalJSON is the custom unmarshaler for ReplicaHealthModel struct.
41752func (rhm *ReplicaHealthModel) UnmarshalJSON(body []byte) error {
41753	rh, err := unmarshalBasicReplicaHealth(body)
41754	if err != nil {
41755		return err
41756	}
41757	rhm.Value = rh
41758
41759	return nil
41760}
41761
41762// BasicReplicaHealthState represents a base class for stateful service replica or stateless service instance health
41763// state.
41764type BasicReplicaHealthState interface {
41765	AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool)
41766	AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool)
41767	AsReplicaHealthState() (*ReplicaHealthState, bool)
41768}
41769
41770// ReplicaHealthState represents a base class for stateful service replica or stateless service instance health
41771// state.
41772type ReplicaHealthState struct {
41773	// PartitionID - The ID of the partition to which this replica belongs.
41774	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
41775	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
41776	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
41777	// 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'
41778	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
41779}
41780
41781func unmarshalBasicReplicaHealthState(body []byte) (BasicReplicaHealthState, error) {
41782	var m map[string]interface{}
41783	err := json.Unmarshal(body, &m)
41784	if err != nil {
41785		return nil, err
41786	}
41787
41788	switch m["ServiceKind"] {
41789	case string(ServiceKindBasicReplicaHealthStateServiceKindStateful):
41790		var ssrhs StatefulServiceReplicaHealthState
41791		err := json.Unmarshal(body, &ssrhs)
41792		return ssrhs, err
41793	case string(ServiceKindBasicReplicaHealthStateServiceKindStateless):
41794		var ssihs StatelessServiceInstanceHealthState
41795		err := json.Unmarshal(body, &ssihs)
41796		return ssihs, err
41797	default:
41798		var RHS ReplicaHealthState
41799		err := json.Unmarshal(body, &RHS)
41800		return RHS, err
41801	}
41802}
41803func unmarshalBasicReplicaHealthStateArray(body []byte) ([]BasicReplicaHealthState, error) {
41804	var rawMessages []*json.RawMessage
41805	err := json.Unmarshal(body, &rawMessages)
41806	if err != nil {
41807		return nil, err
41808	}
41809
41810	RHSArray := make([]BasicReplicaHealthState, len(rawMessages))
41811
41812	for index, rawMessage := range rawMessages {
41813		RHS, err := unmarshalBasicReplicaHealthState(*rawMessage)
41814		if err != nil {
41815			return nil, err
41816		}
41817		RHSArray[index] = RHS
41818	}
41819	return RHSArray, nil
41820}
41821
41822// MarshalJSON is the custom marshaler for ReplicaHealthState.
41823func (RHS ReplicaHealthState) MarshalJSON() ([]byte, error) {
41824	RHS.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState
41825	objectMap := make(map[string]interface{})
41826	if RHS.PartitionID != nil {
41827		objectMap["PartitionId"] = RHS.PartitionID
41828	}
41829	if RHS.ServiceKind != "" {
41830		objectMap["ServiceKind"] = RHS.ServiceKind
41831	}
41832	if RHS.AggregatedHealthState != "" {
41833		objectMap["AggregatedHealthState"] = RHS.AggregatedHealthState
41834	}
41835	return json.Marshal(objectMap)
41836}
41837
41838// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41839func (RHS ReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
41840	return nil, false
41841}
41842
41843// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41844func (RHS ReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
41845	return nil, false
41846}
41847
41848// AsReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41849func (RHS ReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
41850	return &RHS, true
41851}
41852
41853// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for ReplicaHealthState.
41854func (RHS ReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
41855	return &RHS, true
41856}
41857
41858// ReplicaHealthStateChunk represents the health state chunk of a stateful service replica or a stateless
41859// service instance.
41860// The replica health state contains the replica ID and its aggregated health state.
41861type ReplicaHealthStateChunk struct {
41862	// 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.
41863	ReplicaOrInstanceID *string `json:"ReplicaOrInstanceId,omitempty"`
41864	// 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'
41865	HealthState HealthState `json:"HealthState,omitempty"`
41866}
41867
41868// ReplicaHealthStateChunkList the list of replica health state chunks that respect the input filters in
41869// the chunk query. Returned by get cluster health state chunks query.
41870type ReplicaHealthStateChunkList struct {
41871	// Items - The list of replica health state chunks that respect the input filters in the chunk query.
41872	Items *[]ReplicaHealthStateChunk `json:"Items,omitempty"`
41873}
41874
41875// ReplicaHealthStateFilter defines matching criteria to determine whether a replica should be included as
41876// a child of a partition in the cluster health chunk.
41877// The replicas are only returned if the parent entities match a filter specified in the cluster health
41878// chunk query description. The parent partition, service and application must be included in the cluster
41879// health chunk.
41880// One filter can match zero, one or multiple replicas, depending on its properties.
41881type ReplicaHealthStateFilter struct {
41882	// 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.
41883	// If the replica doesn't exist, no replica is returned in the cluster health chunk based on this filter.
41884	// If the replica exists, it is included in the cluster health chunk if it respects the other filter properties.
41885	// 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.
41886	ReplicaOrInstanceIDFilter *string `json:"ReplicaOrInstanceIdFilter,omitempty"`
41887	// HealthStateFilter - The filter for the health state of the replicas. It allows selecting replicas if they match the desired health states.
41888	// 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.
41889	// 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.
41890	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
41891	// For example, if the provided value is 6, it matches replicas with HealthState value of OK (2) and Warning (4).
41892	// - Default - Default value. Matches any HealthState. The value is zero.
41893	// - 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.
41894	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
41895	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
41896	// - Error - Filter that matches input with HealthState value Error. The value is 8.
41897	// - All - Filter that matches input with any HealthState value. The value is 65535.
41898	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
41899}
41900
41901// BasicReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
41902// replica.
41903type BasicReplicaInfo interface {
41904	AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool)
41905	AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool)
41906	AsReplicaInfo() (*ReplicaInfo, bool)
41907}
41908
41909// ReplicaInfo information about the identity, status, health, node name, uptime, and other details about the
41910// replica.
41911type ReplicaInfo struct {
41912	autorest.Response `json:"-"`
41913	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
41914	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
41915	// 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'
41916	HealthState HealthState `json:"HealthState,omitempty"`
41917	// NodeName - The name of a Service Fabric node.
41918	NodeName *string `json:"NodeName,omitempty"`
41919	// Address - The address the replica is listening on.
41920	Address *string `json:"Address,omitempty"`
41921	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
41922	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
41923	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
41924	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
41925}
41926
41927func unmarshalBasicReplicaInfo(body []byte) (BasicReplicaInfo, error) {
41928	var m map[string]interface{}
41929	err := json.Unmarshal(body, &m)
41930	if err != nil {
41931		return nil, err
41932	}
41933
41934	switch m["ServiceKind"] {
41935	case string(ServiceKindBasicReplicaInfoServiceKindStateful):
41936		var ssri StatefulServiceReplicaInfo
41937		err := json.Unmarshal(body, &ssri)
41938		return ssri, err
41939	case string(ServiceKindBasicReplicaInfoServiceKindStateless):
41940		var ssii StatelessServiceInstanceInfo
41941		err := json.Unmarshal(body, &ssii)
41942		return ssii, err
41943	default:
41944		var ri ReplicaInfo
41945		err := json.Unmarshal(body, &ri)
41946		return ri, err
41947	}
41948}
41949func unmarshalBasicReplicaInfoArray(body []byte) ([]BasicReplicaInfo, error) {
41950	var rawMessages []*json.RawMessage
41951	err := json.Unmarshal(body, &rawMessages)
41952	if err != nil {
41953		return nil, err
41954	}
41955
41956	riArray := make([]BasicReplicaInfo, len(rawMessages))
41957
41958	for index, rawMessage := range rawMessages {
41959		ri, err := unmarshalBasicReplicaInfo(*rawMessage)
41960		if err != nil {
41961			return nil, err
41962		}
41963		riArray[index] = ri
41964	}
41965	return riArray, nil
41966}
41967
41968// MarshalJSON is the custom marshaler for ReplicaInfo.
41969func (ri ReplicaInfo) MarshalJSON() ([]byte, error) {
41970	ri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindReplicaInfo
41971	objectMap := make(map[string]interface{})
41972	if ri.ReplicaStatus != "" {
41973		objectMap["ReplicaStatus"] = ri.ReplicaStatus
41974	}
41975	if ri.HealthState != "" {
41976		objectMap["HealthState"] = ri.HealthState
41977	}
41978	if ri.NodeName != nil {
41979		objectMap["NodeName"] = ri.NodeName
41980	}
41981	if ri.Address != nil {
41982		objectMap["Address"] = ri.Address
41983	}
41984	if ri.LastInBuildDurationInSeconds != nil {
41985		objectMap["LastInBuildDurationInSeconds"] = ri.LastInBuildDurationInSeconds
41986	}
41987	if ri.ServiceKind != "" {
41988		objectMap["ServiceKind"] = ri.ServiceKind
41989	}
41990	return json.Marshal(objectMap)
41991}
41992
41993// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
41994func (ri ReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
41995	return nil, false
41996}
41997
41998// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for ReplicaInfo.
41999func (ri ReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
42000	return nil, false
42001}
42002
42003// AsReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
42004func (ri ReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
42005	return &ri, true
42006}
42007
42008// AsBasicReplicaInfo is the BasicReplicaInfo implementation for ReplicaInfo.
42009func (ri ReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
42010	return &ri, true
42011}
42012
42013// ReplicaInfoModel ...
42014type ReplicaInfoModel struct {
42015	autorest.Response `json:"-"`
42016	Value             BasicReplicaInfo `json:"value,omitempty"`
42017}
42018
42019// UnmarshalJSON is the custom unmarshaler for ReplicaInfoModel struct.
42020func (rim *ReplicaInfoModel) UnmarshalJSON(body []byte) error {
42021	ri, err := unmarshalBasicReplicaInfo(body)
42022	if err != nil {
42023		return err
42024	}
42025	rim.Value = ri
42026
42027	return nil
42028}
42029
42030// ReplicasHealthEvaluation represents health evaluation for replicas, containing health evaluations for
42031// each unhealthy replica that impacted current aggregated health state. Can be returned when evaluating
42032// partition health and the aggregated health state is either Error or Warning.
42033type ReplicasHealthEvaluation struct {
42034	// MaxPercentUnhealthyReplicasPerPartition - Maximum allowed percentage of unhealthy replicas per partition from the ApplicationHealthPolicy.
42035	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
42036	// TotalCount - Total number of replicas in the partition from the health store.
42037	TotalCount *int64 `json:"TotalCount,omitempty"`
42038	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ReplicaHealthEvaluation that impacted the aggregated health.
42039	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
42040	// 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'
42041	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
42042	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
42043	Description *string `json:"Description,omitempty"`
42044	// 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'
42045	Kind Kind `json:"Kind,omitempty"`
42046}
42047
42048// MarshalJSON is the custom marshaler for ReplicasHealthEvaluation.
42049func (rhe ReplicasHealthEvaluation) MarshalJSON() ([]byte, error) {
42050	rhe.Kind = KindReplicas
42051	objectMap := make(map[string]interface{})
42052	if rhe.MaxPercentUnhealthyReplicasPerPartition != nil {
42053		objectMap["MaxPercentUnhealthyReplicasPerPartition"] = rhe.MaxPercentUnhealthyReplicasPerPartition
42054	}
42055	if rhe.TotalCount != nil {
42056		objectMap["TotalCount"] = rhe.TotalCount
42057	}
42058	if rhe.UnhealthyEvaluations != nil {
42059		objectMap["UnhealthyEvaluations"] = rhe.UnhealthyEvaluations
42060	}
42061	if rhe.AggregatedHealthState != "" {
42062		objectMap["AggregatedHealthState"] = rhe.AggregatedHealthState
42063	}
42064	if rhe.Description != nil {
42065		objectMap["Description"] = rhe.Description
42066	}
42067	if rhe.Kind != "" {
42068		objectMap["Kind"] = rhe.Kind
42069	}
42070	return json.Marshal(objectMap)
42071}
42072
42073// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42074func (rhe ReplicasHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
42075	return nil, false
42076}
42077
42078// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42079func (rhe ReplicasHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
42080	return nil, false
42081}
42082
42083// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42084func (rhe ReplicasHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
42085	return nil, false
42086}
42087
42088// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42089func (rhe ReplicasHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
42090	return nil, false
42091}
42092
42093// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42094func (rhe ReplicasHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
42095	return nil, false
42096}
42097
42098// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42099func (rhe ReplicasHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
42100	return nil, false
42101}
42102
42103// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42104func (rhe ReplicasHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
42105	return nil, false
42106}
42107
42108// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42109func (rhe ReplicasHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
42110	return nil, false
42111}
42112
42113// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42114func (rhe ReplicasHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
42115	return nil, false
42116}
42117
42118// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42119func (rhe ReplicasHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
42120	return nil, false
42121}
42122
42123// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42124func (rhe ReplicasHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
42125	return nil, false
42126}
42127
42128// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42129func (rhe ReplicasHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
42130	return nil, false
42131}
42132
42133// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42134func (rhe ReplicasHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
42135	return nil, false
42136}
42137
42138// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42139func (rhe ReplicasHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
42140	return nil, false
42141}
42142
42143// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42144func (rhe ReplicasHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
42145	return &rhe, true
42146}
42147
42148// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42149func (rhe ReplicasHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
42150	return nil, false
42151}
42152
42153// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42154func (rhe ReplicasHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
42155	return nil, false
42156}
42157
42158// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42159func (rhe ReplicasHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
42160	return nil, false
42161}
42162
42163// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42164func (rhe ReplicasHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
42165	return nil, false
42166}
42167
42168// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42169func (rhe ReplicasHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
42170	return nil, false
42171}
42172
42173// AsHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42174func (rhe ReplicasHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
42175	return nil, false
42176}
42177
42178// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ReplicasHealthEvaluation.
42179func (rhe ReplicasHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
42180	return &rhe, true
42181}
42182
42183// BasicReplicaStatusBase information about the replica.
42184type BasicReplicaStatusBase interface {
42185	AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool)
42186	AsReplicaStatusBase() (*ReplicaStatusBase, bool)
42187}
42188
42189// ReplicaStatusBase information about the replica.
42190type ReplicaStatusBase struct {
42191	// Kind - Possible values include: 'KindReplicaStatusBase', 'KindKeyValueStore'
42192	Kind KindBasicReplicaStatusBase `json:"Kind,omitempty"`
42193}
42194
42195func unmarshalBasicReplicaStatusBase(body []byte) (BasicReplicaStatusBase, error) {
42196	var m map[string]interface{}
42197	err := json.Unmarshal(body, &m)
42198	if err != nil {
42199		return nil, err
42200	}
42201
42202	switch m["Kind"] {
42203	case string(KindKeyValueStore):
42204		var kvsrs KeyValueStoreReplicaStatus
42205		err := json.Unmarshal(body, &kvsrs)
42206		return kvsrs, err
42207	default:
42208		var rsb ReplicaStatusBase
42209		err := json.Unmarshal(body, &rsb)
42210		return rsb, err
42211	}
42212}
42213func unmarshalBasicReplicaStatusBaseArray(body []byte) ([]BasicReplicaStatusBase, error) {
42214	var rawMessages []*json.RawMessage
42215	err := json.Unmarshal(body, &rawMessages)
42216	if err != nil {
42217		return nil, err
42218	}
42219
42220	rsbArray := make([]BasicReplicaStatusBase, len(rawMessages))
42221
42222	for index, rawMessage := range rawMessages {
42223		rsb, err := unmarshalBasicReplicaStatusBase(*rawMessage)
42224		if err != nil {
42225			return nil, err
42226		}
42227		rsbArray[index] = rsb
42228	}
42229	return rsbArray, nil
42230}
42231
42232// MarshalJSON is the custom marshaler for ReplicaStatusBase.
42233func (rsb ReplicaStatusBase) MarshalJSON() ([]byte, error) {
42234	rsb.Kind = KindReplicaStatusBase
42235	objectMap := make(map[string]interface{})
42236	if rsb.Kind != "" {
42237		objectMap["Kind"] = rsb.Kind
42238	}
42239	return json.Marshal(objectMap)
42240}
42241
42242// AsKeyValueStoreReplicaStatus is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
42243func (rsb ReplicaStatusBase) AsKeyValueStoreReplicaStatus() (*KeyValueStoreReplicaStatus, bool) {
42244	return nil, false
42245}
42246
42247// AsReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
42248func (rsb ReplicaStatusBase) AsReplicaStatusBase() (*ReplicaStatusBase, bool) {
42249	return &rsb, true
42250}
42251
42252// AsBasicReplicaStatusBase is the BasicReplicaStatusBase implementation for ReplicaStatusBase.
42253func (rsb ReplicaStatusBase) AsBasicReplicaStatusBase() (BasicReplicaStatusBase, bool) {
42254	return &rsb, true
42255}
42256
42257// ReplicatorQueueStatus provides various statistics of the queue used in the service fabric replicator.
42258// Contains information about the service fabric replicator like the replication/copy queue utilization,
42259// last acknowledgement received timestamp, etc.
42260// Depending on the role of the replicator, the properties in this type imply different meanings.
42261type ReplicatorQueueStatus struct {
42262	// 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.
42263	QueueUtilizationPercentage *int32 `json:"QueueUtilizationPercentage,omitempty"`
42264	// QueueMemorySize - Represents the virtual memory consumed by the queue in bytes.
42265	QueueMemorySize *string `json:"QueueMemorySize,omitempty"`
42266	// FirstSequenceNumber - On a primary replicator, this is semantically the sequence number of the operation for which all the secondary replicas have sent an acknowledgement.
42267	// On a secondary replicator, this is the smallest sequence number of the operation that is present in the queue.
42268	FirstSequenceNumber *string `json:"FirstSequenceNumber,omitempty"`
42269	// 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.
42270	// On a secondary replicator, this is semantically the highest sequence number that has been applied to the persistent state.
42271	CompletedSequenceNumber *string `json:"CompletedSequenceNumber,omitempty"`
42272	// 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.
42273	// On a secondary replicator, this is semantically the highest sequence number of the in-order operation received from the primary.
42274	CommittedSequenceNumber *string `json:"CommittedSequenceNumber,omitempty"`
42275	// LastSequenceNumber - Represents the latest sequence number of the operation that is available in the queue.
42276	LastSequenceNumber *string `json:"LastSequenceNumber,omitempty"`
42277}
42278
42279// BasicReplicatorStatus represents a base class for primary or secondary replicator status.
42280// Contains information about the service fabric replicator like the replication/copy queue utilization, last
42281// acknowledgement received timestamp, etc.
42282type BasicReplicatorStatus interface {
42283	AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool)
42284	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
42285	AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool)
42286	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
42287	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
42288	AsReplicatorStatus() (*ReplicatorStatus, bool)
42289}
42290
42291// ReplicatorStatus represents a base class for primary or secondary replicator status.
42292// Contains information about the service fabric replicator like the replication/copy queue utilization, last
42293// acknowledgement received timestamp, etc.
42294type ReplicatorStatus struct {
42295	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
42296	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
42297}
42298
42299func unmarshalBasicReplicatorStatus(body []byte) (BasicReplicatorStatus, error) {
42300	var m map[string]interface{}
42301	err := json.Unmarshal(body, &m)
42302	if err != nil {
42303		return nil, err
42304	}
42305
42306	switch m["Kind"] {
42307	case string(KindPrimary):
42308		var prs PrimaryReplicatorStatus
42309		err := json.Unmarshal(body, &prs)
42310		return prs, err
42311	case string(KindSecondaryReplicatorStatus):
42312		var srs SecondaryReplicatorStatus
42313		err := json.Unmarshal(body, &srs)
42314		return srs, err
42315	case string(KindActiveSecondary):
42316		var sars SecondaryActiveReplicatorStatus
42317		err := json.Unmarshal(body, &sars)
42318		return sars, err
42319	case string(KindIdleSecondary):
42320		var sirs SecondaryIdleReplicatorStatus
42321		err := json.Unmarshal(body, &sirs)
42322		return sirs, err
42323	default:
42324		var rs ReplicatorStatus
42325		err := json.Unmarshal(body, &rs)
42326		return rs, err
42327	}
42328}
42329func unmarshalBasicReplicatorStatusArray(body []byte) ([]BasicReplicatorStatus, error) {
42330	var rawMessages []*json.RawMessage
42331	err := json.Unmarshal(body, &rawMessages)
42332	if err != nil {
42333		return nil, err
42334	}
42335
42336	rsArray := make([]BasicReplicatorStatus, len(rawMessages))
42337
42338	for index, rawMessage := range rawMessages {
42339		rs, err := unmarshalBasicReplicatorStatus(*rawMessage)
42340		if err != nil {
42341			return nil, err
42342		}
42343		rsArray[index] = rs
42344	}
42345	return rsArray, nil
42346}
42347
42348// MarshalJSON is the custom marshaler for ReplicatorStatus.
42349func (rs ReplicatorStatus) MarshalJSON() ([]byte, error) {
42350	rs.Kind = KindReplicatorStatus
42351	objectMap := make(map[string]interface{})
42352	if rs.Kind != "" {
42353		objectMap["Kind"] = rs.Kind
42354	}
42355	return json.Marshal(objectMap)
42356}
42357
42358// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
42359func (rs ReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
42360	return nil, false
42361}
42362
42363// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
42364func (rs ReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
42365	return nil, false
42366}
42367
42368// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
42369func (rs ReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
42370	return nil, false
42371}
42372
42373// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
42374func (rs ReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
42375	return nil, false
42376}
42377
42378// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
42379func (rs ReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
42380	return nil, false
42381}
42382
42383// AsReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
42384func (rs ReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
42385	return &rs, true
42386}
42387
42388// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for ReplicatorStatus.
42389func (rs ReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
42390	return &rs, true
42391}
42392
42393// ResolvedServiceEndpoint endpoint of a resolved service partition.
42394type ResolvedServiceEndpoint struct {
42395	// Kind - The role of the replica where the endpoint is reported. Possible values include: 'ServiceEndpointRoleInvalid', 'ServiceEndpointRoleStateless', 'ServiceEndpointRoleStatefulPrimary', 'ServiceEndpointRoleStatefulSecondary'
42396	Kind ServiceEndpointRole `json:"Kind,omitempty"`
42397	// 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.
42398	Address *string `json:"Address,omitempty"`
42399}
42400
42401// ResolvedServicePartition information about a service partition and its associated endpoints.
42402type ResolvedServicePartition struct {
42403	autorest.Response `json:"-"`
42404	// Name - The full name of the service with 'fabric:' URI scheme.
42405	Name *string `json:"Name,omitempty"`
42406	// PartitionInformation - A representation of the resolved partition.
42407	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
42408	// Endpoints - List of resolved service endpoints of a service partition.
42409	Endpoints *[]ResolvedServiceEndpoint `json:"Endpoints,omitempty"`
42410	// 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.
42411	Version *string `json:"Version,omitempty"`
42412}
42413
42414// UnmarshalJSON is the custom unmarshaler for ResolvedServicePartition struct.
42415func (rsp *ResolvedServicePartition) UnmarshalJSON(body []byte) error {
42416	var m map[string]*json.RawMessage
42417	err := json.Unmarshal(body, &m)
42418	if err != nil {
42419		return err
42420	}
42421	for k, v := range m {
42422		switch k {
42423		case "Name":
42424			if v != nil {
42425				var name string
42426				err = json.Unmarshal(*v, &name)
42427				if err != nil {
42428					return err
42429				}
42430				rsp.Name = &name
42431			}
42432		case "PartitionInformation":
42433			if v != nil {
42434				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
42435				if err != nil {
42436					return err
42437				}
42438				rsp.PartitionInformation = partitionInformation
42439			}
42440		case "Endpoints":
42441			if v != nil {
42442				var endpoints []ResolvedServiceEndpoint
42443				err = json.Unmarshal(*v, &endpoints)
42444				if err != nil {
42445					return err
42446				}
42447				rsp.Endpoints = &endpoints
42448			}
42449		case "Version":
42450			if v != nil {
42451				var version string
42452				err = json.Unmarshal(*v, &version)
42453				if err != nil {
42454					return err
42455				}
42456				rsp.Version = &version
42457			}
42458		}
42459	}
42460
42461	return nil
42462}
42463
42464// ResourceLimits this type describes the resource limits for a given container. It describes the most
42465// amount of resources a container is allowed to use before being restarted.
42466type ResourceLimits struct {
42467	// MemoryInGB - The memory limit in GB.
42468	MemoryInGB *float64 `json:"memoryInGB,omitempty"`
42469	// CPU - CPU limits in cores. At present, only full cores are supported.
42470	CPU *float64 `json:"cpu,omitempty"`
42471}
42472
42473// ResourceRequests this type describes the requested resources for a given container. It describes the
42474// least amount of resources required for the container. A container can consume more than requested
42475// resources up to the specified limits before being restarted. Currently, the requested resources are
42476// treated as limits.
42477type ResourceRequests struct {
42478	// MemoryInGB - The memory request in GB for this container.
42479	MemoryInGB *float64 `json:"memoryInGB,omitempty"`
42480	// CPU - Requested number of CPU cores. At present, only full cores are supported.
42481	CPU *float64 `json:"cpu,omitempty"`
42482}
42483
42484// ResourceRequirements this type describes the resource requirements for a container or a service.
42485type ResourceRequirements struct {
42486	// Requests - Describes the requested resources for a given container.
42487	Requests *ResourceRequests `json:"requests,omitempty"`
42488	// Limits - Describes the maximum limits on the resources for a given container.
42489	Limits *ResourceLimits `json:"limits,omitempty"`
42490}
42491
42492// RestartDeployedCodePackageDescription defines description for restarting a deployed code package on
42493// Service Fabric node.
42494type RestartDeployedCodePackageDescription struct {
42495	// ServiceManifestName - The name of service manifest that specified this code package.
42496	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
42497	// ServicePackageActivationID - The ActivationId of a deployed service package. If ServicePackageActivationMode specified at the time of creating the service
42498	// is 'SharedProcess' (or if it is not specified, in which case it defaults to 'SharedProcess'), then value of ServicePackageActivationId
42499	// is always an empty string.
42500	ServicePackageActivationID *string `json:"ServicePackageActivationId,omitempty"`
42501	// CodePackageName - The name of the code package defined in the service manifest.
42502	CodePackageName *string `json:"CodePackageName,omitempty"`
42503	// 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.
42504	// 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.
42505	// 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.
42506	// 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.
42507	CodePackageInstanceID *string `json:"CodePackageInstanceId,omitempty"`
42508}
42509
42510// RestartNodeDescription describes the parameters to restart a Service Fabric node.
42511type RestartNodeDescription struct {
42512	// 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.
42513	NodeInstanceID *string `json:"NodeInstanceId,omitempty"`
42514	// CreateFabricDump - Specify True to create a dump of the fabric node process. This is case-sensitive. Possible values include: 'False', 'True'
42515	CreateFabricDump CreateFabricDump `json:"CreateFabricDump,omitempty"`
42516}
42517
42518// RestartPartitionResult represents information about an operation in a terminal state (Completed or
42519// Faulted).
42520type RestartPartitionResult struct {
42521	// ErrorCode - If OperationState is Completed, this is 0.  If OperationState is Faulted, this is an error code indicating the reason.
42522	ErrorCode *int32 `json:"ErrorCode,omitempty"`
42523	// SelectedPartition - This class returns information about the partition that the user-induced operation acted upon.
42524	SelectedPartition *SelectedPartition `json:"SelectedPartition,omitempty"`
42525}
42526
42527// RestorePartitionDescription specifies the parameters needed to trigger a restore of a specific
42528// partition.
42529type RestorePartitionDescription struct {
42530	// BackupID - Unique backup ID.
42531	BackupID *uuid.UUID `json:"BackupId,omitempty"`
42532	// BackupLocation - Location of the backup relative to the backup storage specified/ configured.
42533	BackupLocation *string `json:"BackupLocation,omitempty"`
42534	// BackupStorage - Location of the backup from where the partition will be restored.
42535	BackupStorage BasicBackupStorageDescription `json:"BackupStorage,omitempty"`
42536}
42537
42538// UnmarshalJSON is the custom unmarshaler for RestorePartitionDescription struct.
42539func (rpd *RestorePartitionDescription) UnmarshalJSON(body []byte) error {
42540	var m map[string]*json.RawMessage
42541	err := json.Unmarshal(body, &m)
42542	if err != nil {
42543		return err
42544	}
42545	for k, v := range m {
42546		switch k {
42547		case "BackupId":
42548			if v != nil {
42549				var backupID uuid.UUID
42550				err = json.Unmarshal(*v, &backupID)
42551				if err != nil {
42552					return err
42553				}
42554				rpd.BackupID = &backupID
42555			}
42556		case "BackupLocation":
42557			if v != nil {
42558				var backupLocation string
42559				err = json.Unmarshal(*v, &backupLocation)
42560				if err != nil {
42561					return err
42562				}
42563				rpd.BackupLocation = &backupLocation
42564			}
42565		case "BackupStorage":
42566			if v != nil {
42567				backupStorage, err := unmarshalBasicBackupStorageDescription(*v)
42568				if err != nil {
42569					return err
42570				}
42571				rpd.BackupStorage = backupStorage
42572			}
42573		}
42574	}
42575
42576	return nil
42577}
42578
42579// RestoreProgressInfo describes the progress of a restore operation on a partition.
42580type RestoreProgressInfo struct {
42581	autorest.Response `json:"-"`
42582	// RestoreState - Represents the current state of the partition restore operation. Possible values include: 'RestoreStateInvalid', 'RestoreStateAccepted', 'RestoreStateRestoreInProgress', 'RestoreStateSuccess', 'RestoreStateFailure', 'RestoreStateTimeout'
42583	RestoreState RestoreState `json:"RestoreState,omitempty"`
42584	// TimeStampUtc - Timestamp when operation succeeded or failed.
42585	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
42586	// RestoredEpoch - Describes the epoch at which the partition is restored.
42587	RestoredEpoch *BackupEpoch `json:"RestoredEpoch,omitempty"`
42588	// RestoredLsn - Restored LSN.
42589	RestoredLsn *string `json:"RestoredLsn,omitempty"`
42590	// FailureError - Denotes the failure encountered in performing restore operation.
42591	FailureError *FabricErrorError `json:"FailureError,omitempty"`
42592}
42593
42594// ResumeApplicationUpgradeDescription describes the parameters for resuming an unmonitored manual Service
42595// Fabric application upgrade
42596type ResumeApplicationUpgradeDescription struct {
42597	// UpgradeDomainName - The name of the upgrade domain in which to resume the upgrade.
42598	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
42599}
42600
42601// ResumeClusterUpgradeDescription describes the parameters for resuming a cluster upgrade.
42602type ResumeClusterUpgradeDescription struct {
42603	// UpgradeDomain - The next upgrade domain for this cluster upgrade.
42604	UpgradeDomain *string `json:"UpgradeDomain,omitempty"`
42605}
42606
42607// RollingUpgradeUpdateDescription describes the parameters for updating a rolling upgrade of application
42608// or cluster.
42609type RollingUpgradeUpdateDescription struct {
42610	// 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'
42611	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
42612	// 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).
42613	ForceRestart *bool `json:"ForceRestart,omitempty"`
42614	// 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).
42615	ReplicaSetCheckTimeoutInMilliseconds *int64 `json:"ReplicaSetCheckTimeoutInMilliseconds,omitempty"`
42616	// FailureAction - The compensating action to perform when a Monitored upgrade encounters monitoring policy or health policy violations.
42617	// Invalid indicates the failure action is invalid. Rollback specifies that the upgrade will start rolling back automatically.
42618	// Manual indicates that the upgrade will switch to UnmonitoredManual upgrade mode. Possible values include: 'FailureActionInvalid', 'FailureActionRollback', 'FailureActionManual'
42619	FailureAction FailureAction `json:"FailureAction,omitempty"`
42620	// 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.
42621	HealthCheckWaitDurationInMilliseconds *string `json:"HealthCheckWaitDurationInMilliseconds,omitempty"`
42622	// 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.
42623	HealthCheckStableDurationInMilliseconds *string `json:"HealthCheckStableDurationInMilliseconds,omitempty"`
42624	// 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.
42625	HealthCheckRetryTimeoutInMilliseconds *string `json:"HealthCheckRetryTimeoutInMilliseconds,omitempty"`
42626	// 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.
42627	UpgradeTimeoutInMilliseconds *string `json:"UpgradeTimeoutInMilliseconds,omitempty"`
42628	// 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.
42629	UpgradeDomainTimeoutInMilliseconds *string `json:"UpgradeDomainTimeoutInMilliseconds,omitempty"`
42630}
42631
42632// BasicSafetyCheck represents a safety check performed by service fabric before continuing with the operations. These
42633// checks ensure the availability of the service and the reliability of the state.
42634type BasicSafetyCheck interface {
42635	AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool)
42636	AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool)
42637	AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool)
42638	AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool)
42639	AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool)
42640	AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool)
42641	AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool)
42642	AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool)
42643	AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool)
42644	AsSafetyCheck() (*SafetyCheck, bool)
42645}
42646
42647// SafetyCheck represents a safety check performed by service fabric before continuing with the operations.
42648// These checks ensure the availability of the service and the reliability of the state.
42649type SafetyCheck struct {
42650	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
42651	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
42652}
42653
42654func unmarshalBasicSafetyCheck(body []byte) (BasicSafetyCheck, error) {
42655	var m map[string]interface{}
42656	err := json.Unmarshal(body, &m)
42657	if err != nil {
42658		return nil, err
42659	}
42660
42661	switch m["Kind"] {
42662	case string(KindPartitionSafetyCheck):
42663		var psc PartitionSafetyCheck
42664		err := json.Unmarshal(body, &psc)
42665		return psc, err
42666	case string(KindEnsureAvailability):
42667		var easc EnsureAvailabilitySafetyCheck
42668		err := json.Unmarshal(body, &easc)
42669		return easc, err
42670	case string(KindEnsurePartitionQuorum):
42671		var epqsc EnsurePartitionQurumSafetyCheck
42672		err := json.Unmarshal(body, &epqsc)
42673		return epqsc, err
42674	case string(KindEnsureSeedNodeQuorum):
42675		var snsc SeedNodeSafetyCheck
42676		err := json.Unmarshal(body, &snsc)
42677		return snsc, err
42678	case string(KindWaitForInbuildReplica):
42679		var wfirsc WaitForInbuildReplicaSafetyCheck
42680		err := json.Unmarshal(body, &wfirsc)
42681		return wfirsc, err
42682	case string(KindWaitForPrimaryPlacement):
42683		var wfppsc WaitForPrimaryPlacementSafetyCheck
42684		err := json.Unmarshal(body, &wfppsc)
42685		return wfppsc, err
42686	case string(KindWaitForPrimarySwap):
42687		var wfpssc WaitForPrimarySwapSafetyCheck
42688		err := json.Unmarshal(body, &wfpssc)
42689		return wfpssc, err
42690	case string(KindWaitForReconfiguration):
42691		var wfrsc WaitForReconfigurationSafetyCheck
42692		err := json.Unmarshal(body, &wfrsc)
42693		return wfrsc, err
42694	default:
42695		var sc SafetyCheck
42696		err := json.Unmarshal(body, &sc)
42697		return sc, err
42698	}
42699}
42700func unmarshalBasicSafetyCheckArray(body []byte) ([]BasicSafetyCheck, error) {
42701	var rawMessages []*json.RawMessage
42702	err := json.Unmarshal(body, &rawMessages)
42703	if err != nil {
42704		return nil, err
42705	}
42706
42707	scArray := make([]BasicSafetyCheck, len(rawMessages))
42708
42709	for index, rawMessage := range rawMessages {
42710		sc, err := unmarshalBasicSafetyCheck(*rawMessage)
42711		if err != nil {
42712			return nil, err
42713		}
42714		scArray[index] = sc
42715	}
42716	return scArray, nil
42717}
42718
42719// MarshalJSON is the custom marshaler for SafetyCheck.
42720func (sc SafetyCheck) MarshalJSON() ([]byte, error) {
42721	sc.Kind = KindSafetyCheck
42722	objectMap := make(map[string]interface{})
42723	if sc.Kind != "" {
42724		objectMap["Kind"] = sc.Kind
42725	}
42726	return json.Marshal(objectMap)
42727}
42728
42729// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42730func (sc SafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
42731	return nil, false
42732}
42733
42734// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42735func (sc SafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
42736	return nil, false
42737}
42738
42739// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42740func (sc SafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
42741	return nil, false
42742}
42743
42744// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42745func (sc SafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
42746	return nil, false
42747}
42748
42749// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42750func (sc SafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
42751	return nil, false
42752}
42753
42754// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42755func (sc SafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
42756	return nil, false
42757}
42758
42759// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42760func (sc SafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
42761	return nil, false
42762}
42763
42764// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42765func (sc SafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
42766	return nil, false
42767}
42768
42769// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42770func (sc SafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
42771	return nil, false
42772}
42773
42774// AsSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42775func (sc SafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
42776	return &sc, true
42777}
42778
42779// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SafetyCheck.
42780func (sc SafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
42781	return &sc, true
42782}
42783
42784// SafetyCheckWrapper a wrapper for the safety check object. Safety checks are performed by service fabric
42785// before continuing with the operations. These checks ensure the availability of the service and the
42786// reliability of the state.
42787type SafetyCheckWrapper struct {
42788	// 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.
42789	SafetyCheck BasicSafetyCheck `json:"SafetyCheck,omitempty"`
42790}
42791
42792// UnmarshalJSON is the custom unmarshaler for SafetyCheckWrapper struct.
42793func (scw *SafetyCheckWrapper) UnmarshalJSON(body []byte) error {
42794	var m map[string]*json.RawMessage
42795	err := json.Unmarshal(body, &m)
42796	if err != nil {
42797		return err
42798	}
42799	for k, v := range m {
42800		switch k {
42801		case "SafetyCheck":
42802			if v != nil {
42803				safetyCheck, err := unmarshalBasicSafetyCheck(*v)
42804				if err != nil {
42805					return err
42806				}
42807				scw.SafetyCheck = safetyCheck
42808			}
42809		}
42810	}
42811
42812	return nil
42813}
42814
42815// BasicScalingMechanismDescription describes the mechanism for performing a scaling operation.
42816type BasicScalingMechanismDescription interface {
42817	AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool)
42818	AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool)
42819	AsScalingMechanismDescription() (*ScalingMechanismDescription, bool)
42820}
42821
42822// ScalingMechanismDescription describes the mechanism for performing a scaling operation.
42823type ScalingMechanismDescription struct {
42824	// Kind - Possible values include: 'KindScalingMechanismDescription', 'KindPartitionInstanceCount', 'KindAddRemoveIncrementalNamedPartition'
42825	Kind KindBasicScalingMechanismDescription `json:"Kind,omitempty"`
42826}
42827
42828func unmarshalBasicScalingMechanismDescription(body []byte) (BasicScalingMechanismDescription, error) {
42829	var m map[string]interface{}
42830	err := json.Unmarshal(body, &m)
42831	if err != nil {
42832		return nil, err
42833	}
42834
42835	switch m["Kind"] {
42836	case string(KindPartitionInstanceCount):
42837		var picsm PartitionInstanceCountScaleMechanism
42838		err := json.Unmarshal(body, &picsm)
42839		return picsm, err
42840	case string(KindAddRemoveIncrementalNamedPartition):
42841		var arinpsm AddRemoveIncrementalNamedPartitionScalingMechanism
42842		err := json.Unmarshal(body, &arinpsm)
42843		return arinpsm, err
42844	default:
42845		var smd ScalingMechanismDescription
42846		err := json.Unmarshal(body, &smd)
42847		return smd, err
42848	}
42849}
42850func unmarshalBasicScalingMechanismDescriptionArray(body []byte) ([]BasicScalingMechanismDescription, error) {
42851	var rawMessages []*json.RawMessage
42852	err := json.Unmarshal(body, &rawMessages)
42853	if err != nil {
42854		return nil, err
42855	}
42856
42857	smdArray := make([]BasicScalingMechanismDescription, len(rawMessages))
42858
42859	for index, rawMessage := range rawMessages {
42860		smd, err := unmarshalBasicScalingMechanismDescription(*rawMessage)
42861		if err != nil {
42862			return nil, err
42863		}
42864		smdArray[index] = smd
42865	}
42866	return smdArray, nil
42867}
42868
42869// MarshalJSON is the custom marshaler for ScalingMechanismDescription.
42870func (smd ScalingMechanismDescription) MarshalJSON() ([]byte, error) {
42871	smd.Kind = KindScalingMechanismDescription
42872	objectMap := make(map[string]interface{})
42873	if smd.Kind != "" {
42874		objectMap["Kind"] = smd.Kind
42875	}
42876	return json.Marshal(objectMap)
42877}
42878
42879// AsPartitionInstanceCountScaleMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42880func (smd ScalingMechanismDescription) AsPartitionInstanceCountScaleMechanism() (*PartitionInstanceCountScaleMechanism, bool) {
42881	return nil, false
42882}
42883
42884// AsAddRemoveIncrementalNamedPartitionScalingMechanism is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42885func (smd ScalingMechanismDescription) AsAddRemoveIncrementalNamedPartitionScalingMechanism() (*AddRemoveIncrementalNamedPartitionScalingMechanism, bool) {
42886	return nil, false
42887}
42888
42889// AsScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42890func (smd ScalingMechanismDescription) AsScalingMechanismDescription() (*ScalingMechanismDescription, bool) {
42891	return &smd, true
42892}
42893
42894// AsBasicScalingMechanismDescription is the BasicScalingMechanismDescription implementation for ScalingMechanismDescription.
42895func (smd ScalingMechanismDescription) AsBasicScalingMechanismDescription() (BasicScalingMechanismDescription, bool) {
42896	return &smd, true
42897}
42898
42899// ScalingPolicyDescription describes how the scaling should be performed
42900type ScalingPolicyDescription struct {
42901	// ScalingTrigger - Specifies the trigger associated with this scaling policy
42902	ScalingTrigger BasicScalingTriggerDescription `json:"ScalingTrigger,omitempty"`
42903	// ScalingMechanism - Specifies the mechanism associated with this scaling policy
42904	ScalingMechanism BasicScalingMechanismDescription `json:"ScalingMechanism,omitempty"`
42905}
42906
42907// UnmarshalJSON is the custom unmarshaler for ScalingPolicyDescription struct.
42908func (spd *ScalingPolicyDescription) UnmarshalJSON(body []byte) error {
42909	var m map[string]*json.RawMessage
42910	err := json.Unmarshal(body, &m)
42911	if err != nil {
42912		return err
42913	}
42914	for k, v := range m {
42915		switch k {
42916		case "ScalingTrigger":
42917			if v != nil {
42918				scalingTrigger, err := unmarshalBasicScalingTriggerDescription(*v)
42919				if err != nil {
42920					return err
42921				}
42922				spd.ScalingTrigger = scalingTrigger
42923			}
42924		case "ScalingMechanism":
42925			if v != nil {
42926				scalingMechanism, err := unmarshalBasicScalingMechanismDescription(*v)
42927				if err != nil {
42928					return err
42929				}
42930				spd.ScalingMechanism = scalingMechanism
42931			}
42932		}
42933	}
42934
42935	return nil
42936}
42937
42938// BasicScalingTriggerDescription describes the trigger for performing a scaling operation.
42939type BasicScalingTriggerDescription interface {
42940	AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool)
42941	AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool)
42942	AsScalingTriggerDescription() (*ScalingTriggerDescription, bool)
42943}
42944
42945// ScalingTriggerDescription describes the trigger for performing a scaling operation.
42946type ScalingTriggerDescription struct {
42947	// Kind - Possible values include: 'KindScalingTriggerDescription', 'KindAveragePartitionLoad', 'KindAverageServiceLoad'
42948	Kind KindBasicScalingTriggerDescription `json:"Kind,omitempty"`
42949}
42950
42951func unmarshalBasicScalingTriggerDescription(body []byte) (BasicScalingTriggerDescription, error) {
42952	var m map[string]interface{}
42953	err := json.Unmarshal(body, &m)
42954	if err != nil {
42955		return nil, err
42956	}
42957
42958	switch m["Kind"] {
42959	case string(KindAveragePartitionLoad):
42960		var aplst AveragePartitionLoadScalingTrigger
42961		err := json.Unmarshal(body, &aplst)
42962		return aplst, err
42963	case string(KindAverageServiceLoad):
42964		var aslst AverageServiceLoadScalingTrigger
42965		err := json.Unmarshal(body, &aslst)
42966		return aslst, err
42967	default:
42968		var std ScalingTriggerDescription
42969		err := json.Unmarshal(body, &std)
42970		return std, err
42971	}
42972}
42973func unmarshalBasicScalingTriggerDescriptionArray(body []byte) ([]BasicScalingTriggerDescription, error) {
42974	var rawMessages []*json.RawMessage
42975	err := json.Unmarshal(body, &rawMessages)
42976	if err != nil {
42977		return nil, err
42978	}
42979
42980	stdArray := make([]BasicScalingTriggerDescription, len(rawMessages))
42981
42982	for index, rawMessage := range rawMessages {
42983		std, err := unmarshalBasicScalingTriggerDescription(*rawMessage)
42984		if err != nil {
42985			return nil, err
42986		}
42987		stdArray[index] = std
42988	}
42989	return stdArray, nil
42990}
42991
42992// MarshalJSON is the custom marshaler for ScalingTriggerDescription.
42993func (std ScalingTriggerDescription) MarshalJSON() ([]byte, error) {
42994	std.Kind = KindScalingTriggerDescription
42995	objectMap := make(map[string]interface{})
42996	if std.Kind != "" {
42997		objectMap["Kind"] = std.Kind
42998	}
42999	return json.Marshal(objectMap)
43000}
43001
43002// AsAveragePartitionLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
43003func (std ScalingTriggerDescription) AsAveragePartitionLoadScalingTrigger() (*AveragePartitionLoadScalingTrigger, bool) {
43004	return nil, false
43005}
43006
43007// AsAverageServiceLoadScalingTrigger is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
43008func (std ScalingTriggerDescription) AsAverageServiceLoadScalingTrigger() (*AverageServiceLoadScalingTrigger, bool) {
43009	return nil, false
43010}
43011
43012// AsScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
43013func (std ScalingTriggerDescription) AsScalingTriggerDescription() (*ScalingTriggerDescription, bool) {
43014	return &std, true
43015}
43016
43017// AsBasicScalingTriggerDescription is the BasicScalingTriggerDescription implementation for ScalingTriggerDescription.
43018func (std ScalingTriggerDescription) AsBasicScalingTriggerDescription() (BasicScalingTriggerDescription, bool) {
43019	return &std, true
43020}
43021
43022// SecondaryActiveReplicatorStatus status of the secondary replicator when it is in active mode and is part
43023// of the replica set.
43024type SecondaryActiveReplicatorStatus struct {
43025	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
43026	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
43027	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
43028	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
43029	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
43030	// IsInBuild - Value that indicates whether the replica is currently being built.
43031	IsInBuild *bool `json:"IsInBuild,omitempty"`
43032	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
43033	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
43034	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
43035	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
43036	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
43037	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
43038	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
43039	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
43040	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
43041	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
43042}
43043
43044// MarshalJSON is the custom marshaler for SecondaryActiveReplicatorStatus.
43045func (sars SecondaryActiveReplicatorStatus) MarshalJSON() ([]byte, error) {
43046	sars.Kind = KindActiveSecondary
43047	objectMap := make(map[string]interface{})
43048	if sars.ReplicationQueueStatus != nil {
43049		objectMap["ReplicationQueueStatus"] = sars.ReplicationQueueStatus
43050	}
43051	if sars.LastReplicationOperationReceivedTimeUtc != nil {
43052		objectMap["LastReplicationOperationReceivedTimeUtc"] = sars.LastReplicationOperationReceivedTimeUtc
43053	}
43054	if sars.IsInBuild != nil {
43055		objectMap["IsInBuild"] = sars.IsInBuild
43056	}
43057	if sars.CopyQueueStatus != nil {
43058		objectMap["CopyQueueStatus"] = sars.CopyQueueStatus
43059	}
43060	if sars.LastCopyOperationReceivedTimeUtc != nil {
43061		objectMap["LastCopyOperationReceivedTimeUtc"] = sars.LastCopyOperationReceivedTimeUtc
43062	}
43063	if sars.LastAcknowledgementSentTimeUtc != nil {
43064		objectMap["LastAcknowledgementSentTimeUtc"] = sars.LastAcknowledgementSentTimeUtc
43065	}
43066	if sars.Kind != "" {
43067		objectMap["Kind"] = sars.Kind
43068	}
43069	return json.Marshal(objectMap)
43070}
43071
43072// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
43073func (sars SecondaryActiveReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
43074	return nil, false
43075}
43076
43077// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
43078func (sars SecondaryActiveReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
43079	return nil, false
43080}
43081
43082// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
43083func (sars SecondaryActiveReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
43084	return &sars, true
43085}
43086
43087// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
43088func (sars SecondaryActiveReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
43089	return &sars, true
43090}
43091
43092// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
43093func (sars SecondaryActiveReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
43094	return nil, false
43095}
43096
43097// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
43098func (sars SecondaryActiveReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
43099	return nil, false
43100}
43101
43102// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryActiveReplicatorStatus.
43103func (sars SecondaryActiveReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
43104	return &sars, true
43105}
43106
43107// SecondaryIdleReplicatorStatus status of the secondary replicator when it is in idle mode and is being
43108// built by the primary.
43109type SecondaryIdleReplicatorStatus struct {
43110	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
43111	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
43112	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
43113	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
43114	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
43115	// IsInBuild - Value that indicates whether the replica is currently being built.
43116	IsInBuild *bool `json:"IsInBuild,omitempty"`
43117	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
43118	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
43119	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
43120	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
43121	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
43122	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
43123	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
43124	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
43125	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
43126	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
43127}
43128
43129// MarshalJSON is the custom marshaler for SecondaryIdleReplicatorStatus.
43130func (sirs SecondaryIdleReplicatorStatus) MarshalJSON() ([]byte, error) {
43131	sirs.Kind = KindIdleSecondary
43132	objectMap := make(map[string]interface{})
43133	if sirs.ReplicationQueueStatus != nil {
43134		objectMap["ReplicationQueueStatus"] = sirs.ReplicationQueueStatus
43135	}
43136	if sirs.LastReplicationOperationReceivedTimeUtc != nil {
43137		objectMap["LastReplicationOperationReceivedTimeUtc"] = sirs.LastReplicationOperationReceivedTimeUtc
43138	}
43139	if sirs.IsInBuild != nil {
43140		objectMap["IsInBuild"] = sirs.IsInBuild
43141	}
43142	if sirs.CopyQueueStatus != nil {
43143		objectMap["CopyQueueStatus"] = sirs.CopyQueueStatus
43144	}
43145	if sirs.LastCopyOperationReceivedTimeUtc != nil {
43146		objectMap["LastCopyOperationReceivedTimeUtc"] = sirs.LastCopyOperationReceivedTimeUtc
43147	}
43148	if sirs.LastAcknowledgementSentTimeUtc != nil {
43149		objectMap["LastAcknowledgementSentTimeUtc"] = sirs.LastAcknowledgementSentTimeUtc
43150	}
43151	if sirs.Kind != "" {
43152		objectMap["Kind"] = sirs.Kind
43153	}
43154	return json.Marshal(objectMap)
43155}
43156
43157// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
43158func (sirs SecondaryIdleReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
43159	return nil, false
43160}
43161
43162// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
43163func (sirs SecondaryIdleReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
43164	return nil, false
43165}
43166
43167// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
43168func (sirs SecondaryIdleReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
43169	return &sirs, true
43170}
43171
43172// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
43173func (sirs SecondaryIdleReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
43174	return nil, false
43175}
43176
43177// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
43178func (sirs SecondaryIdleReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
43179	return &sirs, true
43180}
43181
43182// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
43183func (sirs SecondaryIdleReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
43184	return nil, false
43185}
43186
43187// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryIdleReplicatorStatus.
43188func (sirs SecondaryIdleReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
43189	return &sirs, true
43190}
43191
43192// BasicSecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in a
43193// ActiveSecondary role.
43194type BasicSecondaryReplicatorStatus interface {
43195	AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool)
43196	AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool)
43197	AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool)
43198}
43199
43200// SecondaryReplicatorStatus provides statistics about the Service Fabric Replicator, when it is functioning in
43201// a ActiveSecondary role.
43202type SecondaryReplicatorStatus struct {
43203	// ReplicationQueueStatus - Details about the replication queue on the secondary replicator.
43204	ReplicationQueueStatus *ReplicatorQueueStatus `json:"ReplicationQueueStatus,omitempty"`
43205	// LastReplicationOperationReceivedTimeUtc - The last time-stamp (UTC) at which a replication operation was received from the primary.
43206	// UTC 0 represents an invalid value, indicating that a replication operation message was never received.
43207	LastReplicationOperationReceivedTimeUtc *date.Time `json:"LastReplicationOperationReceivedTimeUtc,omitempty"`
43208	// IsInBuild - Value that indicates whether the replica is currently being built.
43209	IsInBuild *bool `json:"IsInBuild,omitempty"`
43210	// CopyQueueStatus - Details about the copy queue on the secondary replicator.
43211	CopyQueueStatus *ReplicatorQueueStatus `json:"CopyQueueStatus,omitempty"`
43212	// LastCopyOperationReceivedTimeUtc - The last time-stamp (UTC) at which a copy operation was received from the primary.
43213	// UTC 0 represents an invalid value, indicating that a copy operation message was never received.
43214	LastCopyOperationReceivedTimeUtc *date.Time `json:"LastCopyOperationReceivedTimeUtc,omitempty"`
43215	// LastAcknowledgementSentTimeUtc - The last time-stamp (UTC) at which an acknowledgment was sent to the primary replicator.
43216	// UTC 0 represents an invalid value, indicating that an acknowledgment message was never sent.
43217	LastAcknowledgementSentTimeUtc *date.Time `json:"LastAcknowledgementSentTimeUtc,omitempty"`
43218	// Kind - Possible values include: 'KindReplicatorStatus', 'KindPrimary', 'KindSecondaryReplicatorStatus', 'KindActiveSecondary', 'KindIdleSecondary'
43219	Kind KindBasicReplicatorStatus `json:"Kind,omitempty"`
43220}
43221
43222func unmarshalBasicSecondaryReplicatorStatus(body []byte) (BasicSecondaryReplicatorStatus, error) {
43223	var m map[string]interface{}
43224	err := json.Unmarshal(body, &m)
43225	if err != nil {
43226		return nil, err
43227	}
43228
43229	switch m["Kind"] {
43230	case string(KindActiveSecondary):
43231		var sars SecondaryActiveReplicatorStatus
43232		err := json.Unmarshal(body, &sars)
43233		return sars, err
43234	case string(KindIdleSecondary):
43235		var sirs SecondaryIdleReplicatorStatus
43236		err := json.Unmarshal(body, &sirs)
43237		return sirs, err
43238	default:
43239		var srs SecondaryReplicatorStatus
43240		err := json.Unmarshal(body, &srs)
43241		return srs, err
43242	}
43243}
43244func unmarshalBasicSecondaryReplicatorStatusArray(body []byte) ([]BasicSecondaryReplicatorStatus, error) {
43245	var rawMessages []*json.RawMessage
43246	err := json.Unmarshal(body, &rawMessages)
43247	if err != nil {
43248		return nil, err
43249	}
43250
43251	srsArray := make([]BasicSecondaryReplicatorStatus, len(rawMessages))
43252
43253	for index, rawMessage := range rawMessages {
43254		srs, err := unmarshalBasicSecondaryReplicatorStatus(*rawMessage)
43255		if err != nil {
43256			return nil, err
43257		}
43258		srsArray[index] = srs
43259	}
43260	return srsArray, nil
43261}
43262
43263// MarshalJSON is the custom marshaler for SecondaryReplicatorStatus.
43264func (srs SecondaryReplicatorStatus) MarshalJSON() ([]byte, error) {
43265	srs.Kind = KindSecondaryReplicatorStatus
43266	objectMap := make(map[string]interface{})
43267	if srs.ReplicationQueueStatus != nil {
43268		objectMap["ReplicationQueueStatus"] = srs.ReplicationQueueStatus
43269	}
43270	if srs.LastReplicationOperationReceivedTimeUtc != nil {
43271		objectMap["LastReplicationOperationReceivedTimeUtc"] = srs.LastReplicationOperationReceivedTimeUtc
43272	}
43273	if srs.IsInBuild != nil {
43274		objectMap["IsInBuild"] = srs.IsInBuild
43275	}
43276	if srs.CopyQueueStatus != nil {
43277		objectMap["CopyQueueStatus"] = srs.CopyQueueStatus
43278	}
43279	if srs.LastCopyOperationReceivedTimeUtc != nil {
43280		objectMap["LastCopyOperationReceivedTimeUtc"] = srs.LastCopyOperationReceivedTimeUtc
43281	}
43282	if srs.LastAcknowledgementSentTimeUtc != nil {
43283		objectMap["LastAcknowledgementSentTimeUtc"] = srs.LastAcknowledgementSentTimeUtc
43284	}
43285	if srs.Kind != "" {
43286		objectMap["Kind"] = srs.Kind
43287	}
43288	return json.Marshal(objectMap)
43289}
43290
43291// AsPrimaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
43292func (srs SecondaryReplicatorStatus) AsPrimaryReplicatorStatus() (*PrimaryReplicatorStatus, bool) {
43293	return nil, false
43294}
43295
43296// AsSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
43297func (srs SecondaryReplicatorStatus) AsSecondaryReplicatorStatus() (*SecondaryReplicatorStatus, bool) {
43298	return &srs, true
43299}
43300
43301// AsBasicSecondaryReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
43302func (srs SecondaryReplicatorStatus) AsBasicSecondaryReplicatorStatus() (BasicSecondaryReplicatorStatus, bool) {
43303	return &srs, true
43304}
43305
43306// AsSecondaryActiveReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
43307func (srs SecondaryReplicatorStatus) AsSecondaryActiveReplicatorStatus() (*SecondaryActiveReplicatorStatus, bool) {
43308	return nil, false
43309}
43310
43311// AsSecondaryIdleReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
43312func (srs SecondaryReplicatorStatus) AsSecondaryIdleReplicatorStatus() (*SecondaryIdleReplicatorStatus, bool) {
43313	return nil, false
43314}
43315
43316// AsReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
43317func (srs SecondaryReplicatorStatus) AsReplicatorStatus() (*ReplicatorStatus, bool) {
43318	return nil, false
43319}
43320
43321// AsBasicReplicatorStatus is the BasicReplicatorStatus implementation for SecondaryReplicatorStatus.
43322func (srs SecondaryReplicatorStatus) AsBasicReplicatorStatus() (BasicReplicatorStatus, bool) {
43323	return &srs, true
43324}
43325
43326// SeedNodeSafetyCheck represents a safety check for the seed nodes being performed by service fabric
43327// before continuing with node level operations.
43328type SeedNodeSafetyCheck struct {
43329	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
43330	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
43331}
43332
43333// MarshalJSON is the custom marshaler for SeedNodeSafetyCheck.
43334func (snsc SeedNodeSafetyCheck) MarshalJSON() ([]byte, error) {
43335	snsc.Kind = KindEnsureSeedNodeQuorum
43336	objectMap := make(map[string]interface{})
43337	if snsc.Kind != "" {
43338		objectMap["Kind"] = snsc.Kind
43339	}
43340	return json.Marshal(objectMap)
43341}
43342
43343// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43344func (snsc SeedNodeSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
43345	return nil, false
43346}
43347
43348// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43349func (snsc SeedNodeSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
43350	return nil, false
43351}
43352
43353// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43354func (snsc SeedNodeSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
43355	return nil, false
43356}
43357
43358// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43359func (snsc SeedNodeSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
43360	return nil, false
43361}
43362
43363// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43364func (snsc SeedNodeSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
43365	return &snsc, true
43366}
43367
43368// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43369func (snsc SeedNodeSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
43370	return nil, false
43371}
43372
43373// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43374func (snsc SeedNodeSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
43375	return nil, false
43376}
43377
43378// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43379func (snsc SeedNodeSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
43380	return nil, false
43381}
43382
43383// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43384func (snsc SeedNodeSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
43385	return nil, false
43386}
43387
43388// AsSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43389func (snsc SeedNodeSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
43390	return nil, false
43391}
43392
43393// AsBasicSafetyCheck is the BasicSafetyCheck implementation for SeedNodeSafetyCheck.
43394func (snsc SeedNodeSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
43395	return &snsc, true
43396}
43397
43398// SelectedPartition this class returns information about the partition that the user-induced operation
43399// acted upon.
43400type SelectedPartition struct {
43401	// ServiceName - The name of the service the partition belongs to.
43402	ServiceName *string `json:"ServiceName,omitempty"`
43403	// 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.
43404	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
43405}
43406
43407// ServiceBackupConfigurationInfo backup configuration information for a specific Service Fabric service
43408// specifying what backup policy is being applied and suspend description, if any.
43409type ServiceBackupConfigurationInfo struct {
43410	// ServiceName - The full name of the service with 'fabric:' URI scheme.
43411	ServiceName *string `json:"ServiceName,omitempty"`
43412	// PolicyName - The name of the backup policy which is applicable to this Service Fabric application or service or partition.
43413	PolicyName *string `json:"PolicyName,omitempty"`
43414	// PolicyInheritedFrom - Specifies the scope at which the backup policy is applied. Possible values include: 'BackupPolicyScopeInvalid', 'BackupPolicyScopePartition', 'BackupPolicyScopeService', 'BackupPolicyScopeApplication'
43415	PolicyInheritedFrom BackupPolicyScope `json:"PolicyInheritedFrom,omitempty"`
43416	// SuspensionInfo - Describes the backup suspension details.
43417	SuspensionInfo *BackupSuspensionInfo `json:"SuspensionInfo,omitempty"`
43418	// Kind - Possible values include: 'KindBasicBackupConfigurationInfoKindBackupConfigurationInfo', 'KindBasicBackupConfigurationInfoKindApplication', 'KindBasicBackupConfigurationInfoKindService', 'KindBasicBackupConfigurationInfoKindPartition'
43419	Kind KindBasicBackupConfigurationInfo `json:"Kind,omitempty"`
43420}
43421
43422// MarshalJSON is the custom marshaler for ServiceBackupConfigurationInfo.
43423func (sbci ServiceBackupConfigurationInfo) MarshalJSON() ([]byte, error) {
43424	sbci.Kind = KindBasicBackupConfigurationInfoKindService
43425	objectMap := make(map[string]interface{})
43426	if sbci.ServiceName != nil {
43427		objectMap["ServiceName"] = sbci.ServiceName
43428	}
43429	if sbci.PolicyName != nil {
43430		objectMap["PolicyName"] = sbci.PolicyName
43431	}
43432	if sbci.PolicyInheritedFrom != "" {
43433		objectMap["PolicyInheritedFrom"] = sbci.PolicyInheritedFrom
43434	}
43435	if sbci.SuspensionInfo != nil {
43436		objectMap["SuspensionInfo"] = sbci.SuspensionInfo
43437	}
43438	if sbci.Kind != "" {
43439		objectMap["Kind"] = sbci.Kind
43440	}
43441	return json.Marshal(objectMap)
43442}
43443
43444// AsApplicationBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
43445func (sbci ServiceBackupConfigurationInfo) AsApplicationBackupConfigurationInfo() (*ApplicationBackupConfigurationInfo, bool) {
43446	return nil, false
43447}
43448
43449// AsServiceBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
43450func (sbci ServiceBackupConfigurationInfo) AsServiceBackupConfigurationInfo() (*ServiceBackupConfigurationInfo, bool) {
43451	return &sbci, true
43452}
43453
43454// AsPartitionBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
43455func (sbci ServiceBackupConfigurationInfo) AsPartitionBackupConfigurationInfo() (*PartitionBackupConfigurationInfo, bool) {
43456	return nil, false
43457}
43458
43459// AsBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
43460func (sbci ServiceBackupConfigurationInfo) AsBackupConfigurationInfo() (*BackupConfigurationInfo, bool) {
43461	return nil, false
43462}
43463
43464// AsBasicBackupConfigurationInfo is the BasicBackupConfigurationInfo implementation for ServiceBackupConfigurationInfo.
43465func (sbci ServiceBackupConfigurationInfo) AsBasicBackupConfigurationInfo() (BasicBackupConfigurationInfo, bool) {
43466	return &sbci, true
43467}
43468
43469// ServiceBackupEntity identifies the Service Fabric stateful service which is being backed up.
43470type ServiceBackupEntity struct {
43471	// ServiceName - The full name of the service with 'fabric:' URI scheme.
43472	ServiceName *string `json:"ServiceName,omitempty"`
43473	// EntityKind - Possible values include: 'EntityKindBackupEntity', 'EntityKindApplication1', 'EntityKindService1', 'EntityKindPartition1'
43474	EntityKind EntityKindBasicBackupEntity `json:"EntityKind,omitempty"`
43475}
43476
43477// MarshalJSON is the custom marshaler for ServiceBackupEntity.
43478func (sbe ServiceBackupEntity) MarshalJSON() ([]byte, error) {
43479	sbe.EntityKind = EntityKindService1
43480	objectMap := make(map[string]interface{})
43481	if sbe.ServiceName != nil {
43482		objectMap["ServiceName"] = sbe.ServiceName
43483	}
43484	if sbe.EntityKind != "" {
43485		objectMap["EntityKind"] = sbe.EntityKind
43486	}
43487	return json.Marshal(objectMap)
43488}
43489
43490// AsApplicationBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
43491func (sbe ServiceBackupEntity) AsApplicationBackupEntity() (*ApplicationBackupEntity, bool) {
43492	return nil, false
43493}
43494
43495// AsServiceBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
43496func (sbe ServiceBackupEntity) AsServiceBackupEntity() (*ServiceBackupEntity, bool) {
43497	return &sbe, true
43498}
43499
43500// AsPartitionBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
43501func (sbe ServiceBackupEntity) AsPartitionBackupEntity() (*PartitionBackupEntity, bool) {
43502	return nil, false
43503}
43504
43505// AsBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
43506func (sbe ServiceBackupEntity) AsBackupEntity() (*BackupEntity, bool) {
43507	return nil, false
43508}
43509
43510// AsBasicBackupEntity is the BasicBackupEntity implementation for ServiceBackupEntity.
43511func (sbe ServiceBackupEntity) AsBasicBackupEntity() (BasicBackupEntity, bool) {
43512	return &sbe, true
43513}
43514
43515// ServiceCorrelationDescription creates a particular correlation between services.
43516type ServiceCorrelationDescription struct {
43517	// Scheme - The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName. Possible values include: 'ServiceCorrelationSchemeInvalid', 'ServiceCorrelationSchemeAffinity', 'ServiceCorrelationSchemeAlignedAffinity', 'ServiceCorrelationSchemeNonAlignedAffinity'
43518	Scheme ServiceCorrelationScheme `json:"Scheme,omitempty"`
43519	// ServiceName - The name of the service that the correlation relationship is established with.
43520	ServiceName *string `json:"ServiceName,omitempty"`
43521}
43522
43523// ServiceCreatedEvent service Created event.
43524type ServiceCreatedEvent struct {
43525	// ServiceTypeName - Service type name.
43526	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
43527	// ApplicationName - Application name.
43528	ApplicationName *string `json:"ApplicationName,omitempty"`
43529	// ApplicationTypeName - Application type name.
43530	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
43531	// ServiceInstance - Id of Service instance.
43532	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
43533	// IsStateful - Indicates if Service is stateful.
43534	IsStateful *bool `json:"IsStateful,omitempty"`
43535	// PartitionCount - Number of partitions.
43536	PartitionCount *int32 `json:"PartitionCount,omitempty"`
43537	// TargetReplicaSetSize - Size of target replicas set.
43538	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
43539	// MinReplicaSetSize - Minimum size of replicas set.
43540	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
43541	// ServicePackageVersion - Version of Service package.
43542	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
43543	// 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.
43544	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
43545	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
43546	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
43547	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
43548	ServiceID *string `json:"ServiceId,omitempty"`
43549	// EventInstanceID - The identifier for the FabricEvent instance.
43550	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
43551	// TimeStamp - The time event was logged.
43552	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
43553	// HasCorrelatedEvents - Shows there is existing related events available.
43554	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
43555	// 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'
43556	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
43557}
43558
43559// MarshalJSON is the custom marshaler for ServiceCreatedEvent.
43560func (sce ServiceCreatedEvent) MarshalJSON() ([]byte, error) {
43561	sce.Kind = KindServiceCreated
43562	objectMap := make(map[string]interface{})
43563	if sce.ServiceTypeName != nil {
43564		objectMap["ServiceTypeName"] = sce.ServiceTypeName
43565	}
43566	if sce.ApplicationName != nil {
43567		objectMap["ApplicationName"] = sce.ApplicationName
43568	}
43569	if sce.ApplicationTypeName != nil {
43570		objectMap["ApplicationTypeName"] = sce.ApplicationTypeName
43571	}
43572	if sce.ServiceInstance != nil {
43573		objectMap["ServiceInstance"] = sce.ServiceInstance
43574	}
43575	if sce.IsStateful != nil {
43576		objectMap["IsStateful"] = sce.IsStateful
43577	}
43578	if sce.PartitionCount != nil {
43579		objectMap["PartitionCount"] = sce.PartitionCount
43580	}
43581	if sce.TargetReplicaSetSize != nil {
43582		objectMap["TargetReplicaSetSize"] = sce.TargetReplicaSetSize
43583	}
43584	if sce.MinReplicaSetSize != nil {
43585		objectMap["MinReplicaSetSize"] = sce.MinReplicaSetSize
43586	}
43587	if sce.ServicePackageVersion != nil {
43588		objectMap["ServicePackageVersion"] = sce.ServicePackageVersion
43589	}
43590	if sce.PartitionID != nil {
43591		objectMap["PartitionId"] = sce.PartitionID
43592	}
43593	if sce.ServiceID != nil {
43594		objectMap["ServiceId"] = sce.ServiceID
43595	}
43596	if sce.EventInstanceID != nil {
43597		objectMap["EventInstanceId"] = sce.EventInstanceID
43598	}
43599	if sce.TimeStamp != nil {
43600		objectMap["TimeStamp"] = sce.TimeStamp
43601	}
43602	if sce.HasCorrelatedEvents != nil {
43603		objectMap["HasCorrelatedEvents"] = sce.HasCorrelatedEvents
43604	}
43605	if sce.Kind != "" {
43606		objectMap["Kind"] = sce.Kind
43607	}
43608	return json.Marshal(objectMap)
43609}
43610
43611// AsApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43612func (sce ServiceCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
43613	return nil, false
43614}
43615
43616// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43617func (sce ServiceCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
43618	return nil, false
43619}
43620
43621// AsClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43622func (sce ServiceCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
43623	return nil, false
43624}
43625
43626// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43627func (sce ServiceCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
43628	return nil, false
43629}
43630
43631// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43632func (sce ServiceCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
43633	return nil, false
43634}
43635
43636// AsNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43637func (sce ServiceCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
43638	return nil, false
43639}
43640
43641// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43642func (sce ServiceCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
43643	return nil, false
43644}
43645
43646// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43647func (sce ServiceCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
43648	return nil, false
43649}
43650
43651// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43652func (sce ServiceCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
43653	return nil, false
43654}
43655
43656// AsPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43657func (sce ServiceCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
43658	return nil, false
43659}
43660
43661// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43662func (sce ServiceCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
43663	return nil, false
43664}
43665
43666// AsReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43667func (sce ServiceCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
43668	return nil, false
43669}
43670
43671// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43672func (sce ServiceCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
43673	return nil, false
43674}
43675
43676// AsServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43677func (sce ServiceCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
43678	return nil, false
43679}
43680
43681// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43682func (sce ServiceCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
43683	return &sce, true
43684}
43685
43686// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43687func (sce ServiceCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
43688	return nil, false
43689}
43690
43691// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43692func (sce ServiceCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
43693	return nil, false
43694}
43695
43696// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43697func (sce ServiceCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
43698	return nil, false
43699}
43700
43701// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43702func (sce ServiceCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
43703	return nil, false
43704}
43705
43706// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43707func (sce ServiceCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
43708	return nil, false
43709}
43710
43711// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43712func (sce ServiceCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
43713	return nil, false
43714}
43715
43716// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43717func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
43718	return nil, false
43719}
43720
43721// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43722func (sce ServiceCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
43723	return nil, false
43724}
43725
43726// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43727func (sce ServiceCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
43728	return nil, false
43729}
43730
43731// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43732func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
43733	return nil, false
43734}
43735
43736// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43737func (sce ServiceCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
43738	return nil, false
43739}
43740
43741// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43742func (sce ServiceCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
43743	return nil, false
43744}
43745
43746// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43747func (sce ServiceCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
43748	return nil, false
43749}
43750
43751// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43752func (sce ServiceCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
43753	return nil, false
43754}
43755
43756// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43757func (sce ServiceCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
43758	return nil, false
43759}
43760
43761// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43762func (sce ServiceCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
43763	return nil, false
43764}
43765
43766// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43767func (sce ServiceCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
43768	return nil, false
43769}
43770
43771// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43772func (sce ServiceCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
43773	return nil, false
43774}
43775
43776// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43777func (sce ServiceCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
43778	return nil, false
43779}
43780
43781// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43782func (sce ServiceCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
43783	return nil, false
43784}
43785
43786// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43787func (sce ServiceCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
43788	return nil, false
43789}
43790
43791// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43792func (sce ServiceCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
43793	return nil, false
43794}
43795
43796// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43797func (sce ServiceCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
43798	return nil, false
43799}
43800
43801// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43802func (sce ServiceCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
43803	return nil, false
43804}
43805
43806// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43807func (sce ServiceCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
43808	return nil, false
43809}
43810
43811// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43812func (sce ServiceCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
43813	return nil, false
43814}
43815
43816// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43817func (sce ServiceCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
43818	return nil, false
43819}
43820
43821// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43822func (sce ServiceCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
43823	return nil, false
43824}
43825
43826// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43827func (sce ServiceCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
43828	return nil, false
43829}
43830
43831// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43832func (sce ServiceCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
43833	return nil, false
43834}
43835
43836// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43837func (sce ServiceCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
43838	return nil, false
43839}
43840
43841// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43842func (sce ServiceCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
43843	return nil, false
43844}
43845
43846// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43847func (sce ServiceCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
43848	return &sce, true
43849}
43850
43851// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43852func (sce ServiceCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
43853	return nil, false
43854}
43855
43856// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43857func (sce ServiceCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
43858	return nil, false
43859}
43860
43861// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43862func (sce ServiceCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
43863	return nil, false
43864}
43865
43866// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43867func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
43868	return nil, false
43869}
43870
43871// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43872func (sce ServiceCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
43873	return nil, false
43874}
43875
43876// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43877func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
43878	return nil, false
43879}
43880
43881// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43882func (sce ServiceCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
43883	return nil, false
43884}
43885
43886// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43887func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
43888	return nil, false
43889}
43890
43891// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43892func (sce ServiceCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
43893	return nil, false
43894}
43895
43896// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43897func (sce ServiceCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
43898	return nil, false
43899}
43900
43901// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43902func (sce ServiceCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
43903	return nil, false
43904}
43905
43906// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43907func (sce ServiceCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
43908	return nil, false
43909}
43910
43911// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43912func (sce ServiceCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
43913	return nil, false
43914}
43915
43916// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43917func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
43918	return nil, false
43919}
43920
43921// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43922func (sce ServiceCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
43923	return nil, false
43924}
43925
43926// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43927func (sce ServiceCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
43928	return nil, false
43929}
43930
43931// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43932func (sce ServiceCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
43933	return nil, false
43934}
43935
43936// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43937func (sce ServiceCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
43938	return nil, false
43939}
43940
43941// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43942func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
43943	return nil, false
43944}
43945
43946// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43947func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
43948	return nil, false
43949}
43950
43951// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43952func (sce ServiceCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
43953	return nil, false
43954}
43955
43956// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43957func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
43958	return nil, false
43959}
43960
43961// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43962func (sce ServiceCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
43963	return nil, false
43964}
43965
43966// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43967func (sce ServiceCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
43968	return nil, false
43969}
43970
43971// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43972func (sce ServiceCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
43973	return nil, false
43974}
43975
43976// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43977func (sce ServiceCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
43978	return nil, false
43979}
43980
43981// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43982func (sce ServiceCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
43983	return nil, false
43984}
43985
43986// AsFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43987func (sce ServiceCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
43988	return nil, false
43989}
43990
43991// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceCreatedEvent.
43992func (sce ServiceCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
43993	return &sce, true
43994}
43995
43996// ServiceDeletedEvent service Deleted event.
43997type ServiceDeletedEvent struct {
43998	// ServiceTypeName - Service type name.
43999	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
44000	// ApplicationName - Application name.
44001	ApplicationName *string `json:"ApplicationName,omitempty"`
44002	// ApplicationTypeName - Application type name.
44003	ApplicationTypeName *string `json:"ApplicationTypeName,omitempty"`
44004	// ServiceInstance - Id of Service instance.
44005	ServiceInstance *int64 `json:"ServiceInstance,omitempty"`
44006	// IsStateful - Indicates if Service is stateful.
44007	IsStateful *bool `json:"IsStateful,omitempty"`
44008	// PartitionCount - Number of partitions.
44009	PartitionCount *int32 `json:"PartitionCount,omitempty"`
44010	// TargetReplicaSetSize - Size of target replicas set.
44011	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
44012	// MinReplicaSetSize - Minimum size of replicas set.
44013	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
44014	// ServicePackageVersion - Version of Service package.
44015	ServicePackageVersion *string `json:"ServicePackageVersion,omitempty"`
44016	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
44017	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
44018	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
44019	ServiceID *string `json:"ServiceId,omitempty"`
44020	// EventInstanceID - The identifier for the FabricEvent instance.
44021	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
44022	// TimeStamp - The time event was logged.
44023	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
44024	// HasCorrelatedEvents - Shows there is existing related events available.
44025	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
44026	// 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'
44027	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
44028}
44029
44030// MarshalJSON is the custom marshaler for ServiceDeletedEvent.
44031func (sde ServiceDeletedEvent) MarshalJSON() ([]byte, error) {
44032	sde.Kind = KindServiceDeleted
44033	objectMap := make(map[string]interface{})
44034	if sde.ServiceTypeName != nil {
44035		objectMap["ServiceTypeName"] = sde.ServiceTypeName
44036	}
44037	if sde.ApplicationName != nil {
44038		objectMap["ApplicationName"] = sde.ApplicationName
44039	}
44040	if sde.ApplicationTypeName != nil {
44041		objectMap["ApplicationTypeName"] = sde.ApplicationTypeName
44042	}
44043	if sde.ServiceInstance != nil {
44044		objectMap["ServiceInstance"] = sde.ServiceInstance
44045	}
44046	if sde.IsStateful != nil {
44047		objectMap["IsStateful"] = sde.IsStateful
44048	}
44049	if sde.PartitionCount != nil {
44050		objectMap["PartitionCount"] = sde.PartitionCount
44051	}
44052	if sde.TargetReplicaSetSize != nil {
44053		objectMap["TargetReplicaSetSize"] = sde.TargetReplicaSetSize
44054	}
44055	if sde.MinReplicaSetSize != nil {
44056		objectMap["MinReplicaSetSize"] = sde.MinReplicaSetSize
44057	}
44058	if sde.ServicePackageVersion != nil {
44059		objectMap["ServicePackageVersion"] = sde.ServicePackageVersion
44060	}
44061	if sde.ServiceID != nil {
44062		objectMap["ServiceId"] = sde.ServiceID
44063	}
44064	if sde.EventInstanceID != nil {
44065		objectMap["EventInstanceId"] = sde.EventInstanceID
44066	}
44067	if sde.TimeStamp != nil {
44068		objectMap["TimeStamp"] = sde.TimeStamp
44069	}
44070	if sde.HasCorrelatedEvents != nil {
44071		objectMap["HasCorrelatedEvents"] = sde.HasCorrelatedEvents
44072	}
44073	if sde.Kind != "" {
44074		objectMap["Kind"] = sde.Kind
44075	}
44076	return json.Marshal(objectMap)
44077}
44078
44079// AsApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44080func (sde ServiceDeletedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
44081	return nil, false
44082}
44083
44084// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44085func (sde ServiceDeletedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
44086	return nil, false
44087}
44088
44089// AsClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44090func (sde ServiceDeletedEvent) AsClusterEvent() (*ClusterEvent, bool) {
44091	return nil, false
44092}
44093
44094// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44095func (sde ServiceDeletedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
44096	return nil, false
44097}
44098
44099// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44100func (sde ServiceDeletedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
44101	return nil, false
44102}
44103
44104// AsNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44105func (sde ServiceDeletedEvent) AsNodeEvent() (*NodeEvent, bool) {
44106	return nil, false
44107}
44108
44109// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44110func (sde ServiceDeletedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
44111	return nil, false
44112}
44113
44114// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44115func (sde ServiceDeletedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
44116	return nil, false
44117}
44118
44119// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44120func (sde ServiceDeletedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
44121	return nil, false
44122}
44123
44124// AsPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44125func (sde ServiceDeletedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
44126	return nil, false
44127}
44128
44129// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44130func (sde ServiceDeletedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
44131	return nil, false
44132}
44133
44134// AsReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44135func (sde ServiceDeletedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
44136	return nil, false
44137}
44138
44139// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44140func (sde ServiceDeletedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
44141	return nil, false
44142}
44143
44144// AsServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44145func (sde ServiceDeletedEvent) AsServiceEvent() (*ServiceEvent, bool) {
44146	return nil, false
44147}
44148
44149// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44150func (sde ServiceDeletedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
44151	return &sde, true
44152}
44153
44154// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44155func (sde ServiceDeletedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
44156	return nil, false
44157}
44158
44159// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44160func (sde ServiceDeletedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
44161	return nil, false
44162}
44163
44164// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44165func (sde ServiceDeletedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
44166	return nil, false
44167}
44168
44169// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44170func (sde ServiceDeletedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
44171	return nil, false
44172}
44173
44174// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44175func (sde ServiceDeletedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
44176	return nil, false
44177}
44178
44179// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44180func (sde ServiceDeletedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
44181	return nil, false
44182}
44183
44184// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44185func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
44186	return nil, false
44187}
44188
44189// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44190func (sde ServiceDeletedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
44191	return nil, false
44192}
44193
44194// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44195func (sde ServiceDeletedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
44196	return nil, false
44197}
44198
44199// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44200func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
44201	return nil, false
44202}
44203
44204// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44205func (sde ServiceDeletedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
44206	return nil, false
44207}
44208
44209// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44210func (sde ServiceDeletedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
44211	return nil, false
44212}
44213
44214// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44215func (sde ServiceDeletedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
44216	return nil, false
44217}
44218
44219// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44220func (sde ServiceDeletedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
44221	return nil, false
44222}
44223
44224// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44225func (sde ServiceDeletedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
44226	return nil, false
44227}
44228
44229// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44230func (sde ServiceDeletedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
44231	return nil, false
44232}
44233
44234// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44235func (sde ServiceDeletedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
44236	return nil, false
44237}
44238
44239// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44240func (sde ServiceDeletedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
44241	return nil, false
44242}
44243
44244// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44245func (sde ServiceDeletedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
44246	return nil, false
44247}
44248
44249// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44250func (sde ServiceDeletedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
44251	return nil, false
44252}
44253
44254// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44255func (sde ServiceDeletedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
44256	return nil, false
44257}
44258
44259// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44260func (sde ServiceDeletedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
44261	return nil, false
44262}
44263
44264// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44265func (sde ServiceDeletedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
44266	return nil, false
44267}
44268
44269// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44270func (sde ServiceDeletedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
44271	return nil, false
44272}
44273
44274// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44275func (sde ServiceDeletedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
44276	return nil, false
44277}
44278
44279// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44280func (sde ServiceDeletedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
44281	return nil, false
44282}
44283
44284// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44285func (sde ServiceDeletedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
44286	return nil, false
44287}
44288
44289// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44290func (sde ServiceDeletedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
44291	return nil, false
44292}
44293
44294// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44295func (sde ServiceDeletedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
44296	return nil, false
44297}
44298
44299// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44300func (sde ServiceDeletedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
44301	return nil, false
44302}
44303
44304// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44305func (sde ServiceDeletedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
44306	return nil, false
44307}
44308
44309// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44310func (sde ServiceDeletedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
44311	return nil, false
44312}
44313
44314// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44315func (sde ServiceDeletedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
44316	return nil, false
44317}
44318
44319// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44320func (sde ServiceDeletedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
44321	return &sde, true
44322}
44323
44324// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44325func (sde ServiceDeletedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
44326	return nil, false
44327}
44328
44329// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44330func (sde ServiceDeletedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
44331	return nil, false
44332}
44333
44334// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44335func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
44336	return nil, false
44337}
44338
44339// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44340func (sde ServiceDeletedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
44341	return nil, false
44342}
44343
44344// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44345func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
44346	return nil, false
44347}
44348
44349// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44350func (sde ServiceDeletedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
44351	return nil, false
44352}
44353
44354// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44355func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
44356	return nil, false
44357}
44358
44359// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44360func (sde ServiceDeletedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
44361	return nil, false
44362}
44363
44364// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44365func (sde ServiceDeletedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
44366	return nil, false
44367}
44368
44369// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44370func (sde ServiceDeletedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
44371	return nil, false
44372}
44373
44374// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44375func (sde ServiceDeletedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
44376	return nil, false
44377}
44378
44379// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44380func (sde ServiceDeletedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
44381	return nil, false
44382}
44383
44384// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44385func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
44386	return nil, false
44387}
44388
44389// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44390func (sde ServiceDeletedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
44391	return nil, false
44392}
44393
44394// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44395func (sde ServiceDeletedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
44396	return nil, false
44397}
44398
44399// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44400func (sde ServiceDeletedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
44401	return nil, false
44402}
44403
44404// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44405func (sde ServiceDeletedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
44406	return nil, false
44407}
44408
44409// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44410func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
44411	return nil, false
44412}
44413
44414// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44415func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
44416	return nil, false
44417}
44418
44419// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44420func (sde ServiceDeletedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
44421	return nil, false
44422}
44423
44424// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44425func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
44426	return nil, false
44427}
44428
44429// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44430func (sde ServiceDeletedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
44431	return nil, false
44432}
44433
44434// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44435func (sde ServiceDeletedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
44436	return nil, false
44437}
44438
44439// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44440func (sde ServiceDeletedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
44441	return nil, false
44442}
44443
44444// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44445func (sde ServiceDeletedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
44446	return nil, false
44447}
44448
44449// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44450func (sde ServiceDeletedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
44451	return nil, false
44452}
44453
44454// AsFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44455func (sde ServiceDeletedEvent) AsFabricEvent() (*FabricEvent, bool) {
44456	return nil, false
44457}
44458
44459// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceDeletedEvent.
44460func (sde ServiceDeletedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
44461	return &sde, true
44462}
44463
44464// BasicServiceDescription a ServiceDescription contains all of the information necessary to create a service.
44465type BasicServiceDescription interface {
44466	AsStatefulServiceDescription() (*StatefulServiceDescription, bool)
44467	AsStatelessServiceDescription() (*StatelessServiceDescription, bool)
44468	AsServiceDescription() (*ServiceDescription, bool)
44469}
44470
44471// ServiceDescription a ServiceDescription contains all of the information necessary to create a service.
44472type ServiceDescription struct {
44473	autorest.Response `json:"-"`
44474	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
44475	ApplicationName *string `json:"ApplicationName,omitempty"`
44476	// ServiceName - The full name of the service with 'fabric:' URI scheme.
44477	ServiceName *string `json:"ServiceName,omitempty"`
44478	// ServiceTypeName - Name of the service type as specified in the service manifest.
44479	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
44480	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
44481	InitializationData *[]int32 `json:"InitializationData,omitempty"`
44482	// PartitionDescription - The partition description as an object.
44483	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
44484	// 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)".
44485	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
44486	// CorrelationScheme - The correlation scheme.
44487	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
44488	// ServiceLoadMetrics - The service load metrics.
44489	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
44490	// ServicePlacementPolicies - The service placement policies.
44491	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
44492	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
44493	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
44494	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
44495	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
44496	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
44497	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
44498	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
44499	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
44500	// ScalingPolicies - Scaling policies for this service.
44501	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
44502	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
44503	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
44504}
44505
44506func unmarshalBasicServiceDescription(body []byte) (BasicServiceDescription, error) {
44507	var m map[string]interface{}
44508	err := json.Unmarshal(body, &m)
44509	if err != nil {
44510		return nil, err
44511	}
44512
44513	switch m["ServiceKind"] {
44514	case string(ServiceKindBasicServiceDescriptionServiceKindStateful):
44515		var ssd StatefulServiceDescription
44516		err := json.Unmarshal(body, &ssd)
44517		return ssd, err
44518	case string(ServiceKindBasicServiceDescriptionServiceKindStateless):
44519		var ssd StatelessServiceDescription
44520		err := json.Unmarshal(body, &ssd)
44521		return ssd, err
44522	default:
44523		var sd ServiceDescription
44524		err := json.Unmarshal(body, &sd)
44525		return sd, err
44526	}
44527}
44528func unmarshalBasicServiceDescriptionArray(body []byte) ([]BasicServiceDescription, error) {
44529	var rawMessages []*json.RawMessage
44530	err := json.Unmarshal(body, &rawMessages)
44531	if err != nil {
44532		return nil, err
44533	}
44534
44535	sdArray := make([]BasicServiceDescription, len(rawMessages))
44536
44537	for index, rawMessage := range rawMessages {
44538		sd, err := unmarshalBasicServiceDescription(*rawMessage)
44539		if err != nil {
44540			return nil, err
44541		}
44542		sdArray[index] = sd
44543	}
44544	return sdArray, nil
44545}
44546
44547// MarshalJSON is the custom marshaler for ServiceDescription.
44548func (sd ServiceDescription) MarshalJSON() ([]byte, error) {
44549	sd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindServiceDescription
44550	objectMap := make(map[string]interface{})
44551	if sd.ApplicationName != nil {
44552		objectMap["ApplicationName"] = sd.ApplicationName
44553	}
44554	if sd.ServiceName != nil {
44555		objectMap["ServiceName"] = sd.ServiceName
44556	}
44557	if sd.ServiceTypeName != nil {
44558		objectMap["ServiceTypeName"] = sd.ServiceTypeName
44559	}
44560	if sd.InitializationData != nil {
44561		objectMap["InitializationData"] = sd.InitializationData
44562	}
44563	objectMap["PartitionDescription"] = sd.PartitionDescription
44564	if sd.PlacementConstraints != nil {
44565		objectMap["PlacementConstraints"] = sd.PlacementConstraints
44566	}
44567	if sd.CorrelationScheme != nil {
44568		objectMap["CorrelationScheme"] = sd.CorrelationScheme
44569	}
44570	if sd.ServiceLoadMetrics != nil {
44571		objectMap["ServiceLoadMetrics"] = sd.ServiceLoadMetrics
44572	}
44573	if sd.ServicePlacementPolicies != nil {
44574		objectMap["ServicePlacementPolicies"] = sd.ServicePlacementPolicies
44575	}
44576	if sd.DefaultMoveCost != "" {
44577		objectMap["DefaultMoveCost"] = sd.DefaultMoveCost
44578	}
44579	if sd.IsDefaultMoveCostSpecified != nil {
44580		objectMap["IsDefaultMoveCostSpecified"] = sd.IsDefaultMoveCostSpecified
44581	}
44582	if sd.ServicePackageActivationMode != "" {
44583		objectMap["ServicePackageActivationMode"] = sd.ServicePackageActivationMode
44584	}
44585	if sd.ServiceDNSName != nil {
44586		objectMap["ServiceDnsName"] = sd.ServiceDNSName
44587	}
44588	if sd.ScalingPolicies != nil {
44589		objectMap["ScalingPolicies"] = sd.ScalingPolicies
44590	}
44591	if sd.ServiceKind != "" {
44592		objectMap["ServiceKind"] = sd.ServiceKind
44593	}
44594	return json.Marshal(objectMap)
44595}
44596
44597// AsStatefulServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44598func (sd ServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
44599	return nil, false
44600}
44601
44602// AsStatelessServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44603func (sd ServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
44604	return nil, false
44605}
44606
44607// AsServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44608func (sd ServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
44609	return &sd, true
44610}
44611
44612// AsBasicServiceDescription is the BasicServiceDescription implementation for ServiceDescription.
44613func (sd ServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
44614	return &sd, true
44615}
44616
44617// UnmarshalJSON is the custom unmarshaler for ServiceDescription struct.
44618func (sd *ServiceDescription) UnmarshalJSON(body []byte) error {
44619	var m map[string]*json.RawMessage
44620	err := json.Unmarshal(body, &m)
44621	if err != nil {
44622		return err
44623	}
44624	for k, v := range m {
44625		switch k {
44626		case "ApplicationName":
44627			if v != nil {
44628				var applicationName string
44629				err = json.Unmarshal(*v, &applicationName)
44630				if err != nil {
44631					return err
44632				}
44633				sd.ApplicationName = &applicationName
44634			}
44635		case "ServiceName":
44636			if v != nil {
44637				var serviceName string
44638				err = json.Unmarshal(*v, &serviceName)
44639				if err != nil {
44640					return err
44641				}
44642				sd.ServiceName = &serviceName
44643			}
44644		case "ServiceTypeName":
44645			if v != nil {
44646				var serviceTypeName string
44647				err = json.Unmarshal(*v, &serviceTypeName)
44648				if err != nil {
44649					return err
44650				}
44651				sd.ServiceTypeName = &serviceTypeName
44652			}
44653		case "InitializationData":
44654			if v != nil {
44655				var initializationData []int32
44656				err = json.Unmarshal(*v, &initializationData)
44657				if err != nil {
44658					return err
44659				}
44660				sd.InitializationData = &initializationData
44661			}
44662		case "PartitionDescription":
44663			if v != nil {
44664				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
44665				if err != nil {
44666					return err
44667				}
44668				sd.PartitionDescription = partitionDescription
44669			}
44670		case "PlacementConstraints":
44671			if v != nil {
44672				var placementConstraints string
44673				err = json.Unmarshal(*v, &placementConstraints)
44674				if err != nil {
44675					return err
44676				}
44677				sd.PlacementConstraints = &placementConstraints
44678			}
44679		case "CorrelationScheme":
44680			if v != nil {
44681				var correlationScheme []ServiceCorrelationDescription
44682				err = json.Unmarshal(*v, &correlationScheme)
44683				if err != nil {
44684					return err
44685				}
44686				sd.CorrelationScheme = &correlationScheme
44687			}
44688		case "ServiceLoadMetrics":
44689			if v != nil {
44690				var serviceLoadMetrics []ServiceLoadMetricDescription
44691				err = json.Unmarshal(*v, &serviceLoadMetrics)
44692				if err != nil {
44693					return err
44694				}
44695				sd.ServiceLoadMetrics = &serviceLoadMetrics
44696			}
44697		case "ServicePlacementPolicies":
44698			if v != nil {
44699				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
44700				if err != nil {
44701					return err
44702				}
44703				sd.ServicePlacementPolicies = &servicePlacementPolicies
44704			}
44705		case "DefaultMoveCost":
44706			if v != nil {
44707				var defaultMoveCost MoveCost
44708				err = json.Unmarshal(*v, &defaultMoveCost)
44709				if err != nil {
44710					return err
44711				}
44712				sd.DefaultMoveCost = defaultMoveCost
44713			}
44714		case "IsDefaultMoveCostSpecified":
44715			if v != nil {
44716				var isDefaultMoveCostSpecified bool
44717				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
44718				if err != nil {
44719					return err
44720				}
44721				sd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
44722			}
44723		case "ServicePackageActivationMode":
44724			if v != nil {
44725				var servicePackageActivationMode ServicePackageActivationMode
44726				err = json.Unmarshal(*v, &servicePackageActivationMode)
44727				if err != nil {
44728					return err
44729				}
44730				sd.ServicePackageActivationMode = servicePackageActivationMode
44731			}
44732		case "ServiceDnsName":
44733			if v != nil {
44734				var serviceDNSName string
44735				err = json.Unmarshal(*v, &serviceDNSName)
44736				if err != nil {
44737					return err
44738				}
44739				sd.ServiceDNSName = &serviceDNSName
44740			}
44741		case "ScalingPolicies":
44742			if v != nil {
44743				var scalingPolicies []ScalingPolicyDescription
44744				err = json.Unmarshal(*v, &scalingPolicies)
44745				if err != nil {
44746					return err
44747				}
44748				sd.ScalingPolicies = &scalingPolicies
44749			}
44750		case "ServiceKind":
44751			if v != nil {
44752				var serviceKind ServiceKindBasicServiceDescription
44753				err = json.Unmarshal(*v, &serviceKind)
44754				if err != nil {
44755					return err
44756				}
44757				sd.ServiceKind = serviceKind
44758			}
44759		}
44760	}
44761
44762	return nil
44763}
44764
44765// ServiceDescriptionModel ...
44766type ServiceDescriptionModel struct {
44767	autorest.Response `json:"-"`
44768	Value             BasicServiceDescription `json:"value,omitempty"`
44769}
44770
44771// UnmarshalJSON is the custom unmarshaler for ServiceDescriptionModel struct.
44772func (sdm *ServiceDescriptionModel) UnmarshalJSON(body []byte) error {
44773	sd, err := unmarshalBasicServiceDescription(body)
44774	if err != nil {
44775		return err
44776	}
44777	sdm.Value = sd
44778
44779	return nil
44780}
44781
44782// BasicServiceEvent represents the base for all Service Events.
44783type BasicServiceEvent interface {
44784	AsServiceCreatedEvent() (*ServiceCreatedEvent, bool)
44785	AsServiceDeletedEvent() (*ServiceDeletedEvent, bool)
44786	AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool)
44787	AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool)
44788	AsServiceEvent() (*ServiceEvent, bool)
44789}
44790
44791// ServiceEvent represents the base for all Service Events.
44792type ServiceEvent struct {
44793	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
44794	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
44795	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
44796	ServiceID *string `json:"ServiceId,omitempty"`
44797	// EventInstanceID - The identifier for the FabricEvent instance.
44798	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
44799	// TimeStamp - The time event was logged.
44800	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
44801	// HasCorrelatedEvents - Shows there is existing related events available.
44802	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
44803	// 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'
44804	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
44805}
44806
44807func unmarshalBasicServiceEvent(body []byte) (BasicServiceEvent, error) {
44808	var m map[string]interface{}
44809	err := json.Unmarshal(body, &m)
44810	if err != nil {
44811		return nil, err
44812	}
44813
44814	switch m["Kind"] {
44815	case string(KindServiceCreated):
44816		var sce ServiceCreatedEvent
44817		err := json.Unmarshal(body, &sce)
44818		return sce, err
44819	case string(KindServiceDeleted):
44820		var sde ServiceDeletedEvent
44821		err := json.Unmarshal(body, &sde)
44822		return sde, err
44823	case string(KindServiceHealthReportCreated):
44824		var shrce ServiceHealthReportCreatedEvent
44825		err := json.Unmarshal(body, &shrce)
44826		return shrce, err
44827	case string(KindServiceHealthReportExpired):
44828		var shree ServiceHealthReportExpiredEvent
44829		err := json.Unmarshal(body, &shree)
44830		return shree, err
44831	default:
44832		var se ServiceEvent
44833		err := json.Unmarshal(body, &se)
44834		return se, err
44835	}
44836}
44837func unmarshalBasicServiceEventArray(body []byte) ([]BasicServiceEvent, error) {
44838	var rawMessages []*json.RawMessage
44839	err := json.Unmarshal(body, &rawMessages)
44840	if err != nil {
44841		return nil, err
44842	}
44843
44844	seArray := make([]BasicServiceEvent, len(rawMessages))
44845
44846	for index, rawMessage := range rawMessages {
44847		se, err := unmarshalBasicServiceEvent(*rawMessage)
44848		if err != nil {
44849			return nil, err
44850		}
44851		seArray[index] = se
44852	}
44853	return seArray, nil
44854}
44855
44856// MarshalJSON is the custom marshaler for ServiceEvent.
44857func (se ServiceEvent) MarshalJSON() ([]byte, error) {
44858	se.Kind = KindServiceEvent
44859	objectMap := make(map[string]interface{})
44860	if se.ServiceID != nil {
44861		objectMap["ServiceId"] = se.ServiceID
44862	}
44863	if se.EventInstanceID != nil {
44864		objectMap["EventInstanceId"] = se.EventInstanceID
44865	}
44866	if se.TimeStamp != nil {
44867		objectMap["TimeStamp"] = se.TimeStamp
44868	}
44869	if se.HasCorrelatedEvents != nil {
44870		objectMap["HasCorrelatedEvents"] = se.HasCorrelatedEvents
44871	}
44872	if se.Kind != "" {
44873		objectMap["Kind"] = se.Kind
44874	}
44875	return json.Marshal(objectMap)
44876}
44877
44878// AsApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
44879func (se ServiceEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
44880	return nil, false
44881}
44882
44883// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceEvent.
44884func (se ServiceEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
44885	return nil, false
44886}
44887
44888// AsClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
44889func (se ServiceEvent) AsClusterEvent() (*ClusterEvent, bool) {
44890	return nil, false
44891}
44892
44893// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceEvent.
44894func (se ServiceEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
44895	return nil, false
44896}
44897
44898// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceEvent.
44899func (se ServiceEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
44900	return nil, false
44901}
44902
44903// AsNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
44904func (se ServiceEvent) AsNodeEvent() (*NodeEvent, bool) {
44905	return nil, false
44906}
44907
44908// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceEvent.
44909func (se ServiceEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
44910	return nil, false
44911}
44912
44913// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
44914func (se ServiceEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
44915	return nil, false
44916}
44917
44918// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
44919func (se ServiceEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
44920	return nil, false
44921}
44922
44923// AsPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
44924func (se ServiceEvent) AsPartitionEvent() (*PartitionEvent, bool) {
44925	return nil, false
44926}
44927
44928// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceEvent.
44929func (se ServiceEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
44930	return nil, false
44931}
44932
44933// AsReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
44934func (se ServiceEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
44935	return nil, false
44936}
44937
44938// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceEvent.
44939func (se ServiceEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
44940	return nil, false
44941}
44942
44943// AsServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
44944func (se ServiceEvent) AsServiceEvent() (*ServiceEvent, bool) {
44945	return &se, true
44946}
44947
44948// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceEvent.
44949func (se ServiceEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
44950	return &se, true
44951}
44952
44953// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44954func (se ServiceEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
44955	return nil, false
44956}
44957
44958// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
44959func (se ServiceEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
44960	return nil, false
44961}
44962
44963// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44964func (se ServiceEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
44965	return nil, false
44966}
44967
44968// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
44969func (se ServiceEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
44970	return nil, false
44971}
44972
44973// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44974func (se ServiceEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
44975	return nil, false
44976}
44977
44978// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44979func (se ServiceEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
44980	return nil, false
44981}
44982
44983// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
44984func (se ServiceEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
44985	return nil, false
44986}
44987
44988// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
44989func (se ServiceEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
44990	return nil, false
44991}
44992
44993// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
44994func (se ServiceEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
44995	return nil, false
44996}
44997
44998// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
44999func (se ServiceEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
45000	return nil, false
45001}
45002
45003// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45004func (se ServiceEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
45005	return nil, false
45006}
45007
45008// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45009func (se ServiceEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
45010	return nil, false
45011}
45012
45013// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45014func (se ServiceEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
45015	return nil, false
45016}
45017
45018// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceEvent.
45019func (se ServiceEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
45020	return nil, false
45021}
45022
45023// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceEvent.
45024func (se ServiceEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
45025	return nil, false
45026}
45027
45028// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceEvent.
45029func (se ServiceEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
45030	return nil, false
45031}
45032
45033// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceEvent.
45034func (se ServiceEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
45035	return nil, false
45036}
45037
45038// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceEvent.
45039func (se ServiceEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
45040	return nil, false
45041}
45042
45043// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
45044func (se ServiceEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
45045	return nil, false
45046}
45047
45048// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceEvent.
45049func (se ServiceEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
45050	return nil, false
45051}
45052
45053// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceEvent.
45054func (se ServiceEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
45055	return nil, false
45056}
45057
45058// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45059func (se ServiceEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
45060	return nil, false
45061}
45062
45063// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45064func (se ServiceEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
45065	return nil, false
45066}
45067
45068// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceEvent.
45069func (se ServiceEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
45070	return nil, false
45071}
45072
45073// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceEvent.
45074func (se ServiceEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
45075	return nil, false
45076}
45077
45078// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceEvent.
45079func (se ServiceEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
45080	return nil, false
45081}
45082
45083// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceEvent.
45084func (se ServiceEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
45085	return nil, false
45086}
45087
45088// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceEvent.
45089func (se ServiceEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
45090	return nil, false
45091}
45092
45093// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45094func (se ServiceEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
45095	return nil, false
45096}
45097
45098// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45099func (se ServiceEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
45100	return nil, false
45101}
45102
45103// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
45104func (se ServiceEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
45105	return nil, false
45106}
45107
45108// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceEvent.
45109func (se ServiceEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
45110	return nil, false
45111}
45112
45113// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45114func (se ServiceEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
45115	return nil, false
45116}
45117
45118// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceEvent.
45119func (se ServiceEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
45120	return nil, false
45121}
45122
45123// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45124func (se ServiceEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
45125	return nil, false
45126}
45127
45128// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45129func (se ServiceEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
45130	return nil, false
45131}
45132
45133// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45134func (se ServiceEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
45135	return nil, false
45136}
45137
45138// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45139func (se ServiceEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
45140	return nil, false
45141}
45142
45143// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45144func (se ServiceEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
45145	return nil, false
45146}
45147
45148// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45149func (se ServiceEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
45150	return nil, false
45151}
45152
45153// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45154func (se ServiceEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
45155	return nil, false
45156}
45157
45158// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45159func (se ServiceEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
45160	return nil, false
45161}
45162
45163// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceEvent.
45164func (se ServiceEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
45165	return nil, false
45166}
45167
45168// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceEvent.
45169func (se ServiceEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
45170	return nil, false
45171}
45172
45173// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
45174func (se ServiceEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
45175	return nil, false
45176}
45177
45178// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
45179func (se ServiceEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
45180	return nil, false
45181}
45182
45183// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceEvent.
45184func (se ServiceEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
45185	return nil, false
45186}
45187
45188// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceEvent.
45189func (se ServiceEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
45190	return nil, false
45191}
45192
45193// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceEvent.
45194func (se ServiceEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
45195	return nil, false
45196}
45197
45198// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceEvent.
45199func (se ServiceEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
45200	return nil, false
45201}
45202
45203// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceEvent.
45204func (se ServiceEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
45205	return nil, false
45206}
45207
45208// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
45209func (se ServiceEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
45210	return nil, false
45211}
45212
45213// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
45214func (se ServiceEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
45215	return nil, false
45216}
45217
45218// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
45219func (se ServiceEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
45220	return nil, false
45221}
45222
45223// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
45224func (se ServiceEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
45225	return nil, false
45226}
45227
45228// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceEvent.
45229func (se ServiceEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
45230	return nil, false
45231}
45232
45233// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
45234func (se ServiceEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
45235	return nil, false
45236}
45237
45238// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
45239func (se ServiceEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
45240	return nil, false
45241}
45242
45243// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
45244func (se ServiceEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
45245	return nil, false
45246}
45247
45248// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceEvent.
45249func (se ServiceEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
45250	return nil, false
45251}
45252
45253// AsFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
45254func (se ServiceEvent) AsFabricEvent() (*FabricEvent, bool) {
45255	return nil, false
45256}
45257
45258// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceEvent.
45259func (se ServiceEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
45260	return &se, true
45261}
45262
45263// ServiceFromTemplateDescription defines description for creating a Service Fabric service from a template
45264// defined in the application manifest.
45265type ServiceFromTemplateDescription struct {
45266	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
45267	ApplicationName *string `json:"ApplicationName,omitempty"`
45268	// ServiceName - The full name of the service with 'fabric:' URI scheme.
45269	ServiceName *string `json:"ServiceName,omitempty"`
45270	// ServiceTypeName - Name of the service type as specified in the service manifest.
45271	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
45272	// InitializationData - The initialization data for the newly created service instance.
45273	InitializationData *[]int32 `json:"InitializationData,omitempty"`
45274	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
45275	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
45276	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
45277	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
45278}
45279
45280// ServiceHealth information about the health of a Service Fabric service.
45281type ServiceHealth struct {
45282	autorest.Response `json:"-"`
45283	// Name - The name of the service whose health information is described by this object.
45284	Name *string `json:"Name,omitempty"`
45285	// PartitionHealthStates - The list of partition health states associated with the service.
45286	PartitionHealthStates *[]PartitionHealthState `json:"PartitionHealthStates,omitempty"`
45287	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
45288	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
45289	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
45290	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
45291	// HealthEvents - The list of health events reported on the entity.
45292	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
45293	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
45294	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
45295	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
45296	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
45297}
45298
45299// ServiceHealthEvaluation represents health evaluation for a service, containing information about the
45300// data and the algorithm used by health store to evaluate health. The evaluation is returned only when the
45301// aggregated health state is either Error or Warning.
45302type ServiceHealthEvaluation struct {
45303	// ServiceName - Name of the service whose health evaluation is described by this object.
45304	ServiceName *string `json:"ServiceName,omitempty"`
45305	// 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.
45306	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
45307	// 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'
45308	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
45309	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
45310	Description *string `json:"Description,omitempty"`
45311	// 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'
45312	Kind Kind `json:"Kind,omitempty"`
45313}
45314
45315// MarshalJSON is the custom marshaler for ServiceHealthEvaluation.
45316func (she ServiceHealthEvaluation) MarshalJSON() ([]byte, error) {
45317	she.Kind = KindService
45318	objectMap := make(map[string]interface{})
45319	if she.ServiceName != nil {
45320		objectMap["ServiceName"] = she.ServiceName
45321	}
45322	if she.UnhealthyEvaluations != nil {
45323		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
45324	}
45325	if she.AggregatedHealthState != "" {
45326		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
45327	}
45328	if she.Description != nil {
45329		objectMap["Description"] = she.Description
45330	}
45331	if she.Kind != "" {
45332		objectMap["Kind"] = she.Kind
45333	}
45334	return json.Marshal(objectMap)
45335}
45336
45337// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45338func (she ServiceHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
45339	return nil, false
45340}
45341
45342// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45343func (she ServiceHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
45344	return nil, false
45345}
45346
45347// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45348func (she ServiceHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
45349	return nil, false
45350}
45351
45352// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45353func (she ServiceHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
45354	return nil, false
45355}
45356
45357// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45358func (she ServiceHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
45359	return nil, false
45360}
45361
45362// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45363func (she ServiceHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
45364	return nil, false
45365}
45366
45367// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45368func (she ServiceHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
45369	return nil, false
45370}
45371
45372// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45373func (she ServiceHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
45374	return nil, false
45375}
45376
45377// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45378func (she ServiceHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
45379	return nil, false
45380}
45381
45382// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45383func (she ServiceHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
45384	return nil, false
45385}
45386
45387// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45388func (she ServiceHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
45389	return nil, false
45390}
45391
45392// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45393func (she ServiceHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
45394	return nil, false
45395}
45396
45397// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45398func (she ServiceHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
45399	return nil, false
45400}
45401
45402// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45403func (she ServiceHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
45404	return nil, false
45405}
45406
45407// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45408func (she ServiceHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
45409	return nil, false
45410}
45411
45412// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45413func (she ServiceHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
45414	return &she, true
45415}
45416
45417// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45418func (she ServiceHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
45419	return nil, false
45420}
45421
45422// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45423func (she ServiceHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
45424	return nil, false
45425}
45426
45427// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45428func (she ServiceHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
45429	return nil, false
45430}
45431
45432// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45433func (she ServiceHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
45434	return nil, false
45435}
45436
45437// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45438func (she ServiceHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
45439	return nil, false
45440}
45441
45442// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServiceHealthEvaluation.
45443func (she ServiceHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
45444	return &she, true
45445}
45446
45447// ServiceHealthReportCreatedEvent service Health Report Created event.
45448type ServiceHealthReportCreatedEvent struct {
45449	// InstanceID - Id of Service instance.
45450	InstanceID *int64 `json:"InstanceId,omitempty"`
45451	// SourceID - Id of report source.
45452	SourceID *string `json:"SourceId,omitempty"`
45453	// Property - Describes the property.
45454	Property *string `json:"Property,omitempty"`
45455	// HealthState - Describes the property health state.
45456	HealthState *string `json:"HealthState,omitempty"`
45457	// TimeToLiveMs - Time to live in milli-seconds.
45458	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
45459	// SequenceNumber - Sequence number of report.
45460	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
45461	// Description - Description of report.
45462	Description *string `json:"Description,omitempty"`
45463	// RemoveWhenExpired - Indicates the removal when it expires.
45464	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
45465	// SourceUtcTimestamp - Source time.
45466	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
45467	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
45468	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
45469	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
45470	ServiceID *string `json:"ServiceId,omitempty"`
45471	// EventInstanceID - The identifier for the FabricEvent instance.
45472	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
45473	// TimeStamp - The time event was logged.
45474	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
45475	// HasCorrelatedEvents - Shows there is existing related events available.
45476	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
45477	// 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'
45478	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
45479}
45480
45481// MarshalJSON is the custom marshaler for ServiceHealthReportCreatedEvent.
45482func (shrce ServiceHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
45483	shrce.Kind = KindServiceHealthReportCreated
45484	objectMap := make(map[string]interface{})
45485	if shrce.InstanceID != nil {
45486		objectMap["InstanceId"] = shrce.InstanceID
45487	}
45488	if shrce.SourceID != nil {
45489		objectMap["SourceId"] = shrce.SourceID
45490	}
45491	if shrce.Property != nil {
45492		objectMap["Property"] = shrce.Property
45493	}
45494	if shrce.HealthState != nil {
45495		objectMap["HealthState"] = shrce.HealthState
45496	}
45497	if shrce.TimeToLiveMs != nil {
45498		objectMap["TimeToLiveMs"] = shrce.TimeToLiveMs
45499	}
45500	if shrce.SequenceNumber != nil {
45501		objectMap["SequenceNumber"] = shrce.SequenceNumber
45502	}
45503	if shrce.Description != nil {
45504		objectMap["Description"] = shrce.Description
45505	}
45506	if shrce.RemoveWhenExpired != nil {
45507		objectMap["RemoveWhenExpired"] = shrce.RemoveWhenExpired
45508	}
45509	if shrce.SourceUtcTimestamp != nil {
45510		objectMap["SourceUtcTimestamp"] = shrce.SourceUtcTimestamp
45511	}
45512	if shrce.ServiceID != nil {
45513		objectMap["ServiceId"] = shrce.ServiceID
45514	}
45515	if shrce.EventInstanceID != nil {
45516		objectMap["EventInstanceId"] = shrce.EventInstanceID
45517	}
45518	if shrce.TimeStamp != nil {
45519		objectMap["TimeStamp"] = shrce.TimeStamp
45520	}
45521	if shrce.HasCorrelatedEvents != nil {
45522		objectMap["HasCorrelatedEvents"] = shrce.HasCorrelatedEvents
45523	}
45524	if shrce.Kind != "" {
45525		objectMap["Kind"] = shrce.Kind
45526	}
45527	return json.Marshal(objectMap)
45528}
45529
45530// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45531func (shrce ServiceHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
45532	return nil, false
45533}
45534
45535// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45536func (shrce ServiceHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
45537	return nil, false
45538}
45539
45540// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45541func (shrce ServiceHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
45542	return nil, false
45543}
45544
45545// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45546func (shrce ServiceHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
45547	return nil, false
45548}
45549
45550// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45551func (shrce ServiceHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
45552	return nil, false
45553}
45554
45555// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45556func (shrce ServiceHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
45557	return nil, false
45558}
45559
45560// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45561func (shrce ServiceHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
45562	return nil, false
45563}
45564
45565// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45566func (shrce ServiceHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
45567	return nil, false
45568}
45569
45570// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45571func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
45572	return nil, false
45573}
45574
45575// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45576func (shrce ServiceHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
45577	return nil, false
45578}
45579
45580// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45581func (shrce ServiceHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
45582	return nil, false
45583}
45584
45585// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45586func (shrce ServiceHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
45587	return nil, false
45588}
45589
45590// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45591func (shrce ServiceHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
45592	return nil, false
45593}
45594
45595// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45596func (shrce ServiceHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
45597	return nil, false
45598}
45599
45600// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45601func (shrce ServiceHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
45602	return &shrce, true
45603}
45604
45605// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45606func (shrce ServiceHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
45607	return nil, false
45608}
45609
45610// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45611func (shrce ServiceHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
45612	return nil, false
45613}
45614
45615// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45616func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
45617	return nil, false
45618}
45619
45620// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45621func (shrce ServiceHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
45622	return nil, false
45623}
45624
45625// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45626func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
45627	return nil, false
45628}
45629
45630// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45631func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
45632	return nil, false
45633}
45634
45635// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45636func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
45637	return nil, false
45638}
45639
45640// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45641func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
45642	return nil, false
45643}
45644
45645// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45646func (shrce ServiceHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
45647	return nil, false
45648}
45649
45650// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45651func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
45652	return nil, false
45653}
45654
45655// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45656func (shrce ServiceHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
45657	return nil, false
45658}
45659
45660// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45661func (shrce ServiceHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
45662	return nil, false
45663}
45664
45665// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45666func (shrce ServiceHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
45667	return nil, false
45668}
45669
45670// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45671func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
45672	return nil, false
45673}
45674
45675// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45676func (shrce ServiceHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
45677	return nil, false
45678}
45679
45680// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45681func (shrce ServiceHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
45682	return nil, false
45683}
45684
45685// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45686func (shrce ServiceHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
45687	return nil, false
45688}
45689
45690// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45691func (shrce ServiceHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
45692	return nil, false
45693}
45694
45695// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45696func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
45697	return nil, false
45698}
45699
45700// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45701func (shrce ServiceHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
45702	return nil, false
45703}
45704
45705// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45706func (shrce ServiceHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
45707	return nil, false
45708}
45709
45710// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45711func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
45712	return nil, false
45713}
45714
45715// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45716func (shrce ServiceHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
45717	return nil, false
45718}
45719
45720// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45721func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
45722	return nil, false
45723}
45724
45725// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45726func (shrce ServiceHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
45727	return nil, false
45728}
45729
45730// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45731func (shrce ServiceHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
45732	return nil, false
45733}
45734
45735// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45736func (shrce ServiceHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
45737	return nil, false
45738}
45739
45740// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45741func (shrce ServiceHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
45742	return nil, false
45743}
45744
45745// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45746func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
45747	return nil, false
45748}
45749
45750// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45751func (shrce ServiceHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
45752	return nil, false
45753}
45754
45755// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45756func (shrce ServiceHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
45757	return nil, false
45758}
45759
45760// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45761func (shrce ServiceHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
45762	return nil, false
45763}
45764
45765// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45766func (shrce ServiceHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
45767	return nil, false
45768}
45769
45770// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45771func (shrce ServiceHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
45772	return nil, false
45773}
45774
45775// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45776func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
45777	return &shrce, true
45778}
45779
45780// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45781func (shrce ServiceHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
45782	return nil, false
45783}
45784
45785// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45786func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
45787	return nil, false
45788}
45789
45790// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45791func (shrce ServiceHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
45792	return nil, false
45793}
45794
45795// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45796func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
45797	return nil, false
45798}
45799
45800// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45801func (shrce ServiceHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
45802	return nil, false
45803}
45804
45805// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45806func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
45807	return nil, false
45808}
45809
45810// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45811func (shrce ServiceHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
45812	return nil, false
45813}
45814
45815// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45816func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
45817	return nil, false
45818}
45819
45820// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45821func (shrce ServiceHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
45822	return nil, false
45823}
45824
45825// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45826func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
45827	return nil, false
45828}
45829
45830// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45831func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
45832	return nil, false
45833}
45834
45835// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45836func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
45837	return nil, false
45838}
45839
45840// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45841func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
45842	return nil, false
45843}
45844
45845// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45846func (shrce ServiceHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
45847	return nil, false
45848}
45849
45850// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45851func (shrce ServiceHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
45852	return nil, false
45853}
45854
45855// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45856func (shrce ServiceHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
45857	return nil, false
45858}
45859
45860// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45861func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
45862	return nil, false
45863}
45864
45865// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45866func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
45867	return nil, false
45868}
45869
45870// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45871func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
45872	return nil, false
45873}
45874
45875// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45876func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
45877	return nil, false
45878}
45879
45880// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45881func (shrce ServiceHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
45882	return nil, false
45883}
45884
45885// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45886func (shrce ServiceHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
45887	return nil, false
45888}
45889
45890// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45891func (shrce ServiceHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
45892	return nil, false
45893}
45894
45895// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45896func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
45897	return nil, false
45898}
45899
45900// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45901func (shrce ServiceHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
45902	return nil, false
45903}
45904
45905// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45906func (shrce ServiceHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
45907	return nil, false
45908}
45909
45910// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportCreatedEvent.
45911func (shrce ServiceHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
45912	return &shrce, true
45913}
45914
45915// ServiceHealthReportExpiredEvent service Health Report Expired event.
45916type ServiceHealthReportExpiredEvent struct {
45917	// InstanceID - Id of Service instance.
45918	InstanceID *int64 `json:"InstanceId,omitempty"`
45919	// SourceID - Id of report source.
45920	SourceID *string `json:"SourceId,omitempty"`
45921	// Property - Describes the property.
45922	Property *string `json:"Property,omitempty"`
45923	// HealthState - Describes the property health state.
45924	HealthState *string `json:"HealthState,omitempty"`
45925	// TimeToLiveMs - Time to live in milli-seconds.
45926	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
45927	// SequenceNumber - Sequence number of report.
45928	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
45929	// Description - Description of report.
45930	Description *string `json:"Description,omitempty"`
45931	// RemoveWhenExpired - Indicates the removal when it expires.
45932	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
45933	// SourceUtcTimestamp - Source time.
45934	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
45935	// ServiceID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
45936	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
45937	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
45938	ServiceID *string `json:"ServiceId,omitempty"`
45939	// EventInstanceID - The identifier for the FabricEvent instance.
45940	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
45941	// TimeStamp - The time event was logged.
45942	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
45943	// HasCorrelatedEvents - Shows there is existing related events available.
45944	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
45945	// 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'
45946	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
45947}
45948
45949// MarshalJSON is the custom marshaler for ServiceHealthReportExpiredEvent.
45950func (shree ServiceHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
45951	shree.Kind = KindServiceHealthReportExpired
45952	objectMap := make(map[string]interface{})
45953	if shree.InstanceID != nil {
45954		objectMap["InstanceId"] = shree.InstanceID
45955	}
45956	if shree.SourceID != nil {
45957		objectMap["SourceId"] = shree.SourceID
45958	}
45959	if shree.Property != nil {
45960		objectMap["Property"] = shree.Property
45961	}
45962	if shree.HealthState != nil {
45963		objectMap["HealthState"] = shree.HealthState
45964	}
45965	if shree.TimeToLiveMs != nil {
45966		objectMap["TimeToLiveMs"] = shree.TimeToLiveMs
45967	}
45968	if shree.SequenceNumber != nil {
45969		objectMap["SequenceNumber"] = shree.SequenceNumber
45970	}
45971	if shree.Description != nil {
45972		objectMap["Description"] = shree.Description
45973	}
45974	if shree.RemoveWhenExpired != nil {
45975		objectMap["RemoveWhenExpired"] = shree.RemoveWhenExpired
45976	}
45977	if shree.SourceUtcTimestamp != nil {
45978		objectMap["SourceUtcTimestamp"] = shree.SourceUtcTimestamp
45979	}
45980	if shree.ServiceID != nil {
45981		objectMap["ServiceId"] = shree.ServiceID
45982	}
45983	if shree.EventInstanceID != nil {
45984		objectMap["EventInstanceId"] = shree.EventInstanceID
45985	}
45986	if shree.TimeStamp != nil {
45987		objectMap["TimeStamp"] = shree.TimeStamp
45988	}
45989	if shree.HasCorrelatedEvents != nil {
45990		objectMap["HasCorrelatedEvents"] = shree.HasCorrelatedEvents
45991	}
45992	if shree.Kind != "" {
45993		objectMap["Kind"] = shree.Kind
45994	}
45995	return json.Marshal(objectMap)
45996}
45997
45998// AsApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
45999func (shree ServiceHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
46000	return nil, false
46001}
46002
46003// AsBasicApplicationEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46004func (shree ServiceHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
46005	return nil, false
46006}
46007
46008// AsClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46009func (shree ServiceHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
46010	return nil, false
46011}
46012
46013// AsBasicClusterEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46014func (shree ServiceHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
46015	return nil, false
46016}
46017
46018// AsContainerInstanceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46019func (shree ServiceHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
46020	return nil, false
46021}
46022
46023// AsNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46024func (shree ServiceHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
46025	return nil, false
46026}
46027
46028// AsBasicNodeEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46029func (shree ServiceHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
46030	return nil, false
46031}
46032
46033// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46034func (shree ServiceHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
46035	return nil, false
46036}
46037
46038// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46039func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
46040	return nil, false
46041}
46042
46043// AsPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46044func (shree ServiceHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
46045	return nil, false
46046}
46047
46048// AsBasicPartitionEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46049func (shree ServiceHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
46050	return nil, false
46051}
46052
46053// AsReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46054func (shree ServiceHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
46055	return nil, false
46056}
46057
46058// AsBasicReplicaEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46059func (shree ServiceHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
46060	return nil, false
46061}
46062
46063// AsServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46064func (shree ServiceHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
46065	return nil, false
46066}
46067
46068// AsBasicServiceEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46069func (shree ServiceHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
46070	return &shree, true
46071}
46072
46073// AsApplicationCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46074func (shree ServiceHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
46075	return nil, false
46076}
46077
46078// AsApplicationDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46079func (shree ServiceHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
46080	return nil, false
46081}
46082
46083// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46084func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
46085	return nil, false
46086}
46087
46088// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46089func (shree ServiceHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
46090	return nil, false
46091}
46092
46093// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46094func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
46095	return nil, false
46096}
46097
46098// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46099func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
46100	return nil, false
46101}
46102
46103// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46104func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
46105	return nil, false
46106}
46107
46108// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46109func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
46110	return nil, false
46111}
46112
46113// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46114func (shree ServiceHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
46115	return nil, false
46116}
46117
46118// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46119func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
46120	return nil, false
46121}
46122
46123// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46124func (shree ServiceHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
46125	return nil, false
46126}
46127
46128// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46129func (shree ServiceHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
46130	return nil, false
46131}
46132
46133// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46134func (shree ServiceHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
46135	return nil, false
46136}
46137
46138// AsNodeAbortedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46139func (shree ServiceHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
46140	return nil, false
46141}
46142
46143// AsNodeAbortingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46144func (shree ServiceHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
46145	return nil, false
46146}
46147
46148// AsNodeAddedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46149func (shree ServiceHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
46150	return nil, false
46151}
46152
46153// AsNodeCloseEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46154func (shree ServiceHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
46155	return nil, false
46156}
46157
46158// AsNodeClosingEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46159func (shree ServiceHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
46160	return nil, false
46161}
46162
46163// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46164func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
46165	return nil, false
46166}
46167
46168// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46169func (shree ServiceHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
46170	return nil, false
46171}
46172
46173// AsNodeDownEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46174func (shree ServiceHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
46175	return nil, false
46176}
46177
46178// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46179func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
46180	return nil, false
46181}
46182
46183// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46184func (shree ServiceHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
46185	return nil, false
46186}
46187
46188// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46189func (shree ServiceHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
46190	return nil, false
46191}
46192
46193// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46194func (shree ServiceHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
46195	return nil, false
46196}
46197
46198// AsNodeOpeningEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46199func (shree ServiceHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
46200	return nil, false
46201}
46202
46203// AsNodeRemovedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46204func (shree ServiceHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
46205	return nil, false
46206}
46207
46208// AsNodeUpEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46209func (shree ServiceHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
46210	return nil, false
46211}
46212
46213// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46214func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
46215	return nil, false
46216}
46217
46218// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46219func (shree ServiceHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
46220	return nil, false
46221}
46222
46223// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46224func (shree ServiceHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
46225	return nil, false
46226}
46227
46228// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46229func (shree ServiceHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
46230	return nil, false
46231}
46232
46233// AsServiceCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46234func (shree ServiceHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
46235	return nil, false
46236}
46237
46238// AsServiceDeletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46239func (shree ServiceHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
46240	return nil, false
46241}
46242
46243// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46244func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
46245	return nil, false
46246}
46247
46248// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46249func (shree ServiceHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
46250	return &shree, true
46251}
46252
46253// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46254func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
46255	return nil, false
46256}
46257
46258// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46259func (shree ServiceHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
46260	return nil, false
46261}
46262
46263// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46264func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
46265	return nil, false
46266}
46267
46268// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46269func (shree ServiceHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
46270	return nil, false
46271}
46272
46273// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46274func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
46275	return nil, false
46276}
46277
46278// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46279func (shree ServiceHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
46280	return nil, false
46281}
46282
46283// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46284func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
46285	return nil, false
46286}
46287
46288// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46289func (shree ServiceHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
46290	return nil, false
46291}
46292
46293// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46294func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
46295	return nil, false
46296}
46297
46298// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46299func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
46300	return nil, false
46301}
46302
46303// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46304func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
46305	return nil, false
46306}
46307
46308// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46309func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
46310	return nil, false
46311}
46312
46313// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46314func (shree ServiceHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
46315	return nil, false
46316}
46317
46318// AsChaosStoppedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46319func (shree ServiceHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
46320	return nil, false
46321}
46322
46323// AsChaosStartedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46324func (shree ServiceHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
46325	return nil, false
46326}
46327
46328// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46329func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
46330	return nil, false
46331}
46332
46333// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46334func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
46335	return nil, false
46336}
46337
46338// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46339func (shree ServiceHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
46340	return nil, false
46341}
46342
46343// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46344func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
46345	return nil, false
46346}
46347
46348// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46349func (shree ServiceHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
46350	return nil, false
46351}
46352
46353// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46354func (shree ServiceHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
46355	return nil, false
46356}
46357
46358// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46359func (shree ServiceHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
46360	return nil, false
46361}
46362
46363// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46364func (shree ServiceHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
46365	return nil, false
46366}
46367
46368// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46369func (shree ServiceHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
46370	return nil, false
46371}
46372
46373// AsFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46374func (shree ServiceHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
46375	return nil, false
46376}
46377
46378// AsBasicFabricEvent is the BasicFabricEvent implementation for ServiceHealthReportExpiredEvent.
46379func (shree ServiceHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
46380	return &shree, true
46381}
46382
46383// ServiceHealthState represents the health state of a service, which contains the service identifier and
46384// its aggregated health state.
46385type ServiceHealthState struct {
46386	// ServiceName - Name of the service whose health state is represented by this object.
46387	ServiceName *string `json:"ServiceName,omitempty"`
46388	// 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'
46389	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
46390}
46391
46392// ServiceHealthStateChunk represents the health state chunk of a service, which contains the service name,
46393// its aggregated health state and any partitions that respect the filters in the cluster health chunk
46394// query description.
46395type ServiceHealthStateChunk struct {
46396	// ServiceName - The name of the service whose health state chunk is provided in this object.
46397	ServiceName *string `json:"ServiceName,omitempty"`
46398	// PartitionHealthStateChunks - The list of partition health state chunks belonging to the service that respect the filters in the cluster health chunk query description.
46399	PartitionHealthStateChunks *PartitionHealthStateChunkList `json:"PartitionHealthStateChunks,omitempty"`
46400	// 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'
46401	HealthState HealthState `json:"HealthState,omitempty"`
46402}
46403
46404// ServiceHealthStateChunkList the list of service health state chunks that respect the input filters in
46405// the chunk query. Returned by get cluster health state chunks query.
46406type ServiceHealthStateChunkList struct {
46407	// Items - The list of service health state chunks that respect the input filters in the chunk query.
46408	Items *[]ServiceHealthStateChunk `json:"Items,omitempty"`
46409}
46410
46411// ServiceHealthStateFilter defines matching criteria to determine whether a service should be included as
46412// a child of an application in the cluster health chunk.
46413// The services are only returned if the parent application matches a filter specified in the cluster
46414// health chunk query description.
46415// One filter can match zero, one or multiple services, depending on its properties.
46416type ServiceHealthStateFilter struct {
46417	// ServiceNameFilter - The name of the service that matches the filter. The filter is applied only to the specified service, if it exists.
46418	// If the service doesn't exist, no service is returned in the cluster health chunk based on this filter.
46419	// If the service exists, it is included as the application's child if the health state matches the other filter properties.
46420	// 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.
46421	ServiceNameFilter *string `json:"ServiceNameFilter,omitempty"`
46422	// HealthStateFilter - The filter for the health state of the services. It allows selecting services if they match the desired health states.
46423	// 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.
46424	// 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.
46425	// The state values are flag-based enumeration, so the value could be a combination of these values obtained using bitwise 'OR' operator.
46426	// For example, if the provided value is 6, it matches services with HealthState value of OK (2) and Warning (4).
46427	// - Default - Default value. Matches any HealthState. The value is zero.
46428	// - 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.
46429	// - Ok - Filter that matches input with HealthState value Ok. The value is 2.
46430	// - Warning - Filter that matches input with HealthState value Warning. The value is 4.
46431	// - Error - Filter that matches input with HealthState value Error. The value is 8.
46432	// - All - Filter that matches input with any HealthState value. The value is 65535.
46433	HealthStateFilter *int32 `json:"HealthStateFilter,omitempty"`
46434	// 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.
46435	// 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.
46436	// The service filter may specify multiple partition filters.
46437	// 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.
46438	PartitionFilters *[]PartitionHealthStateFilter `json:"PartitionFilters,omitempty"`
46439}
46440
46441// BasicServiceInfo information about a Service Fabric service.
46442type BasicServiceInfo interface {
46443	AsStatefulServiceInfo() (*StatefulServiceInfo, bool)
46444	AsStatelessServiceInfo() (*StatelessServiceInfo, bool)
46445	AsServiceInfo() (*ServiceInfo, bool)
46446}
46447
46448// ServiceInfo information about a Service Fabric service.
46449type ServiceInfo struct {
46450	autorest.Response `json:"-"`
46451	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
46452	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
46453	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
46454	ID *string `json:"Id,omitempty"`
46455	// Name - The full name of the service with 'fabric:' URI scheme.
46456	Name *string `json:"Name,omitempty"`
46457	// TypeName - Name of the service type as specified in the service manifest.
46458	TypeName *string `json:"TypeName,omitempty"`
46459	// ManifestVersion - The version of the service manifest.
46460	ManifestVersion *string `json:"ManifestVersion,omitempty"`
46461	// 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'
46462	HealthState HealthState `json:"HealthState,omitempty"`
46463	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
46464	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
46465	// IsServiceGroup - Whether the service is in a service group.
46466	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
46467	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
46468	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
46469}
46470
46471func unmarshalBasicServiceInfo(body []byte) (BasicServiceInfo, error) {
46472	var m map[string]interface{}
46473	err := json.Unmarshal(body, &m)
46474	if err != nil {
46475		return nil, err
46476	}
46477
46478	switch m["ServiceKind"] {
46479	case string(ServiceKindBasicServiceInfoServiceKindStateful):
46480		var ssi StatefulServiceInfo
46481		err := json.Unmarshal(body, &ssi)
46482		return ssi, err
46483	case string(ServiceKindBasicServiceInfoServiceKindStateless):
46484		var ssi StatelessServiceInfo
46485		err := json.Unmarshal(body, &ssi)
46486		return ssi, err
46487	default:
46488		var si ServiceInfo
46489		err := json.Unmarshal(body, &si)
46490		return si, err
46491	}
46492}
46493func unmarshalBasicServiceInfoArray(body []byte) ([]BasicServiceInfo, error) {
46494	var rawMessages []*json.RawMessage
46495	err := json.Unmarshal(body, &rawMessages)
46496	if err != nil {
46497		return nil, err
46498	}
46499
46500	siArray := make([]BasicServiceInfo, len(rawMessages))
46501
46502	for index, rawMessage := range rawMessages {
46503		si, err := unmarshalBasicServiceInfo(*rawMessage)
46504		if err != nil {
46505			return nil, err
46506		}
46507		siArray[index] = si
46508	}
46509	return siArray, nil
46510}
46511
46512// MarshalJSON is the custom marshaler for ServiceInfo.
46513func (si ServiceInfo) MarshalJSON() ([]byte, error) {
46514	si.ServiceKind = ServiceKindBasicServiceInfoServiceKindServiceInfo
46515	objectMap := make(map[string]interface{})
46516	if si.ID != nil {
46517		objectMap["Id"] = si.ID
46518	}
46519	if si.Name != nil {
46520		objectMap["Name"] = si.Name
46521	}
46522	if si.TypeName != nil {
46523		objectMap["TypeName"] = si.TypeName
46524	}
46525	if si.ManifestVersion != nil {
46526		objectMap["ManifestVersion"] = si.ManifestVersion
46527	}
46528	if si.HealthState != "" {
46529		objectMap["HealthState"] = si.HealthState
46530	}
46531	if si.ServiceStatus != "" {
46532		objectMap["ServiceStatus"] = si.ServiceStatus
46533	}
46534	if si.IsServiceGroup != nil {
46535		objectMap["IsServiceGroup"] = si.IsServiceGroup
46536	}
46537	if si.ServiceKind != "" {
46538		objectMap["ServiceKind"] = si.ServiceKind
46539	}
46540	return json.Marshal(objectMap)
46541}
46542
46543// AsStatefulServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46544func (si ServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
46545	return nil, false
46546}
46547
46548// AsStatelessServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46549func (si ServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
46550	return nil, false
46551}
46552
46553// AsServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46554func (si ServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
46555	return &si, true
46556}
46557
46558// AsBasicServiceInfo is the BasicServiceInfo implementation for ServiceInfo.
46559func (si ServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
46560	return &si, true
46561}
46562
46563// ServiceInfoModel ...
46564type ServiceInfoModel struct {
46565	autorest.Response `json:"-"`
46566	Value             BasicServiceInfo `json:"value,omitempty"`
46567}
46568
46569// UnmarshalJSON is the custom unmarshaler for ServiceInfoModel struct.
46570func (sim *ServiceInfoModel) UnmarshalJSON(body []byte) error {
46571	si, err := unmarshalBasicServiceInfo(body)
46572	if err != nil {
46573		return err
46574	}
46575	sim.Value = si
46576
46577	return nil
46578}
46579
46580// ServiceLoadMetricDescription specifies a metric to load balance a service during runtime.
46581type ServiceLoadMetricDescription struct {
46582	// 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.
46583	Name *string `json:"Name,omitempty"`
46584	// 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'
46585	Weight ServiceLoadMetricWeight `json:"Weight,omitempty"`
46586	// 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.
46587	PrimaryDefaultLoad *int32 `json:"PrimaryDefaultLoad,omitempty"`
46588	// 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.
46589	SecondaryDefaultLoad *int32 `json:"SecondaryDefaultLoad,omitempty"`
46590	// DefaultLoad - Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric.
46591	DefaultLoad *int32 `json:"DefaultLoad,omitempty"`
46592}
46593
46594// ServiceNameInfo information about the service name.
46595type ServiceNameInfo struct {
46596	autorest.Response `json:"-"`
46597	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
46598	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
46599	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
46600	ID *string `json:"Id,omitempty"`
46601	// Name - The full name of the service with 'fabric:' URI scheme.
46602	Name *string `json:"Name,omitempty"`
46603}
46604
46605// BasicServicePartitionInfo information about a partition of a Service Fabric service.
46606type BasicServicePartitionInfo interface {
46607	AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool)
46608	AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool)
46609	AsServicePartitionInfo() (*ServicePartitionInfo, bool)
46610}
46611
46612// ServicePartitionInfo information about a partition of a Service Fabric service.
46613type ServicePartitionInfo struct {
46614	autorest.Response `json:"-"`
46615	// 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'
46616	HealthState HealthState `json:"HealthState,omitempty"`
46617	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
46618	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
46619	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
46620	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
46621	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
46622	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
46623}
46624
46625func unmarshalBasicServicePartitionInfo(body []byte) (BasicServicePartitionInfo, error) {
46626	var m map[string]interface{}
46627	err := json.Unmarshal(body, &m)
46628	if err != nil {
46629		return nil, err
46630	}
46631
46632	switch m["ServiceKind"] {
46633	case string(ServiceKindBasicServicePartitionInfoServiceKindStateful):
46634		var sspi StatefulServicePartitionInfo
46635		err := json.Unmarshal(body, &sspi)
46636		return sspi, err
46637	case string(ServiceKindBasicServicePartitionInfoServiceKindStateless):
46638		var sspi StatelessServicePartitionInfo
46639		err := json.Unmarshal(body, &sspi)
46640		return sspi, err
46641	default:
46642		var spi ServicePartitionInfo
46643		err := json.Unmarshal(body, &spi)
46644		return spi, err
46645	}
46646}
46647func unmarshalBasicServicePartitionInfoArray(body []byte) ([]BasicServicePartitionInfo, error) {
46648	var rawMessages []*json.RawMessage
46649	err := json.Unmarshal(body, &rawMessages)
46650	if err != nil {
46651		return nil, err
46652	}
46653
46654	spiArray := make([]BasicServicePartitionInfo, len(rawMessages))
46655
46656	for index, rawMessage := range rawMessages {
46657		spi, err := unmarshalBasicServicePartitionInfo(*rawMessage)
46658		if err != nil {
46659			return nil, err
46660		}
46661		spiArray[index] = spi
46662	}
46663	return spiArray, nil
46664}
46665
46666// MarshalJSON is the custom marshaler for ServicePartitionInfo.
46667func (spi ServicePartitionInfo) MarshalJSON() ([]byte, error) {
46668	spi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo
46669	objectMap := make(map[string]interface{})
46670	if spi.HealthState != "" {
46671		objectMap["HealthState"] = spi.HealthState
46672	}
46673	if spi.PartitionStatus != "" {
46674		objectMap["PartitionStatus"] = spi.PartitionStatus
46675	}
46676	objectMap["PartitionInformation"] = spi.PartitionInformation
46677	if spi.ServiceKind != "" {
46678		objectMap["ServiceKind"] = spi.ServiceKind
46679	}
46680	return json.Marshal(objectMap)
46681}
46682
46683// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46684func (spi ServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
46685	return nil, false
46686}
46687
46688// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46689func (spi ServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
46690	return nil, false
46691}
46692
46693// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46694func (spi ServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
46695	return &spi, true
46696}
46697
46698// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for ServicePartitionInfo.
46699func (spi ServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
46700	return &spi, true
46701}
46702
46703// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfo struct.
46704func (spi *ServicePartitionInfo) UnmarshalJSON(body []byte) error {
46705	var m map[string]*json.RawMessage
46706	err := json.Unmarshal(body, &m)
46707	if err != nil {
46708		return err
46709	}
46710	for k, v := range m {
46711		switch k {
46712		case "HealthState":
46713			if v != nil {
46714				var healthState HealthState
46715				err = json.Unmarshal(*v, &healthState)
46716				if err != nil {
46717					return err
46718				}
46719				spi.HealthState = healthState
46720			}
46721		case "PartitionStatus":
46722			if v != nil {
46723				var partitionStatus ServicePartitionStatus
46724				err = json.Unmarshal(*v, &partitionStatus)
46725				if err != nil {
46726					return err
46727				}
46728				spi.PartitionStatus = partitionStatus
46729			}
46730		case "PartitionInformation":
46731			if v != nil {
46732				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
46733				if err != nil {
46734					return err
46735				}
46736				spi.PartitionInformation = partitionInformation
46737			}
46738		case "ServiceKind":
46739			if v != nil {
46740				var serviceKind ServiceKindBasicServicePartitionInfo
46741				err = json.Unmarshal(*v, &serviceKind)
46742				if err != nil {
46743					return err
46744				}
46745				spi.ServiceKind = serviceKind
46746			}
46747		}
46748	}
46749
46750	return nil
46751}
46752
46753// ServicePartitionInfoModel ...
46754type ServicePartitionInfoModel struct {
46755	autorest.Response `json:"-"`
46756	Value             BasicServicePartitionInfo `json:"value,omitempty"`
46757}
46758
46759// UnmarshalJSON is the custom unmarshaler for ServicePartitionInfoModel struct.
46760func (spim *ServicePartitionInfoModel) UnmarshalJSON(body []byte) error {
46761	spi, err := unmarshalBasicServicePartitionInfo(body)
46762	if err != nil {
46763		return err
46764	}
46765	spim.Value = spi
46766
46767	return nil
46768}
46769
46770// ServicePlacementInvalidDomainPolicyDescription describes the policy to be used for placement of a
46771// Service Fabric service where a particular fault or upgrade domain should not be used for placement of
46772// the instances or replicas of that service.
46773type ServicePlacementInvalidDomainPolicyDescription struct {
46774	// DomainName - The name of the domain that should not be used for placement.
46775	DomainName *string `json:"DomainName,omitempty"`
46776	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46777	Type Type `json:"Type,omitempty"`
46778}
46779
46780// MarshalJSON is the custom marshaler for ServicePlacementInvalidDomainPolicyDescription.
46781func (spidpd ServicePlacementInvalidDomainPolicyDescription) MarshalJSON() ([]byte, error) {
46782	spidpd.Type = TypeInvalidDomain
46783	objectMap := make(map[string]interface{})
46784	if spidpd.DomainName != nil {
46785		objectMap["DomainName"] = spidpd.DomainName
46786	}
46787	if spidpd.Type != "" {
46788		objectMap["Type"] = spidpd.Type
46789	}
46790	return json.Marshal(objectMap)
46791}
46792
46793// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46794func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46795	return &spidpd, true
46796}
46797
46798// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46799func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46800	return nil, false
46801}
46802
46803// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46804func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46805	return nil, false
46806}
46807
46808// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46809func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46810	return nil, false
46811}
46812
46813// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46814func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46815	return nil, false
46816}
46817
46818// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46819func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46820	return nil, false
46821}
46822
46823// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementInvalidDomainPolicyDescription.
46824func (spidpd ServicePlacementInvalidDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46825	return &spidpd, true
46826}
46827
46828// ServicePlacementNonPartiallyPlaceServicePolicyDescription describes the policy to be used for placement
46829// of a Service Fabric service where all replicas must be able to be placed in order for any replicas to be
46830// created.
46831type ServicePlacementNonPartiallyPlaceServicePolicyDescription struct {
46832	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46833	Type Type `json:"Type,omitempty"`
46834}
46835
46836// MarshalJSON is the custom marshaler for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46837func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) MarshalJSON() ([]byte, error) {
46838	spnppspd.Type = TypeNonPartiallyPlaceService
46839	objectMap := make(map[string]interface{})
46840	if spnppspd.Type != "" {
46841		objectMap["Type"] = spnppspd.Type
46842	}
46843	return json.Marshal(objectMap)
46844}
46845
46846// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46847func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46848	return nil, false
46849}
46850
46851// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46852func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46853	return &spnppspd, true
46854}
46855
46856// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46857func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46858	return nil, false
46859}
46860
46861// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46862func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46863	return nil, false
46864}
46865
46866// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46867func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46868	return nil, false
46869}
46870
46871// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46872func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46873	return nil, false
46874}
46875
46876// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementNonPartiallyPlaceServicePolicyDescription.
46877func (spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46878	return &spnppspd, true
46879}
46880
46881// BasicServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
46882type BasicServicePlacementPolicyDescription interface {
46883	AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool)
46884	AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool)
46885	AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool)
46886	AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool)
46887	AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool)
46888	AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool)
46889}
46890
46891// ServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service.
46892type ServicePlacementPolicyDescription struct {
46893	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
46894	Type Type `json:"Type,omitempty"`
46895}
46896
46897func unmarshalBasicServicePlacementPolicyDescription(body []byte) (BasicServicePlacementPolicyDescription, error) {
46898	var m map[string]interface{}
46899	err := json.Unmarshal(body, &m)
46900	if err != nil {
46901		return nil, err
46902	}
46903
46904	switch m["Type"] {
46905	case string(TypeInvalidDomain):
46906		var spidpd ServicePlacementInvalidDomainPolicyDescription
46907		err := json.Unmarshal(body, &spidpd)
46908		return spidpd, err
46909	case string(TypeNonPartiallyPlaceService):
46910		var spnppspd ServicePlacementNonPartiallyPlaceServicePolicyDescription
46911		err := json.Unmarshal(body, &spnppspd)
46912		return spnppspd, err
46913	case string(TypePreferredPrimaryDomain):
46914		var spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription
46915		err := json.Unmarshal(body, &spppdpd)
46916		return spppdpd, err
46917	case string(TypeRequiredDomain):
46918		var sprdpd ServicePlacementRequiredDomainPolicyDescription
46919		err := json.Unmarshal(body, &sprdpd)
46920		return sprdpd, err
46921	case string(TypeRequiredDomainDistribution):
46922		var sprddpd ServicePlacementRequireDomainDistributionPolicyDescription
46923		err := json.Unmarshal(body, &sprddpd)
46924		return sprddpd, err
46925	default:
46926		var sppd ServicePlacementPolicyDescription
46927		err := json.Unmarshal(body, &sppd)
46928		return sppd, err
46929	}
46930}
46931func unmarshalBasicServicePlacementPolicyDescriptionArray(body []byte) ([]BasicServicePlacementPolicyDescription, error) {
46932	var rawMessages []*json.RawMessage
46933	err := json.Unmarshal(body, &rawMessages)
46934	if err != nil {
46935		return nil, err
46936	}
46937
46938	sppdArray := make([]BasicServicePlacementPolicyDescription, len(rawMessages))
46939
46940	for index, rawMessage := range rawMessages {
46941		sppd, err := unmarshalBasicServicePlacementPolicyDescription(*rawMessage)
46942		if err != nil {
46943			return nil, err
46944		}
46945		sppdArray[index] = sppd
46946	}
46947	return sppdArray, nil
46948}
46949
46950// MarshalJSON is the custom marshaler for ServicePlacementPolicyDescription.
46951func (sppd ServicePlacementPolicyDescription) MarshalJSON() ([]byte, error) {
46952	sppd.Type = TypeServicePlacementPolicyDescription
46953	objectMap := make(map[string]interface{})
46954	if sppd.Type != "" {
46955		objectMap["Type"] = sppd.Type
46956	}
46957	return json.Marshal(objectMap)
46958}
46959
46960// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46961func (sppd ServicePlacementPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
46962	return nil, false
46963}
46964
46965// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46966func (sppd ServicePlacementPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
46967	return nil, false
46968}
46969
46970// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46971func (sppd ServicePlacementPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
46972	return nil, false
46973}
46974
46975// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46976func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
46977	return nil, false
46978}
46979
46980// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46981func (sppd ServicePlacementPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
46982	return nil, false
46983}
46984
46985// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46986func (sppd ServicePlacementPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
46987	return &sppd, true
46988}
46989
46990// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription.
46991func (sppd ServicePlacementPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
46992	return &sppd, true
46993}
46994
46995// ServicePlacementPreferPrimaryDomainPolicyDescription describes the policy to be used for placement of a
46996// Service Fabric service where the service's Primary replicas should optimally be placed in a particular
46997// domain.
46998//
46999// This placement policy is usually used with fault domains in scenarios where the Service Fabric cluster
47000// is geographically distributed in order to indicate that a service's primary replica should be located in
47001// a particular fault domain, which in geo-distributed scenarios usually aligns with regional or datacenter
47002// boundaries. Note that since this is an optimization it is possible that the Primary replica may not end
47003// up located in this domain due to failures, capacity limits, or other constraints.
47004type ServicePlacementPreferPrimaryDomainPolicyDescription struct {
47005	// DomainName - The name of the domain that should used for placement as per this policy.
47006	DomainName *string `json:"DomainName,omitempty"`
47007	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
47008	Type Type `json:"Type,omitempty"`
47009}
47010
47011// MarshalJSON is the custom marshaler for ServicePlacementPreferPrimaryDomainPolicyDescription.
47012func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) MarshalJSON() ([]byte, error) {
47013	spppdpd.Type = TypePreferredPrimaryDomain
47014	objectMap := make(map[string]interface{})
47015	if spppdpd.DomainName != nil {
47016		objectMap["DomainName"] = spppdpd.DomainName
47017	}
47018	if spppdpd.Type != "" {
47019		objectMap["Type"] = spppdpd.Type
47020	}
47021	return json.Marshal(objectMap)
47022}
47023
47024// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
47025func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
47026	return nil, false
47027}
47028
47029// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
47030func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
47031	return nil, false
47032}
47033
47034// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
47035func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
47036	return &spppdpd, true
47037}
47038
47039// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
47040func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
47041	return nil, false
47042}
47043
47044// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
47045func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
47046	return nil, false
47047}
47048
47049// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
47050func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
47051	return nil, false
47052}
47053
47054// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPreferPrimaryDomainPolicyDescription.
47055func (spppdpd ServicePlacementPreferPrimaryDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
47056	return &spppdpd, true
47057}
47058
47059// ServicePlacementRequiredDomainPolicyDescription describes the policy to be used for placement of a
47060// Service Fabric service where the instances or replicas of that service must be placed in a particular
47061// domain
47062type ServicePlacementRequiredDomainPolicyDescription struct {
47063	// DomainName - The name of the domain that should used for placement as per this policy.
47064	DomainName *string `json:"DomainName,omitempty"`
47065	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
47066	Type Type `json:"Type,omitempty"`
47067}
47068
47069// MarshalJSON is the custom marshaler for ServicePlacementRequiredDomainPolicyDescription.
47070func (sprdpd ServicePlacementRequiredDomainPolicyDescription) MarshalJSON() ([]byte, error) {
47071	sprdpd.Type = TypeRequiredDomain
47072	objectMap := make(map[string]interface{})
47073	if sprdpd.DomainName != nil {
47074		objectMap["DomainName"] = sprdpd.DomainName
47075	}
47076	if sprdpd.Type != "" {
47077		objectMap["Type"] = sprdpd.Type
47078	}
47079	return json.Marshal(objectMap)
47080}
47081
47082// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
47083func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
47084	return nil, false
47085}
47086
47087// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
47088func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
47089	return nil, false
47090}
47091
47092// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
47093func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
47094	return nil, false
47095}
47096
47097// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
47098func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
47099	return &sprdpd, true
47100}
47101
47102// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
47103func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
47104	return nil, false
47105}
47106
47107// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
47108func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
47109	return nil, false
47110}
47111
47112// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequiredDomainPolicyDescription.
47113func (sprdpd ServicePlacementRequiredDomainPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
47114	return &sprdpd, true
47115}
47116
47117// ServicePlacementRequireDomainDistributionPolicyDescription describes the policy to be used for placement
47118// of a Service Fabric service where two replicas from the same partition should never be placed in the
47119// same fault or upgrade domain.
47120//
47121// While this is not common it can expose the service to an increased risk of concurrent failures due to
47122// unplanned outages or other cases of subsequent/concurrent failures. As an example, consider a case where
47123// replicas are deployed across different data center, with one replica per location. In the event that one
47124// of the datacenters goes offline, normally the replica that was placed in that datacenter will be packed
47125// into one of the remaining datacenters. If this is not desirable then this policy should be set.
47126type ServicePlacementRequireDomainDistributionPolicyDescription struct {
47127	// DomainName - The name of the domain that should used for placement as per this policy.
47128	DomainName *string `json:"DomainName,omitempty"`
47129	// Type - Possible values include: 'TypeServicePlacementPolicyDescription', 'TypeInvalidDomain', 'TypeNonPartiallyPlaceService', 'TypePreferredPrimaryDomain', 'TypeRequiredDomain', 'TypeRequiredDomainDistribution'
47130	Type Type `json:"Type,omitempty"`
47131}
47132
47133// MarshalJSON is the custom marshaler for ServicePlacementRequireDomainDistributionPolicyDescription.
47134func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) MarshalJSON() ([]byte, error) {
47135	sprddpd.Type = TypeRequiredDomainDistribution
47136	objectMap := make(map[string]interface{})
47137	if sprddpd.DomainName != nil {
47138		objectMap["DomainName"] = sprddpd.DomainName
47139	}
47140	if sprddpd.Type != "" {
47141		objectMap["Type"] = sprddpd.Type
47142	}
47143	return json.Marshal(objectMap)
47144}
47145
47146// AsServicePlacementInvalidDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
47147func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementInvalidDomainPolicyDescription() (*ServicePlacementInvalidDomainPolicyDescription, bool) {
47148	return nil, false
47149}
47150
47151// AsServicePlacementNonPartiallyPlaceServicePolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
47152func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementNonPartiallyPlaceServicePolicyDescription() (*ServicePlacementNonPartiallyPlaceServicePolicyDescription, bool) {
47153	return nil, false
47154}
47155
47156// AsServicePlacementPreferPrimaryDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
47157func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPreferPrimaryDomainPolicyDescription() (*ServicePlacementPreferPrimaryDomainPolicyDescription, bool) {
47158	return nil, false
47159}
47160
47161// AsServicePlacementRequiredDomainPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
47162func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequiredDomainPolicyDescription() (*ServicePlacementRequiredDomainPolicyDescription, bool) {
47163	return nil, false
47164}
47165
47166// AsServicePlacementRequireDomainDistributionPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
47167func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementRequireDomainDistributionPolicyDescription() (*ServicePlacementRequireDomainDistributionPolicyDescription, bool) {
47168	return &sprddpd, true
47169}
47170
47171// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
47172func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) {
47173	return nil, false
47174}
47175
47176// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementRequireDomainDistributionPolicyDescription.
47177func (sprddpd ServicePlacementRequireDomainDistributionPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) {
47178	return &sprddpd, true
47179}
47180
47181// ServiceReplicaProperties describes the properties of a service replica.
47182type ServiceReplicaProperties struct {
47183	// OsType - The Operating system type required by the code in service. Possible values include: 'Linux', 'Windows'
47184	OsType OperatingSystemTypes `json:"osType,omitempty"`
47185	// CodePackages - Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).
47186	CodePackages *[]ContainerCodePackageProperties `json:"codePackages,omitempty"`
47187	// NetworkRefs - The names of the private networks that this service needs to be part of.
47188	NetworkRefs *[]NetworkRef `json:"networkRefs,omitempty"`
47189	// Diagnostics - Reference to sinks in DiagnosticsDescription.
47190	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
47191}
47192
47193// ServiceResourceDescription describes a service fabric service resource.
47194type ServiceResourceDescription struct {
47195	autorest.Response `json:"-"`
47196	// ServiceResourceProperties - This type describes properties of a service resource.
47197	*ServiceResourceProperties `json:"properties,omitempty"`
47198	// Name - Service resource name.
47199	Name *string `json:"name,omitempty"`
47200}
47201
47202// MarshalJSON is the custom marshaler for ServiceResourceDescription.
47203func (srd ServiceResourceDescription) MarshalJSON() ([]byte, error) {
47204	objectMap := make(map[string]interface{})
47205	if srd.ServiceResourceProperties != nil {
47206		objectMap["properties"] = srd.ServiceResourceProperties
47207	}
47208	if srd.Name != nil {
47209		objectMap["name"] = srd.Name
47210	}
47211	return json.Marshal(objectMap)
47212}
47213
47214// UnmarshalJSON is the custom unmarshaler for ServiceResourceDescription struct.
47215func (srd *ServiceResourceDescription) UnmarshalJSON(body []byte) error {
47216	var m map[string]*json.RawMessage
47217	err := json.Unmarshal(body, &m)
47218	if err != nil {
47219		return err
47220	}
47221	for k, v := range m {
47222		switch k {
47223		case "properties":
47224			if v != nil {
47225				var serviceResourceProperties ServiceResourceProperties
47226				err = json.Unmarshal(*v, &serviceResourceProperties)
47227				if err != nil {
47228					return err
47229				}
47230				srd.ServiceResourceProperties = &serviceResourceProperties
47231			}
47232		case "name":
47233			if v != nil {
47234				var name string
47235				err = json.Unmarshal(*v, &name)
47236				if err != nil {
47237					return err
47238				}
47239				srd.Name = &name
47240			}
47241		}
47242	}
47243
47244	return nil
47245}
47246
47247// ServiceResourceProperties this type describes properties of a service resource.
47248type ServiceResourceProperties struct {
47249	// Description - User readable description of the service.
47250	Description *string `json:"description,omitempty"`
47251	// ReplicaCount - The number of replicas of the service to create. Defaults to 1 if not specified.
47252	ReplicaCount *int32 `json:"replicaCount,omitempty"`
47253	// 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'
47254	HealthState HealthState `json:"healthState,omitempty"`
47255	// Status - READ-ONLY; Represents the status of the service. Possible values include: 'ServiceResourceStatusUnknown', 'ServiceResourceStatusActive', 'ServiceResourceStatusUpgrading', 'ServiceResourceStatusDeleting', 'ServiceResourceStatusCreating', 'ServiceResourceStatusFailed'
47256	Status ServiceResourceStatus `json:"status,omitempty"`
47257	// OsType - The Operating system type required by the code in service. Possible values include: 'Linux', 'Windows'
47258	OsType OperatingSystemTypes `json:"osType,omitempty"`
47259	// CodePackages - Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).
47260	CodePackages *[]ContainerCodePackageProperties `json:"codePackages,omitempty"`
47261	// NetworkRefs - The names of the private networks that this service needs to be part of.
47262	NetworkRefs *[]NetworkRef `json:"networkRefs,omitempty"`
47263	// Diagnostics - Reference to sinks in DiagnosticsDescription.
47264	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
47265}
47266
47267// ServiceResourceReplicaDescription describes a replica of a service resource.
47268type ServiceResourceReplicaDescription struct {
47269	autorest.Response `json:"-"`
47270	// ReplicaName - Name of the replica.
47271	ReplicaName *string `json:"replicaName,omitempty"`
47272	// OsType - The Operating system type required by the code in service. Possible values include: 'Linux', 'Windows'
47273	OsType OperatingSystemTypes `json:"osType,omitempty"`
47274	// CodePackages - Describes the set of code packages that forms the service. A code package describes the container and the properties for running it. All the code packages are started together on the same host and share the same context (network, process etc.).
47275	CodePackages *[]ContainerCodePackageProperties `json:"codePackages,omitempty"`
47276	// NetworkRefs - The names of the private networks that this service needs to be part of.
47277	NetworkRefs *[]NetworkRef `json:"networkRefs,omitempty"`
47278	// Diagnostics - Reference to sinks in DiagnosticsDescription.
47279	Diagnostics *DiagnosticsRef `json:"diagnostics,omitempty"`
47280}
47281
47282// ServicesHealthEvaluation represents health evaluation for services of a certain service type belonging
47283// to an application, containing health evaluations for each unhealthy service that impacted current
47284// aggregated health state. Can be returned when evaluating application health and the aggregated health
47285// state is either Error or Warning.
47286type ServicesHealthEvaluation struct {
47287	// ServiceTypeName - Name of the service type of the services.
47288	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
47289	// MaxPercentUnhealthyServices - Maximum allowed percentage of unhealthy services from the ServiceTypeHealthPolicy.
47290	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
47291	// TotalCount - Total number of services of the current service type in the application from the health store.
47292	TotalCount *int64 `json:"TotalCount,omitempty"`
47293	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy ServiceHealthEvaluation that impacted the aggregated health.
47294	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
47295	// 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'
47296	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
47297	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
47298	Description *string `json:"Description,omitempty"`
47299	// 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'
47300	Kind Kind `json:"Kind,omitempty"`
47301}
47302
47303// MarshalJSON is the custom marshaler for ServicesHealthEvaluation.
47304func (she ServicesHealthEvaluation) MarshalJSON() ([]byte, error) {
47305	she.Kind = KindServices
47306	objectMap := make(map[string]interface{})
47307	if she.ServiceTypeName != nil {
47308		objectMap["ServiceTypeName"] = she.ServiceTypeName
47309	}
47310	if she.MaxPercentUnhealthyServices != nil {
47311		objectMap["MaxPercentUnhealthyServices"] = she.MaxPercentUnhealthyServices
47312	}
47313	if she.TotalCount != nil {
47314		objectMap["TotalCount"] = she.TotalCount
47315	}
47316	if she.UnhealthyEvaluations != nil {
47317		objectMap["UnhealthyEvaluations"] = she.UnhealthyEvaluations
47318	}
47319	if she.AggregatedHealthState != "" {
47320		objectMap["AggregatedHealthState"] = she.AggregatedHealthState
47321	}
47322	if she.Description != nil {
47323		objectMap["Description"] = she.Description
47324	}
47325	if she.Kind != "" {
47326		objectMap["Kind"] = she.Kind
47327	}
47328	return json.Marshal(objectMap)
47329}
47330
47331// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47332func (she ServicesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
47333	return nil, false
47334}
47335
47336// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47337func (she ServicesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
47338	return nil, false
47339}
47340
47341// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47342func (she ServicesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
47343	return nil, false
47344}
47345
47346// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47347func (she ServicesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
47348	return nil, false
47349}
47350
47351// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47352func (she ServicesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
47353	return nil, false
47354}
47355
47356// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47357func (she ServicesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
47358	return nil, false
47359}
47360
47361// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47362func (she ServicesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
47363	return nil, false
47364}
47365
47366// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47367func (she ServicesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
47368	return nil, false
47369}
47370
47371// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47372func (she ServicesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
47373	return nil, false
47374}
47375
47376// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47377func (she ServicesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
47378	return nil, false
47379}
47380
47381// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47382func (she ServicesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
47383	return nil, false
47384}
47385
47386// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47387func (she ServicesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
47388	return nil, false
47389}
47390
47391// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47392func (she ServicesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
47393	return nil, false
47394}
47395
47396// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47397func (she ServicesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
47398	return nil, false
47399}
47400
47401// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47402func (she ServicesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
47403	return nil, false
47404}
47405
47406// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47407func (she ServicesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
47408	return nil, false
47409}
47410
47411// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47412func (she ServicesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
47413	return &she, true
47414}
47415
47416// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47417func (she ServicesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
47418	return nil, false
47419}
47420
47421// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47422func (she ServicesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
47423	return nil, false
47424}
47425
47426// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47427func (she ServicesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
47428	return nil, false
47429}
47430
47431// AsHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47432func (she ServicesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
47433	return nil, false
47434}
47435
47436// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for ServicesHealthEvaluation.
47437func (she ServicesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
47438	return &she, true
47439}
47440
47441// BasicServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
47442// type. The properties the ones defined in the service manifest.
47443type BasicServiceTypeDescription interface {
47444	AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool)
47445	AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool)
47446	AsServiceTypeDescription() (*ServiceTypeDescription, bool)
47447}
47448
47449// ServiceTypeDescription describes a service type defined in the service manifest of a provisioned application
47450// type. The properties the ones defined in the service manifest.
47451type ServiceTypeDescription struct {
47452	// 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.
47453	IsStateful *bool `json:"IsStateful,omitempty"`
47454	// ServiceTypeName - Name of the service type as specified in the service manifest.
47455	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
47456	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
47457	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
47458	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
47459	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
47460	// ServicePlacementPolicies - List of service placement policy descriptions.
47461	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
47462	// Extensions - List of service type extensions.
47463	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
47464	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
47465	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
47466}
47467
47468func unmarshalBasicServiceTypeDescription(body []byte) (BasicServiceTypeDescription, error) {
47469	var m map[string]interface{}
47470	err := json.Unmarshal(body, &m)
47471	if err != nil {
47472		return nil, err
47473	}
47474
47475	switch m["Kind"] {
47476	case string(KindStateful):
47477		var sstd StatefulServiceTypeDescription
47478		err := json.Unmarshal(body, &sstd)
47479		return sstd, err
47480	case string(KindStateless):
47481		var sstd StatelessServiceTypeDescription
47482		err := json.Unmarshal(body, &sstd)
47483		return sstd, err
47484	default:
47485		var std ServiceTypeDescription
47486		err := json.Unmarshal(body, &std)
47487		return std, err
47488	}
47489}
47490func unmarshalBasicServiceTypeDescriptionArray(body []byte) ([]BasicServiceTypeDescription, error) {
47491	var rawMessages []*json.RawMessage
47492	err := json.Unmarshal(body, &rawMessages)
47493	if err != nil {
47494		return nil, err
47495	}
47496
47497	stdArray := make([]BasicServiceTypeDescription, len(rawMessages))
47498
47499	for index, rawMessage := range rawMessages {
47500		std, err := unmarshalBasicServiceTypeDescription(*rawMessage)
47501		if err != nil {
47502			return nil, err
47503		}
47504		stdArray[index] = std
47505	}
47506	return stdArray, nil
47507}
47508
47509// MarshalJSON is the custom marshaler for ServiceTypeDescription.
47510func (std ServiceTypeDescription) MarshalJSON() ([]byte, error) {
47511	std.Kind = KindServiceTypeDescription
47512	objectMap := make(map[string]interface{})
47513	if std.IsStateful != nil {
47514		objectMap["IsStateful"] = std.IsStateful
47515	}
47516	if std.ServiceTypeName != nil {
47517		objectMap["ServiceTypeName"] = std.ServiceTypeName
47518	}
47519	if std.PlacementConstraints != nil {
47520		objectMap["PlacementConstraints"] = std.PlacementConstraints
47521	}
47522	if std.LoadMetrics != nil {
47523		objectMap["LoadMetrics"] = std.LoadMetrics
47524	}
47525	if std.ServicePlacementPolicies != nil {
47526		objectMap["ServicePlacementPolicies"] = std.ServicePlacementPolicies
47527	}
47528	if std.Extensions != nil {
47529		objectMap["Extensions"] = std.Extensions
47530	}
47531	if std.Kind != "" {
47532		objectMap["Kind"] = std.Kind
47533	}
47534	return json.Marshal(objectMap)
47535}
47536
47537// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
47538func (std ServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
47539	return nil, false
47540}
47541
47542// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
47543func (std ServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
47544	return nil, false
47545}
47546
47547// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
47548func (std ServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
47549	return &std, true
47550}
47551
47552// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for ServiceTypeDescription.
47553func (std ServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
47554	return &std, true
47555}
47556
47557// UnmarshalJSON is the custom unmarshaler for ServiceTypeDescription struct.
47558func (std *ServiceTypeDescription) UnmarshalJSON(body []byte) error {
47559	var m map[string]*json.RawMessage
47560	err := json.Unmarshal(body, &m)
47561	if err != nil {
47562		return err
47563	}
47564	for k, v := range m {
47565		switch k {
47566		case "IsStateful":
47567			if v != nil {
47568				var isStateful bool
47569				err = json.Unmarshal(*v, &isStateful)
47570				if err != nil {
47571					return err
47572				}
47573				std.IsStateful = &isStateful
47574			}
47575		case "ServiceTypeName":
47576			if v != nil {
47577				var serviceTypeName string
47578				err = json.Unmarshal(*v, &serviceTypeName)
47579				if err != nil {
47580					return err
47581				}
47582				std.ServiceTypeName = &serviceTypeName
47583			}
47584		case "PlacementConstraints":
47585			if v != nil {
47586				var placementConstraints string
47587				err = json.Unmarshal(*v, &placementConstraints)
47588				if err != nil {
47589					return err
47590				}
47591				std.PlacementConstraints = &placementConstraints
47592			}
47593		case "LoadMetrics":
47594			if v != nil {
47595				var loadMetrics []ServiceLoadMetricDescription
47596				err = json.Unmarshal(*v, &loadMetrics)
47597				if err != nil {
47598					return err
47599				}
47600				std.LoadMetrics = &loadMetrics
47601			}
47602		case "ServicePlacementPolicies":
47603			if v != nil {
47604				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
47605				if err != nil {
47606					return err
47607				}
47608				std.ServicePlacementPolicies = &servicePlacementPolicies
47609			}
47610		case "Extensions":
47611			if v != nil {
47612				var extensions []ServiceTypeExtensionDescription
47613				err = json.Unmarshal(*v, &extensions)
47614				if err != nil {
47615					return err
47616				}
47617				std.Extensions = &extensions
47618			}
47619		case "Kind":
47620			if v != nil {
47621				var kind KindBasicServiceTypeDescription
47622				err = json.Unmarshal(*v, &kind)
47623				if err != nil {
47624					return err
47625				}
47626				std.Kind = kind
47627			}
47628		}
47629	}
47630
47631	return nil
47632}
47633
47634// ServiceTypeExtensionDescription describes extension of a service type defined in the service manifest.
47635type ServiceTypeExtensionDescription struct {
47636	// Key - The name of the extension.
47637	Key *string `json:"Key,omitempty"`
47638	// Value - The extension value.
47639	Value *string `json:"Value,omitempty"`
47640}
47641
47642// ServiceTypeHealthPolicy represents the health policy used to evaluate the health of services belonging
47643// to a service type.
47644type ServiceTypeHealthPolicy struct {
47645	// MaxPercentUnhealthyPartitionsPerService - The maximum allowed percentage of unhealthy partitions per service. Allowed values are Byte values from zero to 100
47646	// The percentage represents the maximum tolerated percentage of partitions that can be unhealthy before the service is considered in error.
47647	// If the percentage is respected but there is at least one unhealthy partition, the health is evaluated as Warning.
47648	// The percentage is calculated by dividing the number of unhealthy partitions over the total number of partitions in the service.
47649	// The computation rounds up to tolerate one failure on small numbers of partitions. Default percentage is zero.
47650	MaxPercentUnhealthyPartitionsPerService *int32 `json:"MaxPercentUnhealthyPartitionsPerService,omitempty"`
47651	// MaxPercentUnhealthyReplicasPerPartition - The maximum allowed percentage of unhealthy replicas per partition. Allowed values are Byte values from zero to 100.
47652	// The percentage represents the maximum tolerated percentage of replicas that can be unhealthy before the partition is considered in error.
47653	// If the percentage is respected but there is at least one unhealthy replica, the health is evaluated as Warning.
47654	// The percentage is calculated by dividing the number of unhealthy replicas over the total number of replicas in the partition.
47655	// The computation rounds up to tolerate one failure on small numbers of replicas. Default percentage is zero.
47656	MaxPercentUnhealthyReplicasPerPartition *int32 `json:"MaxPercentUnhealthyReplicasPerPartition,omitempty"`
47657	// MaxPercentUnhealthyServices - The maximum allowed percentage of unhealthy services. Allowed values are Byte values from zero to 100.
47658	// The percentage represents the maximum tolerated percentage of services that can be unhealthy before the application is considered in error.
47659	// If the percentage is respected but there is at least one unhealthy service, the health is evaluated as Warning.
47660	// 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.
47661	// The computation rounds up to tolerate one failure on small numbers of services. Default percentage is zero.
47662	MaxPercentUnhealthyServices *int32 `json:"MaxPercentUnhealthyServices,omitempty"`
47663}
47664
47665// ServiceTypeHealthPolicyMapItem defines an item in ServiceTypeHealthPolicyMap.
47666type ServiceTypeHealthPolicyMapItem struct {
47667	// Key - The key of the service type health policy map item. This is the name of the service type.
47668	Key *string `json:"Key,omitempty"`
47669	// Value - The value of the service type health policy map item. This is the ServiceTypeHealthPolicy for this service type.
47670	Value *ServiceTypeHealthPolicy `json:"Value,omitempty"`
47671}
47672
47673// ServiceTypeInfo information about a service type that is defined in a service manifest of a provisioned
47674// application type.
47675type ServiceTypeInfo struct {
47676	autorest.Response `json:"-"`
47677	// ServiceTypeDescription - Describes a service type defined in the service manifest of a provisioned application type. The properties the ones defined in the service manifest.
47678	ServiceTypeDescription BasicServiceTypeDescription `json:"ServiceTypeDescription,omitempty"`
47679	// ServiceManifestName - The name of the service manifest in which this service type is defined.
47680	ServiceManifestName *string `json:"ServiceManifestName,omitempty"`
47681	// ServiceManifestVersion - The version of the service manifest in which this service type is defined.
47682	ServiceManifestVersion *string `json:"ServiceManifestVersion,omitempty"`
47683	// IsServiceGroup - Indicates whether the service is a service group. If it is, the property value is true otherwise false.
47684	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
47685}
47686
47687// UnmarshalJSON is the custom unmarshaler for ServiceTypeInfo struct.
47688func (sti *ServiceTypeInfo) UnmarshalJSON(body []byte) error {
47689	var m map[string]*json.RawMessage
47690	err := json.Unmarshal(body, &m)
47691	if err != nil {
47692		return err
47693	}
47694	for k, v := range m {
47695		switch k {
47696		case "ServiceTypeDescription":
47697			if v != nil {
47698				serviceTypeDescription, err := unmarshalBasicServiceTypeDescription(*v)
47699				if err != nil {
47700					return err
47701				}
47702				sti.ServiceTypeDescription = serviceTypeDescription
47703			}
47704		case "ServiceManifestName":
47705			if v != nil {
47706				var serviceManifestName string
47707				err = json.Unmarshal(*v, &serviceManifestName)
47708				if err != nil {
47709					return err
47710				}
47711				sti.ServiceManifestName = &serviceManifestName
47712			}
47713		case "ServiceManifestVersion":
47714			if v != nil {
47715				var serviceManifestVersion string
47716				err = json.Unmarshal(*v, &serviceManifestVersion)
47717				if err != nil {
47718					return err
47719				}
47720				sti.ServiceManifestVersion = &serviceManifestVersion
47721			}
47722		case "IsServiceGroup":
47723			if v != nil {
47724				var isServiceGroup bool
47725				err = json.Unmarshal(*v, &isServiceGroup)
47726				if err != nil {
47727					return err
47728				}
47729				sti.IsServiceGroup = &isServiceGroup
47730			}
47731		}
47732	}
47733
47734	return nil
47735}
47736
47737// ServiceTypeManifest contains the manifest describing a service type registered as part of an application
47738// in a Service Fabric cluster.
47739type ServiceTypeManifest struct {
47740	autorest.Response `json:"-"`
47741	// Manifest - The XML manifest as a string.
47742	Manifest *string `json:"Manifest,omitempty"`
47743}
47744
47745// BasicServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
47746// service.
47747type BasicServiceUpdateDescription interface {
47748	AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool)
47749	AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool)
47750	AsServiceUpdateDescription() (*ServiceUpdateDescription, bool)
47751}
47752
47753// ServiceUpdateDescription a ServiceUpdateDescription contains all of the information necessary to update a
47754// service.
47755type ServiceUpdateDescription struct {
47756	// 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.
47757	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
47758	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
47759	// - None - Does not indicate any other properties are set. The value is zero.
47760	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
47761	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
47762	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
47763	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
47764	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
47765	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
47766	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
47767	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
47768	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
47769	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
47770	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
47771	Flags *string `json:"Flags,omitempty"`
47772	// 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)".
47773	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
47774	// CorrelationScheme - The correlation scheme.
47775	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
47776	// LoadMetrics - The service load metrics.
47777	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
47778	// ServicePlacementPolicies - The service placement policies.
47779	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
47780	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
47781	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
47782	// ScalingPolicies - Scaling policies for this service.
47783	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
47784	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
47785	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
47786}
47787
47788func unmarshalBasicServiceUpdateDescription(body []byte) (BasicServiceUpdateDescription, error) {
47789	var m map[string]interface{}
47790	err := json.Unmarshal(body, &m)
47791	if err != nil {
47792		return nil, err
47793	}
47794
47795	switch m["ServiceKind"] {
47796	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateful):
47797		var ssud StatefulServiceUpdateDescription
47798		err := json.Unmarshal(body, &ssud)
47799		return ssud, err
47800	case string(ServiceKindBasicServiceUpdateDescriptionServiceKindStateless):
47801		var ssud StatelessServiceUpdateDescription
47802		err := json.Unmarshal(body, &ssud)
47803		return ssud, err
47804	default:
47805		var sud ServiceUpdateDescription
47806		err := json.Unmarshal(body, &sud)
47807		return sud, err
47808	}
47809}
47810func unmarshalBasicServiceUpdateDescriptionArray(body []byte) ([]BasicServiceUpdateDescription, error) {
47811	var rawMessages []*json.RawMessage
47812	err := json.Unmarshal(body, &rawMessages)
47813	if err != nil {
47814		return nil, err
47815	}
47816
47817	sudArray := make([]BasicServiceUpdateDescription, len(rawMessages))
47818
47819	for index, rawMessage := range rawMessages {
47820		sud, err := unmarshalBasicServiceUpdateDescription(*rawMessage)
47821		if err != nil {
47822			return nil, err
47823		}
47824		sudArray[index] = sud
47825	}
47826	return sudArray, nil
47827}
47828
47829// MarshalJSON is the custom marshaler for ServiceUpdateDescription.
47830func (sud ServiceUpdateDescription) MarshalJSON() ([]byte, error) {
47831	sud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription
47832	objectMap := make(map[string]interface{})
47833	if sud.Flags != nil {
47834		objectMap["Flags"] = sud.Flags
47835	}
47836	if sud.PlacementConstraints != nil {
47837		objectMap["PlacementConstraints"] = sud.PlacementConstraints
47838	}
47839	if sud.CorrelationScheme != nil {
47840		objectMap["CorrelationScheme"] = sud.CorrelationScheme
47841	}
47842	if sud.LoadMetrics != nil {
47843		objectMap["LoadMetrics"] = sud.LoadMetrics
47844	}
47845	if sud.ServicePlacementPolicies != nil {
47846		objectMap["ServicePlacementPolicies"] = sud.ServicePlacementPolicies
47847	}
47848	if sud.DefaultMoveCost != "" {
47849		objectMap["DefaultMoveCost"] = sud.DefaultMoveCost
47850	}
47851	if sud.ScalingPolicies != nil {
47852		objectMap["ScalingPolicies"] = sud.ScalingPolicies
47853	}
47854	if sud.ServiceKind != "" {
47855		objectMap["ServiceKind"] = sud.ServiceKind
47856	}
47857	return json.Marshal(objectMap)
47858}
47859
47860// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47861func (sud ServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
47862	return nil, false
47863}
47864
47865// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47866func (sud ServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
47867	return nil, false
47868}
47869
47870// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47871func (sud ServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
47872	return &sud, true
47873}
47874
47875// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for ServiceUpdateDescription.
47876func (sud ServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
47877	return &sud, true
47878}
47879
47880// UnmarshalJSON is the custom unmarshaler for ServiceUpdateDescription struct.
47881func (sud *ServiceUpdateDescription) UnmarshalJSON(body []byte) error {
47882	var m map[string]*json.RawMessage
47883	err := json.Unmarshal(body, &m)
47884	if err != nil {
47885		return err
47886	}
47887	for k, v := range m {
47888		switch k {
47889		case "Flags":
47890			if v != nil {
47891				var flags string
47892				err = json.Unmarshal(*v, &flags)
47893				if err != nil {
47894					return err
47895				}
47896				sud.Flags = &flags
47897			}
47898		case "PlacementConstraints":
47899			if v != nil {
47900				var placementConstraints string
47901				err = json.Unmarshal(*v, &placementConstraints)
47902				if err != nil {
47903					return err
47904				}
47905				sud.PlacementConstraints = &placementConstraints
47906			}
47907		case "CorrelationScheme":
47908			if v != nil {
47909				var correlationScheme []ServiceCorrelationDescription
47910				err = json.Unmarshal(*v, &correlationScheme)
47911				if err != nil {
47912					return err
47913				}
47914				sud.CorrelationScheme = &correlationScheme
47915			}
47916		case "LoadMetrics":
47917			if v != nil {
47918				var loadMetrics []ServiceLoadMetricDescription
47919				err = json.Unmarshal(*v, &loadMetrics)
47920				if err != nil {
47921					return err
47922				}
47923				sud.LoadMetrics = &loadMetrics
47924			}
47925		case "ServicePlacementPolicies":
47926			if v != nil {
47927				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
47928				if err != nil {
47929					return err
47930				}
47931				sud.ServicePlacementPolicies = &servicePlacementPolicies
47932			}
47933		case "DefaultMoveCost":
47934			if v != nil {
47935				var defaultMoveCost MoveCost
47936				err = json.Unmarshal(*v, &defaultMoveCost)
47937				if err != nil {
47938					return err
47939				}
47940				sud.DefaultMoveCost = defaultMoveCost
47941			}
47942		case "ScalingPolicies":
47943			if v != nil {
47944				var scalingPolicies []ScalingPolicyDescription
47945				err = json.Unmarshal(*v, &scalingPolicies)
47946				if err != nil {
47947					return err
47948				}
47949				sud.ScalingPolicies = &scalingPolicies
47950			}
47951		case "ServiceKind":
47952			if v != nil {
47953				var serviceKind ServiceKindBasicServiceUpdateDescription
47954				err = json.Unmarshal(*v, &serviceKind)
47955				if err != nil {
47956					return err
47957				}
47958				sud.ServiceKind = serviceKind
47959			}
47960		}
47961	}
47962
47963	return nil
47964}
47965
47966// Setting describes a setting for the container.
47967type Setting struct {
47968	// Name - The name of the setting.
47969	Name *string `json:"name,omitempty"`
47970	// Value - The value of the setting.
47971	Value *string `json:"value,omitempty"`
47972}
47973
47974// SingletonPartitionInformation information about a partition that is singleton. The services with
47975// singleton partitioning scheme are effectively non-partitioned. They only have one partition.
47976type SingletonPartitionInformation struct {
47977	// 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.
47978	ID *uuid.UUID `json:"Id,omitempty"`
47979	// ServicePartitionKind - Possible values include: 'ServicePartitionKindPartitionInformation', 'ServicePartitionKindInt64Range1', 'ServicePartitionKindNamed1', 'ServicePartitionKindSingleton1'
47980	ServicePartitionKind ServicePartitionKindBasicPartitionInformation `json:"ServicePartitionKind,omitempty"`
47981}
47982
47983// MarshalJSON is the custom marshaler for SingletonPartitionInformation.
47984func (spi SingletonPartitionInformation) MarshalJSON() ([]byte, error) {
47985	spi.ServicePartitionKind = ServicePartitionKindSingleton1
47986	objectMap := make(map[string]interface{})
47987	if spi.ID != nil {
47988		objectMap["Id"] = spi.ID
47989	}
47990	if spi.ServicePartitionKind != "" {
47991		objectMap["ServicePartitionKind"] = spi.ServicePartitionKind
47992	}
47993	return json.Marshal(objectMap)
47994}
47995
47996// AsInt64RangePartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
47997func (spi SingletonPartitionInformation) AsInt64RangePartitionInformation() (*Int64RangePartitionInformation, bool) {
47998	return nil, false
47999}
48000
48001// AsNamedPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
48002func (spi SingletonPartitionInformation) AsNamedPartitionInformation() (*NamedPartitionInformation, bool) {
48003	return nil, false
48004}
48005
48006// AsSingletonPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
48007func (spi SingletonPartitionInformation) AsSingletonPartitionInformation() (*SingletonPartitionInformation, bool) {
48008	return &spi, true
48009}
48010
48011// AsPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
48012func (spi SingletonPartitionInformation) AsPartitionInformation() (*PartitionInformation, bool) {
48013	return nil, false
48014}
48015
48016// AsBasicPartitionInformation is the BasicPartitionInformation implementation for SingletonPartitionInformation.
48017func (spi SingletonPartitionInformation) AsBasicPartitionInformation() (BasicPartitionInformation, bool) {
48018	return &spi, true
48019}
48020
48021// SingletonPartitionSchemeDescription describes the partition scheme of a singleton-partitioned, or
48022// non-partitioned service.
48023type SingletonPartitionSchemeDescription struct {
48024	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
48025	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
48026}
48027
48028// MarshalJSON is the custom marshaler for SingletonPartitionSchemeDescription.
48029func (spsd SingletonPartitionSchemeDescription) MarshalJSON() ([]byte, error) {
48030	spsd.PartitionScheme = PartitionSchemeSingleton1
48031	objectMap := make(map[string]interface{})
48032	if spsd.PartitionScheme != "" {
48033		objectMap["PartitionScheme"] = spsd.PartitionScheme
48034	}
48035	return json.Marshal(objectMap)
48036}
48037
48038// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
48039func (spsd SingletonPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
48040	return nil, false
48041}
48042
48043// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
48044func (spsd SingletonPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
48045	return &spsd, true
48046}
48047
48048// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
48049func (spsd SingletonPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
48050	return nil, false
48051}
48052
48053// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
48054func (spsd SingletonPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
48055	return nil, false
48056}
48057
48058// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription.
48059func (spsd SingletonPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
48060	return &spsd, true
48061}
48062
48063// StartClusterUpgradeDescription describes the parameters for starting a cluster upgrade.
48064type StartClusterUpgradeDescription struct {
48065	// CodeVersion - The cluster code version.
48066	CodeVersion *string `json:"CodeVersion,omitempty"`
48067	// ConfigVersion - The cluster configuration version.
48068	ConfigVersion *string `json:"ConfigVersion,omitempty"`
48069	// UpgradeKind - The kind of upgrade out of the following possible values. Possible values include: 'UpgradeKindInvalid', 'UpgradeKindRolling'
48070	UpgradeKind UpgradeKind `json:"UpgradeKind,omitempty"`
48071	// 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'
48072	RollingUpgradeMode UpgradeMode `json:"RollingUpgradeMode,omitempty"`
48073	// 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).
48074	UpgradeReplicaSetCheckTimeoutInSeconds *int64 `json:"UpgradeReplicaSetCheckTimeoutInSeconds,omitempty"`
48075	// 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).
48076	ForceRestart *bool `json:"ForceRestart,omitempty"`
48077	// MonitoringPolicy - Describes the parameters for monitoring an upgrade in Monitored mode.
48078	MonitoringPolicy *MonitoringPolicyDescription `json:"MonitoringPolicy,omitempty"`
48079	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
48080	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
48081	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
48082	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
48083	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
48084	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
48085	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
48086	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
48087}
48088
48089// StartedChaosEvent describes a Chaos event that gets generated when Chaos is started.
48090type StartedChaosEvent struct {
48091	// ChaosParameters - Defines all the parameters to configure a Chaos run.
48092	ChaosParameters *ChaosParameters `json:"ChaosParameters,omitempty"`
48093	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
48094	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
48095	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
48096	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
48097}
48098
48099// MarshalJSON is the custom marshaler for StartedChaosEvent.
48100func (sce StartedChaosEvent) MarshalJSON() ([]byte, error) {
48101	sce.Kind = KindStarted
48102	objectMap := make(map[string]interface{})
48103	if sce.ChaosParameters != nil {
48104		objectMap["ChaosParameters"] = sce.ChaosParameters
48105	}
48106	if sce.TimeStampUtc != nil {
48107		objectMap["TimeStampUtc"] = sce.TimeStampUtc
48108	}
48109	if sce.Kind != "" {
48110		objectMap["Kind"] = sce.Kind
48111	}
48112	return json.Marshal(objectMap)
48113}
48114
48115// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48116func (sce StartedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
48117	return nil, false
48118}
48119
48120// AsStartedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48121func (sce StartedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
48122	return &sce, true
48123}
48124
48125// AsStoppedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48126func (sce StartedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
48127	return nil, false
48128}
48129
48130// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48131func (sce StartedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
48132	return nil, false
48133}
48134
48135// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48136func (sce StartedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
48137	return nil, false
48138}
48139
48140// AsWaitingChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48141func (sce StartedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
48142	return nil, false
48143}
48144
48145// AsChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48146func (sce StartedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
48147	return nil, false
48148}
48149
48150// AsBasicChaosEvent is the BasicChaosEvent implementation for StartedChaosEvent.
48151func (sce StartedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
48152	return &sce, true
48153}
48154
48155// StatefulReplicaHealthReportCreatedEvent stateful Replica Health Report Created event.
48156type StatefulReplicaHealthReportCreatedEvent struct {
48157	// ReplicaInstanceID - Id of Replica instance.
48158	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
48159	// SourceID - Id of report source.
48160	SourceID *string `json:"SourceId,omitempty"`
48161	// Property - Describes the property.
48162	Property *string `json:"Property,omitempty"`
48163	// HealthState - Describes the property health state.
48164	HealthState *string `json:"HealthState,omitempty"`
48165	// TimeToLiveMs - Time to live in milli-seconds.
48166	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
48167	// SequenceNumber - Sequence number of report.
48168	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
48169	// Description - Description of report.
48170	Description *string `json:"Description,omitempty"`
48171	// RemoveWhenExpired - Indicates the removal when it expires.
48172	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
48173	// SourceUtcTimestamp - Source time.
48174	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
48175	// 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.
48176	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
48177	// 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.
48178	ReplicaID *int64 `json:"ReplicaId,omitempty"`
48179	// EventInstanceID - The identifier for the FabricEvent instance.
48180	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
48181	// TimeStamp - The time event was logged.
48182	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
48183	// HasCorrelatedEvents - Shows there is existing related events available.
48184	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
48185	// 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'
48186	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
48187}
48188
48189// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportCreatedEvent.
48190func (srhrce StatefulReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
48191	srhrce.Kind = KindStatefulReplicaHealthReportCreated
48192	objectMap := make(map[string]interface{})
48193	if srhrce.ReplicaInstanceID != nil {
48194		objectMap["ReplicaInstanceId"] = srhrce.ReplicaInstanceID
48195	}
48196	if srhrce.SourceID != nil {
48197		objectMap["SourceId"] = srhrce.SourceID
48198	}
48199	if srhrce.Property != nil {
48200		objectMap["Property"] = srhrce.Property
48201	}
48202	if srhrce.HealthState != nil {
48203		objectMap["HealthState"] = srhrce.HealthState
48204	}
48205	if srhrce.TimeToLiveMs != nil {
48206		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
48207	}
48208	if srhrce.SequenceNumber != nil {
48209		objectMap["SequenceNumber"] = srhrce.SequenceNumber
48210	}
48211	if srhrce.Description != nil {
48212		objectMap["Description"] = srhrce.Description
48213	}
48214	if srhrce.RemoveWhenExpired != nil {
48215		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
48216	}
48217	if srhrce.SourceUtcTimestamp != nil {
48218		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
48219	}
48220	if srhrce.PartitionID != nil {
48221		objectMap["PartitionId"] = srhrce.PartitionID
48222	}
48223	if srhrce.ReplicaID != nil {
48224		objectMap["ReplicaId"] = srhrce.ReplicaID
48225	}
48226	if srhrce.EventInstanceID != nil {
48227		objectMap["EventInstanceId"] = srhrce.EventInstanceID
48228	}
48229	if srhrce.TimeStamp != nil {
48230		objectMap["TimeStamp"] = srhrce.TimeStamp
48231	}
48232	if srhrce.HasCorrelatedEvents != nil {
48233		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
48234	}
48235	if srhrce.Kind != "" {
48236		objectMap["Kind"] = srhrce.Kind
48237	}
48238	return json.Marshal(objectMap)
48239}
48240
48241// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48242func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
48243	return nil, false
48244}
48245
48246// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48247func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
48248	return nil, false
48249}
48250
48251// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48252func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
48253	return nil, false
48254}
48255
48256// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48257func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
48258	return nil, false
48259}
48260
48261// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48262func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
48263	return nil, false
48264}
48265
48266// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48267func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
48268	return nil, false
48269}
48270
48271// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48272func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
48273	return nil, false
48274}
48275
48276// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48277func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
48278	return nil, false
48279}
48280
48281// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48282func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
48283	return nil, false
48284}
48285
48286// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48287func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
48288	return nil, false
48289}
48290
48291// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48292func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
48293	return nil, false
48294}
48295
48296// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48297func (srhrce StatefulReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
48298	return nil, false
48299}
48300
48301// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48302func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
48303	return &srhrce, true
48304}
48305
48306// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48307func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
48308	return nil, false
48309}
48310
48311// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48312func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
48313	return nil, false
48314}
48315
48316// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48317func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
48318	return nil, false
48319}
48320
48321// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48322func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
48323	return nil, false
48324}
48325
48326// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48327func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
48328	return nil, false
48329}
48330
48331// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48332func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
48333	return nil, false
48334}
48335
48336// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48337func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
48338	return nil, false
48339}
48340
48341// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48342func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
48343	return nil, false
48344}
48345
48346// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48347func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
48348	return nil, false
48349}
48350
48351// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48352func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
48353	return nil, false
48354}
48355
48356// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48357func (srhrce StatefulReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
48358	return nil, false
48359}
48360
48361// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48362func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
48363	return nil, false
48364}
48365
48366// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48367func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
48368	return nil, false
48369}
48370
48371// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48372func (srhrce StatefulReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
48373	return nil, false
48374}
48375
48376// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48377func (srhrce StatefulReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
48378	return nil, false
48379}
48380
48381// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48382func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
48383	return nil, false
48384}
48385
48386// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48387func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
48388	return nil, false
48389}
48390
48391// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48392func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
48393	return nil, false
48394}
48395
48396// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48397func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
48398	return nil, false
48399}
48400
48401// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48402func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
48403	return nil, false
48404}
48405
48406// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48407func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
48408	return nil, false
48409}
48410
48411// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48412func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
48413	return nil, false
48414}
48415
48416// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48417func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
48418	return nil, false
48419}
48420
48421// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48422func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
48423	return nil, false
48424}
48425
48426// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48427func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
48428	return nil, false
48429}
48430
48431// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48432func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
48433	return nil, false
48434}
48435
48436// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48437func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
48438	return nil, false
48439}
48440
48441// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48442func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
48443	return nil, false
48444}
48445
48446// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48447func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
48448	return nil, false
48449}
48450
48451// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48452func (srhrce StatefulReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
48453	return nil, false
48454}
48455
48456// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48457func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
48458	return nil, false
48459}
48460
48461// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48462func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
48463	return nil, false
48464}
48465
48466// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48467func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
48468	return nil, false
48469}
48470
48471// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48472func (srhrce StatefulReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
48473	return nil, false
48474}
48475
48476// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48477func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
48478	return nil, false
48479}
48480
48481// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48482func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
48483	return nil, false
48484}
48485
48486// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48487func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
48488	return nil, false
48489}
48490
48491// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48492func (srhrce StatefulReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
48493	return nil, false
48494}
48495
48496// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48497func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
48498	return nil, false
48499}
48500
48501// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48502func (srhrce StatefulReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
48503	return nil, false
48504}
48505
48506// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48507func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
48508	return &srhrce, true
48509}
48510
48511// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48512func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
48513	return nil, false
48514}
48515
48516// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48517func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
48518	return nil, false
48519}
48520
48521// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48522func (srhrce StatefulReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
48523	return nil, false
48524}
48525
48526// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48527func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
48528	return nil, false
48529}
48530
48531// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48532func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
48533	return nil, false
48534}
48535
48536// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48537func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
48538	return nil, false
48539}
48540
48541// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48542func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
48543	return nil, false
48544}
48545
48546// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48547func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
48548	return nil, false
48549}
48550
48551// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48552func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
48553	return nil, false
48554}
48555
48556// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48557func (srhrce StatefulReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
48558	return nil, false
48559}
48560
48561// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48562func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
48563	return nil, false
48564}
48565
48566// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48567func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
48568	return nil, false
48569}
48570
48571// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48572func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
48573	return nil, false
48574}
48575
48576// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48577func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
48578	return nil, false
48579}
48580
48581// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48582func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
48583	return nil, false
48584}
48585
48586// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48587func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
48588	return nil, false
48589}
48590
48591// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48592func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
48593	return nil, false
48594}
48595
48596// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48597func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
48598	return nil, false
48599}
48600
48601// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48602func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
48603	return nil, false
48604}
48605
48606// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48607func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
48608	return nil, false
48609}
48610
48611// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48612func (srhrce StatefulReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
48613	return nil, false
48614}
48615
48616// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48617func (srhrce StatefulReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
48618	return nil, false
48619}
48620
48621// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportCreatedEvent.
48622func (srhrce StatefulReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
48623	return &srhrce, true
48624}
48625
48626// StatefulReplicaHealthReportExpiredEvent stateful Replica Health Report Expired event.
48627type StatefulReplicaHealthReportExpiredEvent struct {
48628	// ReplicaInstanceID - Id of Replica instance.
48629	ReplicaInstanceID *int64 `json:"ReplicaInstanceId,omitempty"`
48630	// SourceID - Id of report source.
48631	SourceID *string `json:"SourceId,omitempty"`
48632	// Property - Describes the property.
48633	Property *string `json:"Property,omitempty"`
48634	// HealthState - Describes the property health state.
48635	HealthState *string `json:"HealthState,omitempty"`
48636	// TimeToLiveMs - Time to live in milli-seconds.
48637	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
48638	// SequenceNumber - Sequence number of report.
48639	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
48640	// Description - Description of report.
48641	Description *string `json:"Description,omitempty"`
48642	// RemoveWhenExpired - Indicates the removal when it expires.
48643	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
48644	// SourceUtcTimestamp - Source time.
48645	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
48646	// 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.
48647	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
48648	// 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.
48649	ReplicaID *int64 `json:"ReplicaId,omitempty"`
48650	// EventInstanceID - The identifier for the FabricEvent instance.
48651	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
48652	// TimeStamp - The time event was logged.
48653	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
48654	// HasCorrelatedEvents - Shows there is existing related events available.
48655	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
48656	// 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'
48657	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
48658}
48659
48660// MarshalJSON is the custom marshaler for StatefulReplicaHealthReportExpiredEvent.
48661func (srhree StatefulReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
48662	srhree.Kind = KindStatefulReplicaHealthReportExpired
48663	objectMap := make(map[string]interface{})
48664	if srhree.ReplicaInstanceID != nil {
48665		objectMap["ReplicaInstanceId"] = srhree.ReplicaInstanceID
48666	}
48667	if srhree.SourceID != nil {
48668		objectMap["SourceId"] = srhree.SourceID
48669	}
48670	if srhree.Property != nil {
48671		objectMap["Property"] = srhree.Property
48672	}
48673	if srhree.HealthState != nil {
48674		objectMap["HealthState"] = srhree.HealthState
48675	}
48676	if srhree.TimeToLiveMs != nil {
48677		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
48678	}
48679	if srhree.SequenceNumber != nil {
48680		objectMap["SequenceNumber"] = srhree.SequenceNumber
48681	}
48682	if srhree.Description != nil {
48683		objectMap["Description"] = srhree.Description
48684	}
48685	if srhree.RemoveWhenExpired != nil {
48686		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
48687	}
48688	if srhree.SourceUtcTimestamp != nil {
48689		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
48690	}
48691	if srhree.PartitionID != nil {
48692		objectMap["PartitionId"] = srhree.PartitionID
48693	}
48694	if srhree.ReplicaID != nil {
48695		objectMap["ReplicaId"] = srhree.ReplicaID
48696	}
48697	if srhree.EventInstanceID != nil {
48698		objectMap["EventInstanceId"] = srhree.EventInstanceID
48699	}
48700	if srhree.TimeStamp != nil {
48701		objectMap["TimeStamp"] = srhree.TimeStamp
48702	}
48703	if srhree.HasCorrelatedEvents != nil {
48704		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
48705	}
48706	if srhree.Kind != "" {
48707		objectMap["Kind"] = srhree.Kind
48708	}
48709	return json.Marshal(objectMap)
48710}
48711
48712// AsApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48713func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
48714	return nil, false
48715}
48716
48717// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48718func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
48719	return nil, false
48720}
48721
48722// AsClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48723func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
48724	return nil, false
48725}
48726
48727// AsBasicClusterEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48728func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
48729	return nil, false
48730}
48731
48732// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48733func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
48734	return nil, false
48735}
48736
48737// AsNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48738func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
48739	return nil, false
48740}
48741
48742// AsBasicNodeEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48743func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
48744	return nil, false
48745}
48746
48747// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48748func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
48749	return nil, false
48750}
48751
48752// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48753func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
48754	return nil, false
48755}
48756
48757// AsPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48758func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
48759	return nil, false
48760}
48761
48762// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48763func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
48764	return nil, false
48765}
48766
48767// AsReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48768func (srhree StatefulReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
48769	return nil, false
48770}
48771
48772// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48773func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
48774	return &srhree, true
48775}
48776
48777// AsServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48778func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
48779	return nil, false
48780}
48781
48782// AsBasicServiceEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48783func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
48784	return nil, false
48785}
48786
48787// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48788func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
48789	return nil, false
48790}
48791
48792// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48793func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
48794	return nil, false
48795}
48796
48797// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48798func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
48799	return nil, false
48800}
48801
48802// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48803func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
48804	return nil, false
48805}
48806
48807// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48808func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
48809	return nil, false
48810}
48811
48812// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48813func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
48814	return nil, false
48815}
48816
48817// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48818func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
48819	return nil, false
48820}
48821
48822// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48823func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
48824	return nil, false
48825}
48826
48827// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48828func (srhree StatefulReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
48829	return nil, false
48830}
48831
48832// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48833func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
48834	return nil, false
48835}
48836
48837// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48838func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
48839	return nil, false
48840}
48841
48842// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48843func (srhree StatefulReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
48844	return nil, false
48845}
48846
48847// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48848func (srhree StatefulReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
48849	return nil, false
48850}
48851
48852// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48853func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
48854	return nil, false
48855}
48856
48857// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48858func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
48859	return nil, false
48860}
48861
48862// AsNodeAddedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48863func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
48864	return nil, false
48865}
48866
48867// AsNodeCloseEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48868func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
48869	return nil, false
48870}
48871
48872// AsNodeClosingEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48873func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
48874	return nil, false
48875}
48876
48877// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48878func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
48879	return nil, false
48880}
48881
48882// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48883func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
48884	return nil, false
48885}
48886
48887// AsNodeDownEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48888func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
48889	return nil, false
48890}
48891
48892// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48893func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
48894	return nil, false
48895}
48896
48897// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48898func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
48899	return nil, false
48900}
48901
48902// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48903func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
48904	return nil, false
48905}
48906
48907// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48908func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
48909	return nil, false
48910}
48911
48912// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48913func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
48914	return nil, false
48915}
48916
48917// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48918func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
48919	return nil, false
48920}
48921
48922// AsNodeUpEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48923func (srhree StatefulReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
48924	return nil, false
48925}
48926
48927// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48928func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
48929	return nil, false
48930}
48931
48932// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48933func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
48934	return nil, false
48935}
48936
48937// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48938func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
48939	return nil, false
48940}
48941
48942// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48943func (srhree StatefulReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
48944	return nil, false
48945}
48946
48947// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48948func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
48949	return nil, false
48950}
48951
48952// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48953func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
48954	return nil, false
48955}
48956
48957// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48958func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
48959	return nil, false
48960}
48961
48962// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48963func (srhree StatefulReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
48964	return nil, false
48965}
48966
48967// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48968func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
48969	return nil, false
48970}
48971
48972// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48973func (srhree StatefulReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
48974	return nil, false
48975}
48976
48977// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48978func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
48979	return nil, false
48980}
48981
48982// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48983func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
48984	return &srhree, true
48985}
48986
48987// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48988func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
48989	return nil, false
48990}
48991
48992// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48993func (srhree StatefulReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
48994	return nil, false
48995}
48996
48997// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
48998func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
48999	return nil, false
49000}
49001
49002// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49003func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
49004	return nil, false
49005}
49006
49007// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49008func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
49009	return nil, false
49010}
49011
49012// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49013func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
49014	return nil, false
49015}
49016
49017// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49018func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
49019	return nil, false
49020}
49021
49022// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49023func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
49024	return nil, false
49025}
49026
49027// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49028func (srhree StatefulReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
49029	return nil, false
49030}
49031
49032// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49033func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
49034	return nil, false
49035}
49036
49037// AsChaosStartedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49038func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
49039	return nil, false
49040}
49041
49042// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49043func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
49044	return nil, false
49045}
49046
49047// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49048func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
49049	return nil, false
49050}
49051
49052// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49053func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
49054	return nil, false
49055}
49056
49057// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49058func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
49059	return nil, false
49060}
49061
49062// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49063func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
49064	return nil, false
49065}
49066
49067// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49068func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
49069	return nil, false
49070}
49071
49072// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49073func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
49074	return nil, false
49075}
49076
49077// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49078func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
49079	return nil, false
49080}
49081
49082// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49083func (srhree StatefulReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
49084	return nil, false
49085}
49086
49087// AsFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49088func (srhree StatefulReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
49089	return nil, false
49090}
49091
49092// AsBasicFabricEvent is the BasicFabricEvent implementation for StatefulReplicaHealthReportExpiredEvent.
49093func (srhree StatefulReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
49094	return &srhree, true
49095}
49096
49097// StatefulServiceDescription describes a stateful service.
49098type StatefulServiceDescription struct {
49099	// TargetReplicaSetSize - The target replica set size as a number.
49100	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
49101	// MinReplicaSetSize - The minimum replica set size as a number.
49102	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
49103	// 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.
49104	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
49105	// 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.
49106	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
49107	// For example, if the provided value is 6 then the flags for QuorumLossWaitDuration (2) and StandByReplicaKeepDuration(4) are set.
49108	// - None - Does not indicate any other properties are set. The value is zero.
49109	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is 1.
49110	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 2.
49111	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 4.
49112	Flags *int32 `json:"Flags,omitempty"`
49113	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
49114	ReplicaRestartWaitDurationSeconds *int64 `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
49115	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
49116	QuorumLossWaitDurationSeconds *int64 `json:"QuorumLossWaitDurationSeconds,omitempty"`
49117	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
49118	StandByReplicaKeepDurationSeconds *int64 `json:"StandByReplicaKeepDurationSeconds,omitempty"`
49119	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
49120	ApplicationName *string `json:"ApplicationName,omitempty"`
49121	// ServiceName - The full name of the service with 'fabric:' URI scheme.
49122	ServiceName *string `json:"ServiceName,omitempty"`
49123	// ServiceTypeName - Name of the service type as specified in the service manifest.
49124	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
49125	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
49126	InitializationData *[]int32 `json:"InitializationData,omitempty"`
49127	// PartitionDescription - The partition description as an object.
49128	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
49129	// 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)".
49130	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
49131	// CorrelationScheme - The correlation scheme.
49132	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
49133	// ServiceLoadMetrics - The service load metrics.
49134	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
49135	// ServicePlacementPolicies - The service placement policies.
49136	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
49137	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
49138	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
49139	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
49140	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
49141	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
49142	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
49143	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
49144	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
49145	// ScalingPolicies - Scaling policies for this service.
49146	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
49147	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
49148	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
49149}
49150
49151// MarshalJSON is the custom marshaler for StatefulServiceDescription.
49152func (ssd StatefulServiceDescription) MarshalJSON() ([]byte, error) {
49153	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateful
49154	objectMap := make(map[string]interface{})
49155	if ssd.TargetReplicaSetSize != nil {
49156		objectMap["TargetReplicaSetSize"] = ssd.TargetReplicaSetSize
49157	}
49158	if ssd.MinReplicaSetSize != nil {
49159		objectMap["MinReplicaSetSize"] = ssd.MinReplicaSetSize
49160	}
49161	if ssd.HasPersistedState != nil {
49162		objectMap["HasPersistedState"] = ssd.HasPersistedState
49163	}
49164	if ssd.Flags != nil {
49165		objectMap["Flags"] = ssd.Flags
49166	}
49167	if ssd.ReplicaRestartWaitDurationSeconds != nil {
49168		objectMap["ReplicaRestartWaitDurationSeconds"] = ssd.ReplicaRestartWaitDurationSeconds
49169	}
49170	if ssd.QuorumLossWaitDurationSeconds != nil {
49171		objectMap["QuorumLossWaitDurationSeconds"] = ssd.QuorumLossWaitDurationSeconds
49172	}
49173	if ssd.StandByReplicaKeepDurationSeconds != nil {
49174		objectMap["StandByReplicaKeepDurationSeconds"] = ssd.StandByReplicaKeepDurationSeconds
49175	}
49176	if ssd.ApplicationName != nil {
49177		objectMap["ApplicationName"] = ssd.ApplicationName
49178	}
49179	if ssd.ServiceName != nil {
49180		objectMap["ServiceName"] = ssd.ServiceName
49181	}
49182	if ssd.ServiceTypeName != nil {
49183		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
49184	}
49185	if ssd.InitializationData != nil {
49186		objectMap["InitializationData"] = ssd.InitializationData
49187	}
49188	objectMap["PartitionDescription"] = ssd.PartitionDescription
49189	if ssd.PlacementConstraints != nil {
49190		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
49191	}
49192	if ssd.CorrelationScheme != nil {
49193		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
49194	}
49195	if ssd.ServiceLoadMetrics != nil {
49196		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
49197	}
49198	if ssd.ServicePlacementPolicies != nil {
49199		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
49200	}
49201	if ssd.DefaultMoveCost != "" {
49202		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
49203	}
49204	if ssd.IsDefaultMoveCostSpecified != nil {
49205		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
49206	}
49207	if ssd.ServicePackageActivationMode != "" {
49208		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
49209	}
49210	if ssd.ServiceDNSName != nil {
49211		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
49212	}
49213	if ssd.ScalingPolicies != nil {
49214		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
49215	}
49216	if ssd.ServiceKind != "" {
49217		objectMap["ServiceKind"] = ssd.ServiceKind
49218	}
49219	return json.Marshal(objectMap)
49220}
49221
49222// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
49223func (ssd StatefulServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
49224	return &ssd, true
49225}
49226
49227// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
49228func (ssd StatefulServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
49229	return nil, false
49230}
49231
49232// AsServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
49233func (ssd StatefulServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
49234	return nil, false
49235}
49236
49237// AsBasicServiceDescription is the BasicServiceDescription implementation for StatefulServiceDescription.
49238func (ssd StatefulServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
49239	return &ssd, true
49240}
49241
49242// UnmarshalJSON is the custom unmarshaler for StatefulServiceDescription struct.
49243func (ssd *StatefulServiceDescription) UnmarshalJSON(body []byte) error {
49244	var m map[string]*json.RawMessage
49245	err := json.Unmarshal(body, &m)
49246	if err != nil {
49247		return err
49248	}
49249	for k, v := range m {
49250		switch k {
49251		case "TargetReplicaSetSize":
49252			if v != nil {
49253				var targetReplicaSetSize int32
49254				err = json.Unmarshal(*v, &targetReplicaSetSize)
49255				if err != nil {
49256					return err
49257				}
49258				ssd.TargetReplicaSetSize = &targetReplicaSetSize
49259			}
49260		case "MinReplicaSetSize":
49261			if v != nil {
49262				var minReplicaSetSize int32
49263				err = json.Unmarshal(*v, &minReplicaSetSize)
49264				if err != nil {
49265					return err
49266				}
49267				ssd.MinReplicaSetSize = &minReplicaSetSize
49268			}
49269		case "HasPersistedState":
49270			if v != nil {
49271				var hasPersistedState bool
49272				err = json.Unmarshal(*v, &hasPersistedState)
49273				if err != nil {
49274					return err
49275				}
49276				ssd.HasPersistedState = &hasPersistedState
49277			}
49278		case "Flags":
49279			if v != nil {
49280				var flags int32
49281				err = json.Unmarshal(*v, &flags)
49282				if err != nil {
49283					return err
49284				}
49285				ssd.Flags = &flags
49286			}
49287		case "ReplicaRestartWaitDurationSeconds":
49288			if v != nil {
49289				var replicaRestartWaitDurationSeconds int64
49290				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
49291				if err != nil {
49292					return err
49293				}
49294				ssd.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
49295			}
49296		case "QuorumLossWaitDurationSeconds":
49297			if v != nil {
49298				var quorumLossWaitDurationSeconds int64
49299				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
49300				if err != nil {
49301					return err
49302				}
49303				ssd.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
49304			}
49305		case "StandByReplicaKeepDurationSeconds":
49306			if v != nil {
49307				var standByReplicaKeepDurationSeconds int64
49308				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
49309				if err != nil {
49310					return err
49311				}
49312				ssd.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
49313			}
49314		case "ApplicationName":
49315			if v != nil {
49316				var applicationName string
49317				err = json.Unmarshal(*v, &applicationName)
49318				if err != nil {
49319					return err
49320				}
49321				ssd.ApplicationName = &applicationName
49322			}
49323		case "ServiceName":
49324			if v != nil {
49325				var serviceName string
49326				err = json.Unmarshal(*v, &serviceName)
49327				if err != nil {
49328					return err
49329				}
49330				ssd.ServiceName = &serviceName
49331			}
49332		case "ServiceTypeName":
49333			if v != nil {
49334				var serviceTypeName string
49335				err = json.Unmarshal(*v, &serviceTypeName)
49336				if err != nil {
49337					return err
49338				}
49339				ssd.ServiceTypeName = &serviceTypeName
49340			}
49341		case "InitializationData":
49342			if v != nil {
49343				var initializationData []int32
49344				err = json.Unmarshal(*v, &initializationData)
49345				if err != nil {
49346					return err
49347				}
49348				ssd.InitializationData = &initializationData
49349			}
49350		case "PartitionDescription":
49351			if v != nil {
49352				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
49353				if err != nil {
49354					return err
49355				}
49356				ssd.PartitionDescription = partitionDescription
49357			}
49358		case "PlacementConstraints":
49359			if v != nil {
49360				var placementConstraints string
49361				err = json.Unmarshal(*v, &placementConstraints)
49362				if err != nil {
49363					return err
49364				}
49365				ssd.PlacementConstraints = &placementConstraints
49366			}
49367		case "CorrelationScheme":
49368			if v != nil {
49369				var correlationScheme []ServiceCorrelationDescription
49370				err = json.Unmarshal(*v, &correlationScheme)
49371				if err != nil {
49372					return err
49373				}
49374				ssd.CorrelationScheme = &correlationScheme
49375			}
49376		case "ServiceLoadMetrics":
49377			if v != nil {
49378				var serviceLoadMetrics []ServiceLoadMetricDescription
49379				err = json.Unmarshal(*v, &serviceLoadMetrics)
49380				if err != nil {
49381					return err
49382				}
49383				ssd.ServiceLoadMetrics = &serviceLoadMetrics
49384			}
49385		case "ServicePlacementPolicies":
49386			if v != nil {
49387				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
49388				if err != nil {
49389					return err
49390				}
49391				ssd.ServicePlacementPolicies = &servicePlacementPolicies
49392			}
49393		case "DefaultMoveCost":
49394			if v != nil {
49395				var defaultMoveCost MoveCost
49396				err = json.Unmarshal(*v, &defaultMoveCost)
49397				if err != nil {
49398					return err
49399				}
49400				ssd.DefaultMoveCost = defaultMoveCost
49401			}
49402		case "IsDefaultMoveCostSpecified":
49403			if v != nil {
49404				var isDefaultMoveCostSpecified bool
49405				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
49406				if err != nil {
49407					return err
49408				}
49409				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
49410			}
49411		case "ServicePackageActivationMode":
49412			if v != nil {
49413				var servicePackageActivationMode ServicePackageActivationMode
49414				err = json.Unmarshal(*v, &servicePackageActivationMode)
49415				if err != nil {
49416					return err
49417				}
49418				ssd.ServicePackageActivationMode = servicePackageActivationMode
49419			}
49420		case "ServiceDnsName":
49421			if v != nil {
49422				var serviceDNSName string
49423				err = json.Unmarshal(*v, &serviceDNSName)
49424				if err != nil {
49425					return err
49426				}
49427				ssd.ServiceDNSName = &serviceDNSName
49428			}
49429		case "ScalingPolicies":
49430			if v != nil {
49431				var scalingPolicies []ScalingPolicyDescription
49432				err = json.Unmarshal(*v, &scalingPolicies)
49433				if err != nil {
49434					return err
49435				}
49436				ssd.ScalingPolicies = &scalingPolicies
49437			}
49438		case "ServiceKind":
49439			if v != nil {
49440				var serviceKind ServiceKindBasicServiceDescription
49441				err = json.Unmarshal(*v, &serviceKind)
49442				if err != nil {
49443					return err
49444				}
49445				ssd.ServiceKind = serviceKind
49446			}
49447		}
49448	}
49449
49450	return nil
49451}
49452
49453// StatefulServiceInfo information about a stateful Service Fabric service.
49454type StatefulServiceInfo struct {
49455	// HasPersistedState - Whether the service has persisted state.
49456	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
49457	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
49458	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
49459	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
49460	ID *string `json:"Id,omitempty"`
49461	// Name - The full name of the service with 'fabric:' URI scheme.
49462	Name *string `json:"Name,omitempty"`
49463	// TypeName - Name of the service type as specified in the service manifest.
49464	TypeName *string `json:"TypeName,omitempty"`
49465	// ManifestVersion - The version of the service manifest.
49466	ManifestVersion *string `json:"ManifestVersion,omitempty"`
49467	// 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'
49468	HealthState HealthState `json:"HealthState,omitempty"`
49469	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
49470	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
49471	// IsServiceGroup - Whether the service is in a service group.
49472	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
49473	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
49474	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
49475}
49476
49477// MarshalJSON is the custom marshaler for StatefulServiceInfo.
49478func (ssi StatefulServiceInfo) MarshalJSON() ([]byte, error) {
49479	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateful
49480	objectMap := make(map[string]interface{})
49481	if ssi.HasPersistedState != nil {
49482		objectMap["HasPersistedState"] = ssi.HasPersistedState
49483	}
49484	if ssi.ID != nil {
49485		objectMap["Id"] = ssi.ID
49486	}
49487	if ssi.Name != nil {
49488		objectMap["Name"] = ssi.Name
49489	}
49490	if ssi.TypeName != nil {
49491		objectMap["TypeName"] = ssi.TypeName
49492	}
49493	if ssi.ManifestVersion != nil {
49494		objectMap["ManifestVersion"] = ssi.ManifestVersion
49495	}
49496	if ssi.HealthState != "" {
49497		objectMap["HealthState"] = ssi.HealthState
49498	}
49499	if ssi.ServiceStatus != "" {
49500		objectMap["ServiceStatus"] = ssi.ServiceStatus
49501	}
49502	if ssi.IsServiceGroup != nil {
49503		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
49504	}
49505	if ssi.ServiceKind != "" {
49506		objectMap["ServiceKind"] = ssi.ServiceKind
49507	}
49508	return json.Marshal(objectMap)
49509}
49510
49511// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
49512func (ssi StatefulServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
49513	return &ssi, true
49514}
49515
49516// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
49517func (ssi StatefulServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
49518	return nil, false
49519}
49520
49521// AsServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
49522func (ssi StatefulServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
49523	return nil, false
49524}
49525
49526// AsBasicServiceInfo is the BasicServiceInfo implementation for StatefulServiceInfo.
49527func (ssi StatefulServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
49528	return &ssi, true
49529}
49530
49531// StatefulServicePartitionInfo information about a partition of a stateful Service Fabric service..
49532type StatefulServicePartitionInfo struct {
49533	// TargetReplicaSetSize - The target replica set size as a number.
49534	TargetReplicaSetSize *int64 `json:"TargetReplicaSetSize,omitempty"`
49535	// MinReplicaSetSize - The minimum replica set size as a number.
49536	MinReplicaSetSize *int64 `json:"MinReplicaSetSize,omitempty"`
49537	// 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.
49538	LastQuorumLossDuration *string `json:"LastQuorumLossDuration,omitempty"`
49539	// 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.
49540	CurrentConfigurationEpoch *Epoch `json:"CurrentConfigurationEpoch,omitempty"`
49541	// 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'
49542	HealthState HealthState `json:"HealthState,omitempty"`
49543	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
49544	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
49545	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
49546	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
49547	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
49548	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
49549}
49550
49551// MarshalJSON is the custom marshaler for StatefulServicePartitionInfo.
49552func (sspi StatefulServicePartitionInfo) MarshalJSON() ([]byte, error) {
49553	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateful
49554	objectMap := make(map[string]interface{})
49555	if sspi.TargetReplicaSetSize != nil {
49556		objectMap["TargetReplicaSetSize"] = sspi.TargetReplicaSetSize
49557	}
49558	if sspi.MinReplicaSetSize != nil {
49559		objectMap["MinReplicaSetSize"] = sspi.MinReplicaSetSize
49560	}
49561	if sspi.LastQuorumLossDuration != nil {
49562		objectMap["LastQuorumLossDuration"] = sspi.LastQuorumLossDuration
49563	}
49564	if sspi.CurrentConfigurationEpoch != nil {
49565		objectMap["CurrentConfigurationEpoch"] = sspi.CurrentConfigurationEpoch
49566	}
49567	if sspi.HealthState != "" {
49568		objectMap["HealthState"] = sspi.HealthState
49569	}
49570	if sspi.PartitionStatus != "" {
49571		objectMap["PartitionStatus"] = sspi.PartitionStatus
49572	}
49573	objectMap["PartitionInformation"] = sspi.PartitionInformation
49574	if sspi.ServiceKind != "" {
49575		objectMap["ServiceKind"] = sspi.ServiceKind
49576	}
49577	return json.Marshal(objectMap)
49578}
49579
49580// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
49581func (sspi StatefulServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
49582	return &sspi, true
49583}
49584
49585// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
49586func (sspi StatefulServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
49587	return nil, false
49588}
49589
49590// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
49591func (sspi StatefulServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
49592	return nil, false
49593}
49594
49595// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatefulServicePartitionInfo.
49596func (sspi StatefulServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
49597	return &sspi, true
49598}
49599
49600// UnmarshalJSON is the custom unmarshaler for StatefulServicePartitionInfo struct.
49601func (sspi *StatefulServicePartitionInfo) UnmarshalJSON(body []byte) error {
49602	var m map[string]*json.RawMessage
49603	err := json.Unmarshal(body, &m)
49604	if err != nil {
49605		return err
49606	}
49607	for k, v := range m {
49608		switch k {
49609		case "TargetReplicaSetSize":
49610			if v != nil {
49611				var targetReplicaSetSize int64
49612				err = json.Unmarshal(*v, &targetReplicaSetSize)
49613				if err != nil {
49614					return err
49615				}
49616				sspi.TargetReplicaSetSize = &targetReplicaSetSize
49617			}
49618		case "MinReplicaSetSize":
49619			if v != nil {
49620				var minReplicaSetSize int64
49621				err = json.Unmarshal(*v, &minReplicaSetSize)
49622				if err != nil {
49623					return err
49624				}
49625				sspi.MinReplicaSetSize = &minReplicaSetSize
49626			}
49627		case "LastQuorumLossDuration":
49628			if v != nil {
49629				var lastQuorumLossDuration string
49630				err = json.Unmarshal(*v, &lastQuorumLossDuration)
49631				if err != nil {
49632					return err
49633				}
49634				sspi.LastQuorumLossDuration = &lastQuorumLossDuration
49635			}
49636		case "CurrentConfigurationEpoch":
49637			if v != nil {
49638				var currentConfigurationEpoch Epoch
49639				err = json.Unmarshal(*v, &currentConfigurationEpoch)
49640				if err != nil {
49641					return err
49642				}
49643				sspi.CurrentConfigurationEpoch = &currentConfigurationEpoch
49644			}
49645		case "HealthState":
49646			if v != nil {
49647				var healthState HealthState
49648				err = json.Unmarshal(*v, &healthState)
49649				if err != nil {
49650					return err
49651				}
49652				sspi.HealthState = healthState
49653			}
49654		case "PartitionStatus":
49655			if v != nil {
49656				var partitionStatus ServicePartitionStatus
49657				err = json.Unmarshal(*v, &partitionStatus)
49658				if err != nil {
49659					return err
49660				}
49661				sspi.PartitionStatus = partitionStatus
49662			}
49663		case "PartitionInformation":
49664			if v != nil {
49665				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
49666				if err != nil {
49667					return err
49668				}
49669				sspi.PartitionInformation = partitionInformation
49670			}
49671		case "ServiceKind":
49672			if v != nil {
49673				var serviceKind ServiceKindBasicServicePartitionInfo
49674				err = json.Unmarshal(*v, &serviceKind)
49675				if err != nil {
49676					return err
49677				}
49678				sspi.ServiceKind = serviceKind
49679			}
49680		}
49681	}
49682
49683	return nil
49684}
49685
49686// StatefulServiceReplicaHealth represents the health of the stateful service replica.
49687// Contains the replica aggregated health state, the health events and the unhealthy evaluations.
49688type StatefulServiceReplicaHealth struct {
49689	// 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.
49690	ReplicaID *string `json:"ReplicaId,omitempty"`
49691	// PartitionID - Id of the partition to which this replica belongs.
49692	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49693	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
49694	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
49695	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
49696	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
49697	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
49698	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49699	// HealthEvents - The list of health events reported on the entity.
49700	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
49701	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
49702	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
49703	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
49704	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
49705}
49706
49707// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealth.
49708func (ssrh StatefulServiceReplicaHealth) MarshalJSON() ([]byte, error) {
49709	ssrh.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateful
49710	objectMap := make(map[string]interface{})
49711	if ssrh.ReplicaID != nil {
49712		objectMap["ReplicaId"] = ssrh.ReplicaID
49713	}
49714	if ssrh.PartitionID != nil {
49715		objectMap["PartitionId"] = ssrh.PartitionID
49716	}
49717	if ssrh.ServiceKind != "" {
49718		objectMap["ServiceKind"] = ssrh.ServiceKind
49719	}
49720	if ssrh.AggregatedHealthState != "" {
49721		objectMap["AggregatedHealthState"] = ssrh.AggregatedHealthState
49722	}
49723	if ssrh.HealthEvents != nil {
49724		objectMap["HealthEvents"] = ssrh.HealthEvents
49725	}
49726	if ssrh.UnhealthyEvaluations != nil {
49727		objectMap["UnhealthyEvaluations"] = ssrh.UnhealthyEvaluations
49728	}
49729	if ssrh.HealthStatistics != nil {
49730		objectMap["HealthStatistics"] = ssrh.HealthStatistics
49731	}
49732	return json.Marshal(objectMap)
49733}
49734
49735// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49736func (ssrh StatefulServiceReplicaHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
49737	return &ssrh, true
49738}
49739
49740// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49741func (ssrh StatefulServiceReplicaHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
49742	return nil, false
49743}
49744
49745// AsReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49746func (ssrh StatefulServiceReplicaHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
49747	return nil, false
49748}
49749
49750// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatefulServiceReplicaHealth.
49751func (ssrh StatefulServiceReplicaHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
49752	return &ssrh, true
49753}
49754
49755// StatefulServiceReplicaHealthState represents the health state of the stateful service replica, which
49756// contains the replica ID and the aggregated health state.
49757type StatefulServiceReplicaHealthState struct {
49758	// 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.
49759	ReplicaID *string `json:"ReplicaId,omitempty"`
49760	// PartitionID - The ID of the partition to which this replica belongs.
49761	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
49762	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
49763	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
49764	// 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'
49765	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
49766}
49767
49768// MarshalJSON is the custom marshaler for StatefulServiceReplicaHealthState.
49769func (ssrhs StatefulServiceReplicaHealthState) MarshalJSON() ([]byte, error) {
49770	ssrhs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateful
49771	objectMap := make(map[string]interface{})
49772	if ssrhs.ReplicaID != nil {
49773		objectMap["ReplicaId"] = ssrhs.ReplicaID
49774	}
49775	if ssrhs.PartitionID != nil {
49776		objectMap["PartitionId"] = ssrhs.PartitionID
49777	}
49778	if ssrhs.ServiceKind != "" {
49779		objectMap["ServiceKind"] = ssrhs.ServiceKind
49780	}
49781	if ssrhs.AggregatedHealthState != "" {
49782		objectMap["AggregatedHealthState"] = ssrhs.AggregatedHealthState
49783	}
49784	return json.Marshal(objectMap)
49785}
49786
49787// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49788func (ssrhs StatefulServiceReplicaHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
49789	return &ssrhs, true
49790}
49791
49792// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49793func (ssrhs StatefulServiceReplicaHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
49794	return nil, false
49795}
49796
49797// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49798func (ssrhs StatefulServiceReplicaHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
49799	return nil, false
49800}
49801
49802// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatefulServiceReplicaHealthState.
49803func (ssrhs StatefulServiceReplicaHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
49804	return &ssrhs, true
49805}
49806
49807// StatefulServiceReplicaInfo represents a stateful service replica. This includes information about the
49808// identity, role, status, health, node name, uptime, and other details about the replica.
49809type StatefulServiceReplicaInfo struct {
49810	// ReplicaRole - The role of a replica of a stateful service. Possible values include: 'ReplicaRoleUnknown', 'ReplicaRoleNone', 'ReplicaRolePrimary', 'ReplicaRoleIdleSecondary', 'ReplicaRoleActiveSecondary'
49811	ReplicaRole ReplicaRole `json:"ReplicaRole,omitempty"`
49812	// 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.
49813	ReplicaID *string `json:"ReplicaId,omitempty"`
49814	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
49815	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
49816	// 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'
49817	HealthState HealthState `json:"HealthState,omitempty"`
49818	// NodeName - The name of a Service Fabric node.
49819	NodeName *string `json:"NodeName,omitempty"`
49820	// Address - The address the replica is listening on.
49821	Address *string `json:"Address,omitempty"`
49822	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
49823	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
49824	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
49825	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
49826}
49827
49828// MarshalJSON is the custom marshaler for StatefulServiceReplicaInfo.
49829func (ssri StatefulServiceReplicaInfo) MarshalJSON() ([]byte, error) {
49830	ssri.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateful
49831	objectMap := make(map[string]interface{})
49832	if ssri.ReplicaRole != "" {
49833		objectMap["ReplicaRole"] = ssri.ReplicaRole
49834	}
49835	if ssri.ReplicaID != nil {
49836		objectMap["ReplicaId"] = ssri.ReplicaID
49837	}
49838	if ssri.ReplicaStatus != "" {
49839		objectMap["ReplicaStatus"] = ssri.ReplicaStatus
49840	}
49841	if ssri.HealthState != "" {
49842		objectMap["HealthState"] = ssri.HealthState
49843	}
49844	if ssri.NodeName != nil {
49845		objectMap["NodeName"] = ssri.NodeName
49846	}
49847	if ssri.Address != nil {
49848		objectMap["Address"] = ssri.Address
49849	}
49850	if ssri.LastInBuildDurationInSeconds != nil {
49851		objectMap["LastInBuildDurationInSeconds"] = ssri.LastInBuildDurationInSeconds
49852	}
49853	if ssri.ServiceKind != "" {
49854		objectMap["ServiceKind"] = ssri.ServiceKind
49855	}
49856	return json.Marshal(objectMap)
49857}
49858
49859// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49860func (ssri StatefulServiceReplicaInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
49861	return &ssri, true
49862}
49863
49864// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49865func (ssri StatefulServiceReplicaInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
49866	return nil, false
49867}
49868
49869// AsReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49870func (ssri StatefulServiceReplicaInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
49871	return nil, false
49872}
49873
49874// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatefulServiceReplicaInfo.
49875func (ssri StatefulServiceReplicaInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
49876	return &ssri, true
49877}
49878
49879// StatefulServiceTypeDescription describes a stateful service type defined in the service manifest of a
49880// provisioned application type.
49881type StatefulServiceTypeDescription struct {
49882	// 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.
49883	HasPersistedState *bool `json:"HasPersistedState,omitempty"`
49884	// 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.
49885	IsStateful *bool `json:"IsStateful,omitempty"`
49886	// ServiceTypeName - Name of the service type as specified in the service manifest.
49887	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
49888	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
49889	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
49890	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
49891	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
49892	// ServicePlacementPolicies - List of service placement policy descriptions.
49893	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
49894	// Extensions - List of service type extensions.
49895	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
49896	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
49897	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
49898}
49899
49900// MarshalJSON is the custom marshaler for StatefulServiceTypeDescription.
49901func (sstd StatefulServiceTypeDescription) MarshalJSON() ([]byte, error) {
49902	sstd.Kind = KindStateful
49903	objectMap := make(map[string]interface{})
49904	if sstd.HasPersistedState != nil {
49905		objectMap["HasPersistedState"] = sstd.HasPersistedState
49906	}
49907	if sstd.IsStateful != nil {
49908		objectMap["IsStateful"] = sstd.IsStateful
49909	}
49910	if sstd.ServiceTypeName != nil {
49911		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
49912	}
49913	if sstd.PlacementConstraints != nil {
49914		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
49915	}
49916	if sstd.LoadMetrics != nil {
49917		objectMap["LoadMetrics"] = sstd.LoadMetrics
49918	}
49919	if sstd.ServicePlacementPolicies != nil {
49920		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
49921	}
49922	if sstd.Extensions != nil {
49923		objectMap["Extensions"] = sstd.Extensions
49924	}
49925	if sstd.Kind != "" {
49926		objectMap["Kind"] = sstd.Kind
49927	}
49928	return json.Marshal(objectMap)
49929}
49930
49931// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49932func (sstd StatefulServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
49933	return &sstd, true
49934}
49935
49936// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49937func (sstd StatefulServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
49938	return nil, false
49939}
49940
49941// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49942func (sstd StatefulServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
49943	return nil, false
49944}
49945
49946// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatefulServiceTypeDescription.
49947func (sstd StatefulServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
49948	return &sstd, true
49949}
49950
49951// UnmarshalJSON is the custom unmarshaler for StatefulServiceTypeDescription struct.
49952func (sstd *StatefulServiceTypeDescription) UnmarshalJSON(body []byte) error {
49953	var m map[string]*json.RawMessage
49954	err := json.Unmarshal(body, &m)
49955	if err != nil {
49956		return err
49957	}
49958	for k, v := range m {
49959		switch k {
49960		case "HasPersistedState":
49961			if v != nil {
49962				var hasPersistedState bool
49963				err = json.Unmarshal(*v, &hasPersistedState)
49964				if err != nil {
49965					return err
49966				}
49967				sstd.HasPersistedState = &hasPersistedState
49968			}
49969		case "IsStateful":
49970			if v != nil {
49971				var isStateful bool
49972				err = json.Unmarshal(*v, &isStateful)
49973				if err != nil {
49974					return err
49975				}
49976				sstd.IsStateful = &isStateful
49977			}
49978		case "ServiceTypeName":
49979			if v != nil {
49980				var serviceTypeName string
49981				err = json.Unmarshal(*v, &serviceTypeName)
49982				if err != nil {
49983					return err
49984				}
49985				sstd.ServiceTypeName = &serviceTypeName
49986			}
49987		case "PlacementConstraints":
49988			if v != nil {
49989				var placementConstraints string
49990				err = json.Unmarshal(*v, &placementConstraints)
49991				if err != nil {
49992					return err
49993				}
49994				sstd.PlacementConstraints = &placementConstraints
49995			}
49996		case "LoadMetrics":
49997			if v != nil {
49998				var loadMetrics []ServiceLoadMetricDescription
49999				err = json.Unmarshal(*v, &loadMetrics)
50000				if err != nil {
50001					return err
50002				}
50003				sstd.LoadMetrics = &loadMetrics
50004			}
50005		case "ServicePlacementPolicies":
50006			if v != nil {
50007				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
50008				if err != nil {
50009					return err
50010				}
50011				sstd.ServicePlacementPolicies = &servicePlacementPolicies
50012			}
50013		case "Extensions":
50014			if v != nil {
50015				var extensions []ServiceTypeExtensionDescription
50016				err = json.Unmarshal(*v, &extensions)
50017				if err != nil {
50018					return err
50019				}
50020				sstd.Extensions = &extensions
50021			}
50022		case "Kind":
50023			if v != nil {
50024				var kind KindBasicServiceTypeDescription
50025				err = json.Unmarshal(*v, &kind)
50026				if err != nil {
50027					return err
50028				}
50029				sstd.Kind = kind
50030			}
50031		}
50032	}
50033
50034	return nil
50035}
50036
50037// StatefulServiceUpdateDescription describes an update for a stateful service.
50038type StatefulServiceUpdateDescription struct {
50039	// TargetReplicaSetSize - The target replica set size as a number.
50040	TargetReplicaSetSize *int32 `json:"TargetReplicaSetSize,omitempty"`
50041	// MinReplicaSetSize - The minimum replica set size as a number.
50042	MinReplicaSetSize *int32 `json:"MinReplicaSetSize,omitempty"`
50043	// ReplicaRestartWaitDurationSeconds - The duration, in seconds, between when a replica goes down and when a new replica is created.
50044	ReplicaRestartWaitDurationSeconds *string `json:"ReplicaRestartWaitDurationSeconds,omitempty"`
50045	// QuorumLossWaitDurationSeconds - The maximum duration, in seconds, for which a partition is allowed to be in a state of quorum loss.
50046	QuorumLossWaitDurationSeconds *string `json:"QuorumLossWaitDurationSeconds,omitempty"`
50047	// StandByReplicaKeepDurationSeconds - The definition on how long StandBy replicas should be maintained before being removed.
50048	StandByReplicaKeepDurationSeconds *string `json:"StandByReplicaKeepDurationSeconds,omitempty"`
50049	// 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.
50050	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
50051	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
50052	// - None - Does not indicate any other properties are set. The value is zero.
50053	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
50054	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
50055	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
50056	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
50057	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
50058	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
50059	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
50060	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
50061	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
50062	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
50063	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
50064	Flags *string `json:"Flags,omitempty"`
50065	// 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)".
50066	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
50067	// CorrelationScheme - The correlation scheme.
50068	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
50069	// LoadMetrics - The service load metrics.
50070	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
50071	// ServicePlacementPolicies - The service placement policies.
50072	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
50073	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
50074	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
50075	// ScalingPolicies - Scaling policies for this service.
50076	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
50077	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
50078	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
50079}
50080
50081// MarshalJSON is the custom marshaler for StatefulServiceUpdateDescription.
50082func (ssud StatefulServiceUpdateDescription) MarshalJSON() ([]byte, error) {
50083	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateful
50084	objectMap := make(map[string]interface{})
50085	if ssud.TargetReplicaSetSize != nil {
50086		objectMap["TargetReplicaSetSize"] = ssud.TargetReplicaSetSize
50087	}
50088	if ssud.MinReplicaSetSize != nil {
50089		objectMap["MinReplicaSetSize"] = ssud.MinReplicaSetSize
50090	}
50091	if ssud.ReplicaRestartWaitDurationSeconds != nil {
50092		objectMap["ReplicaRestartWaitDurationSeconds"] = ssud.ReplicaRestartWaitDurationSeconds
50093	}
50094	if ssud.QuorumLossWaitDurationSeconds != nil {
50095		objectMap["QuorumLossWaitDurationSeconds"] = ssud.QuorumLossWaitDurationSeconds
50096	}
50097	if ssud.StandByReplicaKeepDurationSeconds != nil {
50098		objectMap["StandByReplicaKeepDurationSeconds"] = ssud.StandByReplicaKeepDurationSeconds
50099	}
50100	if ssud.Flags != nil {
50101		objectMap["Flags"] = ssud.Flags
50102	}
50103	if ssud.PlacementConstraints != nil {
50104		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
50105	}
50106	if ssud.CorrelationScheme != nil {
50107		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
50108	}
50109	if ssud.LoadMetrics != nil {
50110		objectMap["LoadMetrics"] = ssud.LoadMetrics
50111	}
50112	if ssud.ServicePlacementPolicies != nil {
50113		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
50114	}
50115	if ssud.DefaultMoveCost != "" {
50116		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
50117	}
50118	if ssud.ScalingPolicies != nil {
50119		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
50120	}
50121	if ssud.ServiceKind != "" {
50122		objectMap["ServiceKind"] = ssud.ServiceKind
50123	}
50124	return json.Marshal(objectMap)
50125}
50126
50127// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
50128func (ssud StatefulServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
50129	return &ssud, true
50130}
50131
50132// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
50133func (ssud StatefulServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
50134	return nil, false
50135}
50136
50137// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
50138func (ssud StatefulServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
50139	return nil, false
50140}
50141
50142// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatefulServiceUpdateDescription.
50143func (ssud StatefulServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
50144	return &ssud, true
50145}
50146
50147// UnmarshalJSON is the custom unmarshaler for StatefulServiceUpdateDescription struct.
50148func (ssud *StatefulServiceUpdateDescription) UnmarshalJSON(body []byte) error {
50149	var m map[string]*json.RawMessage
50150	err := json.Unmarshal(body, &m)
50151	if err != nil {
50152		return err
50153	}
50154	for k, v := range m {
50155		switch k {
50156		case "TargetReplicaSetSize":
50157			if v != nil {
50158				var targetReplicaSetSize int32
50159				err = json.Unmarshal(*v, &targetReplicaSetSize)
50160				if err != nil {
50161					return err
50162				}
50163				ssud.TargetReplicaSetSize = &targetReplicaSetSize
50164			}
50165		case "MinReplicaSetSize":
50166			if v != nil {
50167				var minReplicaSetSize int32
50168				err = json.Unmarshal(*v, &minReplicaSetSize)
50169				if err != nil {
50170					return err
50171				}
50172				ssud.MinReplicaSetSize = &minReplicaSetSize
50173			}
50174		case "ReplicaRestartWaitDurationSeconds":
50175			if v != nil {
50176				var replicaRestartWaitDurationSeconds string
50177				err = json.Unmarshal(*v, &replicaRestartWaitDurationSeconds)
50178				if err != nil {
50179					return err
50180				}
50181				ssud.ReplicaRestartWaitDurationSeconds = &replicaRestartWaitDurationSeconds
50182			}
50183		case "QuorumLossWaitDurationSeconds":
50184			if v != nil {
50185				var quorumLossWaitDurationSeconds string
50186				err = json.Unmarshal(*v, &quorumLossWaitDurationSeconds)
50187				if err != nil {
50188					return err
50189				}
50190				ssud.QuorumLossWaitDurationSeconds = &quorumLossWaitDurationSeconds
50191			}
50192		case "StandByReplicaKeepDurationSeconds":
50193			if v != nil {
50194				var standByReplicaKeepDurationSeconds string
50195				err = json.Unmarshal(*v, &standByReplicaKeepDurationSeconds)
50196				if err != nil {
50197					return err
50198				}
50199				ssud.StandByReplicaKeepDurationSeconds = &standByReplicaKeepDurationSeconds
50200			}
50201		case "Flags":
50202			if v != nil {
50203				var flags string
50204				err = json.Unmarshal(*v, &flags)
50205				if err != nil {
50206					return err
50207				}
50208				ssud.Flags = &flags
50209			}
50210		case "PlacementConstraints":
50211			if v != nil {
50212				var placementConstraints string
50213				err = json.Unmarshal(*v, &placementConstraints)
50214				if err != nil {
50215					return err
50216				}
50217				ssud.PlacementConstraints = &placementConstraints
50218			}
50219		case "CorrelationScheme":
50220			if v != nil {
50221				var correlationScheme []ServiceCorrelationDescription
50222				err = json.Unmarshal(*v, &correlationScheme)
50223				if err != nil {
50224					return err
50225				}
50226				ssud.CorrelationScheme = &correlationScheme
50227			}
50228		case "LoadMetrics":
50229			if v != nil {
50230				var loadMetrics []ServiceLoadMetricDescription
50231				err = json.Unmarshal(*v, &loadMetrics)
50232				if err != nil {
50233					return err
50234				}
50235				ssud.LoadMetrics = &loadMetrics
50236			}
50237		case "ServicePlacementPolicies":
50238			if v != nil {
50239				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
50240				if err != nil {
50241					return err
50242				}
50243				ssud.ServicePlacementPolicies = &servicePlacementPolicies
50244			}
50245		case "DefaultMoveCost":
50246			if v != nil {
50247				var defaultMoveCost MoveCost
50248				err = json.Unmarshal(*v, &defaultMoveCost)
50249				if err != nil {
50250					return err
50251				}
50252				ssud.DefaultMoveCost = defaultMoveCost
50253			}
50254		case "ScalingPolicies":
50255			if v != nil {
50256				var scalingPolicies []ScalingPolicyDescription
50257				err = json.Unmarshal(*v, &scalingPolicies)
50258				if err != nil {
50259					return err
50260				}
50261				ssud.ScalingPolicies = &scalingPolicies
50262			}
50263		case "ServiceKind":
50264			if v != nil {
50265				var serviceKind ServiceKindBasicServiceUpdateDescription
50266				err = json.Unmarshal(*v, &serviceKind)
50267				if err != nil {
50268					return err
50269				}
50270				ssud.ServiceKind = serviceKind
50271			}
50272		}
50273	}
50274
50275	return nil
50276}
50277
50278// StatelessReplicaHealthReportCreatedEvent stateless Replica Health Report Created event.
50279type StatelessReplicaHealthReportCreatedEvent struct {
50280	// SourceID - Id of report source.
50281	SourceID *string `json:"SourceId,omitempty"`
50282	// Property - Describes the property.
50283	Property *string `json:"Property,omitempty"`
50284	// HealthState - Describes the property health state.
50285	HealthState *string `json:"HealthState,omitempty"`
50286	// TimeToLiveMs - Time to live in milli-seconds.
50287	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
50288	// SequenceNumber - Sequence number of report.
50289	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
50290	// Description - Description of report.
50291	Description *string `json:"Description,omitempty"`
50292	// RemoveWhenExpired - Indicates the removal when it expires.
50293	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
50294	// SourceUtcTimestamp - Source time.
50295	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
50296	// 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.
50297	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50298	// 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.
50299	ReplicaID *int64 `json:"ReplicaId,omitempty"`
50300	// EventInstanceID - The identifier for the FabricEvent instance.
50301	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
50302	// TimeStamp - The time event was logged.
50303	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
50304	// HasCorrelatedEvents - Shows there is existing related events available.
50305	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
50306	// 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'
50307	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
50308}
50309
50310// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportCreatedEvent.
50311func (srhrce StatelessReplicaHealthReportCreatedEvent) MarshalJSON() ([]byte, error) {
50312	srhrce.Kind = KindStatelessReplicaHealthReportCreated
50313	objectMap := make(map[string]interface{})
50314	if srhrce.SourceID != nil {
50315		objectMap["SourceId"] = srhrce.SourceID
50316	}
50317	if srhrce.Property != nil {
50318		objectMap["Property"] = srhrce.Property
50319	}
50320	if srhrce.HealthState != nil {
50321		objectMap["HealthState"] = srhrce.HealthState
50322	}
50323	if srhrce.TimeToLiveMs != nil {
50324		objectMap["TimeToLiveMs"] = srhrce.TimeToLiveMs
50325	}
50326	if srhrce.SequenceNumber != nil {
50327		objectMap["SequenceNumber"] = srhrce.SequenceNumber
50328	}
50329	if srhrce.Description != nil {
50330		objectMap["Description"] = srhrce.Description
50331	}
50332	if srhrce.RemoveWhenExpired != nil {
50333		objectMap["RemoveWhenExpired"] = srhrce.RemoveWhenExpired
50334	}
50335	if srhrce.SourceUtcTimestamp != nil {
50336		objectMap["SourceUtcTimestamp"] = srhrce.SourceUtcTimestamp
50337	}
50338	if srhrce.PartitionID != nil {
50339		objectMap["PartitionId"] = srhrce.PartitionID
50340	}
50341	if srhrce.ReplicaID != nil {
50342		objectMap["ReplicaId"] = srhrce.ReplicaID
50343	}
50344	if srhrce.EventInstanceID != nil {
50345		objectMap["EventInstanceId"] = srhrce.EventInstanceID
50346	}
50347	if srhrce.TimeStamp != nil {
50348		objectMap["TimeStamp"] = srhrce.TimeStamp
50349	}
50350	if srhrce.HasCorrelatedEvents != nil {
50351		objectMap["HasCorrelatedEvents"] = srhrce.HasCorrelatedEvents
50352	}
50353	if srhrce.Kind != "" {
50354		objectMap["Kind"] = srhrce.Kind
50355	}
50356	return json.Marshal(objectMap)
50357}
50358
50359// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50360func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
50361	return nil, false
50362}
50363
50364// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50365func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
50366	return nil, false
50367}
50368
50369// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50370func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterEvent() (*ClusterEvent, bool) {
50371	return nil, false
50372}
50373
50374// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50375func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
50376	return nil, false
50377}
50378
50379// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50380func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
50381	return nil, false
50382}
50383
50384// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50385func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeEvent() (*NodeEvent, bool) {
50386	return nil, false
50387}
50388
50389// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50390func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
50391	return nil, false
50392}
50393
50394// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50395func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
50396	return nil, false
50397}
50398
50399// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50400func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
50401	return nil, false
50402}
50403
50404// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50405func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionEvent() (*PartitionEvent, bool) {
50406	return nil, false
50407}
50408
50409// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50410func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
50411	return nil, false
50412}
50413
50414// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50415func (srhrce StatelessReplicaHealthReportCreatedEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
50416	return nil, false
50417}
50418
50419// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50420func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
50421	return &srhrce, true
50422}
50423
50424// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50425func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceEvent() (*ServiceEvent, bool) {
50426	return nil, false
50427}
50428
50429// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50430func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
50431	return nil, false
50432}
50433
50434// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50435func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
50436	return nil, false
50437}
50438
50439// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50440func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
50441	return nil, false
50442}
50443
50444// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50445func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
50446	return nil, false
50447}
50448
50449// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50450func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
50451	return nil, false
50452}
50453
50454// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50455func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
50456	return nil, false
50457}
50458
50459// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50460func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
50461	return nil, false
50462}
50463
50464// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50465func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
50466	return nil, false
50467}
50468
50469// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50470func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
50471	return nil, false
50472}
50473
50474// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50475func (srhrce StatelessReplicaHealthReportCreatedEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
50476	return nil, false
50477}
50478
50479// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50480func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
50481	return nil, false
50482}
50483
50484// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50485func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
50486	return nil, false
50487}
50488
50489// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50490func (srhrce StatelessReplicaHealthReportCreatedEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
50491	return nil, false
50492}
50493
50494// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50495func (srhrce StatelessReplicaHealthReportCreatedEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
50496	return nil, false
50497}
50498
50499// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50500func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
50501	return nil, false
50502}
50503
50504// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50505func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
50506	return nil, false
50507}
50508
50509// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50510func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
50511	return nil, false
50512}
50513
50514// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50515func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
50516	return nil, false
50517}
50518
50519// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50520func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
50521	return nil, false
50522}
50523
50524// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50525func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
50526	return nil, false
50527}
50528
50529// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50530func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
50531	return nil, false
50532}
50533
50534// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50535func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
50536	return nil, false
50537}
50538
50539// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50540func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
50541	return nil, false
50542}
50543
50544// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50545func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
50546	return nil, false
50547}
50548
50549// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50550func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
50551	return nil, false
50552}
50553
50554// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50555func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
50556	return nil, false
50557}
50558
50559// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50560func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
50561	return nil, false
50562}
50563
50564// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50565func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
50566	return nil, false
50567}
50568
50569// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50570func (srhrce StatelessReplicaHealthReportCreatedEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
50571	return nil, false
50572}
50573
50574// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50575func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
50576	return nil, false
50577}
50578
50579// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50580func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
50581	return nil, false
50582}
50583
50584// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50585func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
50586	return nil, false
50587}
50588
50589// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50590func (srhrce StatelessReplicaHealthReportCreatedEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
50591	return nil, false
50592}
50593
50594// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50595func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
50596	return nil, false
50597}
50598
50599// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50600func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
50601	return nil, false
50602}
50603
50604// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50605func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
50606	return nil, false
50607}
50608
50609// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50610func (srhrce StatelessReplicaHealthReportCreatedEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
50611	return nil, false
50612}
50613
50614// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50615func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
50616	return nil, false
50617}
50618
50619// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50620func (srhrce StatelessReplicaHealthReportCreatedEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
50621	return nil, false
50622}
50623
50624// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50625func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
50626	return nil, false
50627}
50628
50629// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50630func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
50631	return nil, false
50632}
50633
50634// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50635func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
50636	return &srhrce, true
50637}
50638
50639// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50640func (srhrce StatelessReplicaHealthReportCreatedEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
50641	return nil, false
50642}
50643
50644// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50645func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
50646	return nil, false
50647}
50648
50649// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50650func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
50651	return nil, false
50652}
50653
50654// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50655func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
50656	return nil, false
50657}
50658
50659// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50660func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
50661	return nil, false
50662}
50663
50664// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50665func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
50666	return nil, false
50667}
50668
50669// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50670func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
50671	return nil, false
50672}
50673
50674// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50675func (srhrce StatelessReplicaHealthReportCreatedEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
50676	return nil, false
50677}
50678
50679// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50680func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
50681	return nil, false
50682}
50683
50684// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50685func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
50686	return nil, false
50687}
50688
50689// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50690func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
50691	return nil, false
50692}
50693
50694// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50695func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
50696	return nil, false
50697}
50698
50699// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50700func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
50701	return nil, false
50702}
50703
50704// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50705func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
50706	return nil, false
50707}
50708
50709// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50710func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
50711	return nil, false
50712}
50713
50714// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50715func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
50716	return nil, false
50717}
50718
50719// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50720func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
50721	return nil, false
50722}
50723
50724// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50725func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
50726	return nil, false
50727}
50728
50729// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50730func (srhrce StatelessReplicaHealthReportCreatedEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
50731	return nil, false
50732}
50733
50734// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50735func (srhrce StatelessReplicaHealthReportCreatedEvent) AsFabricEvent() (*FabricEvent, bool) {
50736	return nil, false
50737}
50738
50739// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportCreatedEvent.
50740func (srhrce StatelessReplicaHealthReportCreatedEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
50741	return &srhrce, true
50742}
50743
50744// StatelessReplicaHealthReportExpiredEvent stateless Replica Health Report Expired event.
50745type StatelessReplicaHealthReportExpiredEvent struct {
50746	// SourceID - Id of report source.
50747	SourceID *string `json:"SourceId,omitempty"`
50748	// Property - Describes the property.
50749	Property *string `json:"Property,omitempty"`
50750	// HealthState - Describes the property health state.
50751	HealthState *string `json:"HealthState,omitempty"`
50752	// TimeToLiveMs - Time to live in milli-seconds.
50753	TimeToLiveMs *int64 `json:"TimeToLiveMs,omitempty"`
50754	// SequenceNumber - Sequence number of report.
50755	SequenceNumber *int64 `json:"SequenceNumber,omitempty"`
50756	// Description - Description of report.
50757	Description *string `json:"Description,omitempty"`
50758	// RemoveWhenExpired - Indicates the removal when it expires.
50759	RemoveWhenExpired *bool `json:"RemoveWhenExpired,omitempty"`
50760	// SourceUtcTimestamp - Source time.
50761	SourceUtcTimestamp *date.Time `json:"SourceUtcTimestamp,omitempty"`
50762	// 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.
50763	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
50764	// 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.
50765	ReplicaID *int64 `json:"ReplicaId,omitempty"`
50766	// EventInstanceID - The identifier for the FabricEvent instance.
50767	EventInstanceID *uuid.UUID `json:"EventInstanceId,omitempty"`
50768	// TimeStamp - The time event was logged.
50769	TimeStamp *date.Time `json:"TimeStamp,omitempty"`
50770	// HasCorrelatedEvents - Shows there is existing related events available.
50771	HasCorrelatedEvents *bool `json:"HasCorrelatedEvents,omitempty"`
50772	// 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'
50773	Kind KindBasicFabricEvent `json:"Kind,omitempty"`
50774}
50775
50776// MarshalJSON is the custom marshaler for StatelessReplicaHealthReportExpiredEvent.
50777func (srhree StatelessReplicaHealthReportExpiredEvent) MarshalJSON() ([]byte, error) {
50778	srhree.Kind = KindStatelessReplicaHealthReportExpired
50779	objectMap := make(map[string]interface{})
50780	if srhree.SourceID != nil {
50781		objectMap["SourceId"] = srhree.SourceID
50782	}
50783	if srhree.Property != nil {
50784		objectMap["Property"] = srhree.Property
50785	}
50786	if srhree.HealthState != nil {
50787		objectMap["HealthState"] = srhree.HealthState
50788	}
50789	if srhree.TimeToLiveMs != nil {
50790		objectMap["TimeToLiveMs"] = srhree.TimeToLiveMs
50791	}
50792	if srhree.SequenceNumber != nil {
50793		objectMap["SequenceNumber"] = srhree.SequenceNumber
50794	}
50795	if srhree.Description != nil {
50796		objectMap["Description"] = srhree.Description
50797	}
50798	if srhree.RemoveWhenExpired != nil {
50799		objectMap["RemoveWhenExpired"] = srhree.RemoveWhenExpired
50800	}
50801	if srhree.SourceUtcTimestamp != nil {
50802		objectMap["SourceUtcTimestamp"] = srhree.SourceUtcTimestamp
50803	}
50804	if srhree.PartitionID != nil {
50805		objectMap["PartitionId"] = srhree.PartitionID
50806	}
50807	if srhree.ReplicaID != nil {
50808		objectMap["ReplicaId"] = srhree.ReplicaID
50809	}
50810	if srhree.EventInstanceID != nil {
50811		objectMap["EventInstanceId"] = srhree.EventInstanceID
50812	}
50813	if srhree.TimeStamp != nil {
50814		objectMap["TimeStamp"] = srhree.TimeStamp
50815	}
50816	if srhree.HasCorrelatedEvents != nil {
50817		objectMap["HasCorrelatedEvents"] = srhree.HasCorrelatedEvents
50818	}
50819	if srhree.Kind != "" {
50820		objectMap["Kind"] = srhree.Kind
50821	}
50822	return json.Marshal(objectMap)
50823}
50824
50825// AsApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50826func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationEvent() (*ApplicationEvent, bool) {
50827	return nil, false
50828}
50829
50830// AsBasicApplicationEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50831func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicApplicationEvent() (BasicApplicationEvent, bool) {
50832	return nil, false
50833}
50834
50835// AsClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50836func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterEvent() (*ClusterEvent, bool) {
50837	return nil, false
50838}
50839
50840// AsBasicClusterEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50841func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicClusterEvent() (BasicClusterEvent, bool) {
50842	return nil, false
50843}
50844
50845// AsContainerInstanceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50846func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerInstanceEvent() (*ContainerInstanceEvent, bool) {
50847	return nil, false
50848}
50849
50850// AsNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50851func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeEvent() (*NodeEvent, bool) {
50852	return nil, false
50853}
50854
50855// AsBasicNodeEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50856func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicNodeEvent() (BasicNodeEvent, bool) {
50857	return nil, false
50858}
50859
50860// AsPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50861func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionAnalysisEvent() (*PartitionAnalysisEvent, bool) {
50862	return nil, false
50863}
50864
50865// AsBasicPartitionAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50866func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionAnalysisEvent() (BasicPartitionAnalysisEvent, bool) {
50867	return nil, false
50868}
50869
50870// AsPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50871func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionEvent() (*PartitionEvent, bool) {
50872	return nil, false
50873}
50874
50875// AsBasicPartitionEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50876func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicPartitionEvent() (BasicPartitionEvent, bool) {
50877	return nil, false
50878}
50879
50880// AsReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50881func (srhree StatelessReplicaHealthReportExpiredEvent) AsReplicaEvent() (*ReplicaEvent, bool) {
50882	return nil, false
50883}
50884
50885// AsBasicReplicaEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50886func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicReplicaEvent() (BasicReplicaEvent, bool) {
50887	return &srhree, true
50888}
50889
50890// AsServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50891func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceEvent() (*ServiceEvent, bool) {
50892	return nil, false
50893}
50894
50895// AsBasicServiceEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50896func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicServiceEvent() (BasicServiceEvent, bool) {
50897	return nil, false
50898}
50899
50900// AsApplicationCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50901func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationCreatedEvent() (*ApplicationCreatedEvent, bool) {
50902	return nil, false
50903}
50904
50905// AsApplicationDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50906func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationDeletedEvent() (*ApplicationDeletedEvent, bool) {
50907	return nil, false
50908}
50909
50910// AsApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50911func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportCreatedEvent() (*ApplicationHealthReportCreatedEvent, bool) {
50912	return nil, false
50913}
50914
50915// AsApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50916func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationHealthReportExpiredEvent() (*ApplicationHealthReportExpiredEvent, bool) {
50917	return nil, false
50918}
50919
50920// AsApplicationUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50921func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeCompleteEvent() (*ApplicationUpgradeCompleteEvent, bool) {
50922	return nil, false
50923}
50924
50925// AsApplicationUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50926func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeDomainCompleteEvent() (*ApplicationUpgradeDomainCompleteEvent, bool) {
50927	return nil, false
50928}
50929
50930// AsApplicationUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50931func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackCompleteEvent() (*ApplicationUpgradeRollbackCompleteEvent, bool) {
50932	return nil, false
50933}
50934
50935// AsApplicationUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50936func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeRollbackStartEvent() (*ApplicationUpgradeRollbackStartEvent, bool) {
50937	return nil, false
50938}
50939
50940// AsApplicationUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50941func (srhree StatelessReplicaHealthReportExpiredEvent) AsApplicationUpgradeStartEvent() (*ApplicationUpgradeStartEvent, bool) {
50942	return nil, false
50943}
50944
50945// AsDeployedApplicationHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50946func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportCreatedEvent() (*DeployedApplicationHealthReportCreatedEvent, bool) {
50947	return nil, false
50948}
50949
50950// AsDeployedApplicationHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50951func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedApplicationHealthReportExpiredEvent() (*DeployedApplicationHealthReportExpiredEvent, bool) {
50952	return nil, false
50953}
50954
50955// AsProcessDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50956func (srhree StatelessReplicaHealthReportExpiredEvent) AsProcessDeactivatedEvent() (*ProcessDeactivatedEvent, bool) {
50957	return nil, false
50958}
50959
50960// AsContainerDeactivatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50961func (srhree StatelessReplicaHealthReportExpiredEvent) AsContainerDeactivatedEvent() (*ContainerDeactivatedEvent, bool) {
50962	return nil, false
50963}
50964
50965// AsNodeAbortedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50966func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortedEvent() (*NodeAbortedEvent, bool) {
50967	return nil, false
50968}
50969
50970// AsNodeAbortingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50971func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAbortingEvent() (*NodeAbortingEvent, bool) {
50972	return nil, false
50973}
50974
50975// AsNodeAddedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50976func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeAddedEvent() (*NodeAddedEvent, bool) {
50977	return nil, false
50978}
50979
50980// AsNodeCloseEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50981func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeCloseEvent() (*NodeCloseEvent, bool) {
50982	return nil, false
50983}
50984
50985// AsNodeClosingEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50986func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeClosingEvent() (*NodeClosingEvent, bool) {
50987	return nil, false
50988}
50989
50990// AsNodeDeactivateCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50991func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateCompleteEvent() (*NodeDeactivateCompleteEvent, bool) {
50992	return nil, false
50993}
50994
50995// AsNodeDeactivateStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
50996func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDeactivateStartEvent() (*NodeDeactivateStartEvent, bool) {
50997	return nil, false
50998}
50999
51000// AsNodeDownEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51001func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeDownEvent() (*NodeDownEvent, bool) {
51002	return nil, false
51003}
51004
51005// AsNodeHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51006func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportCreatedEvent() (*NodeHealthReportCreatedEvent, bool) {
51007	return nil, false
51008}
51009
51010// AsNodeHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51011func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeHealthReportExpiredEvent() (*NodeHealthReportExpiredEvent, bool) {
51012	return nil, false
51013}
51014
51015// AsNodeOpenedSuccessEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51016func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenedSuccessEvent() (*NodeOpenedSuccessEvent, bool) {
51017	return nil, false
51018}
51019
51020// AsNodeOpenFailedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51021func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpenFailedEvent() (*NodeOpenFailedEvent, bool) {
51022	return nil, false
51023}
51024
51025// AsNodeOpeningEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51026func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeOpeningEvent() (*NodeOpeningEvent, bool) {
51027	return nil, false
51028}
51029
51030// AsNodeRemovedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51031func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeRemovedEvent() (*NodeRemovedEvent, bool) {
51032	return nil, false
51033}
51034
51035// AsNodeUpEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51036func (srhree StatelessReplicaHealthReportExpiredEvent) AsNodeUpEvent() (*NodeUpEvent, bool) {
51037	return nil, false
51038}
51039
51040// AsPartitionHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51041func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportCreatedEvent() (*PartitionHealthReportCreatedEvent, bool) {
51042	return nil, false
51043}
51044
51045// AsPartitionHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51046func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionHealthReportExpiredEvent() (*PartitionHealthReportExpiredEvent, bool) {
51047	return nil, false
51048}
51049
51050// AsPartitionReconfigurationCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51051func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionReconfigurationCompletedEvent() (*PartitionReconfigurationCompletedEvent, bool) {
51052	return nil, false
51053}
51054
51055// AsPartitionPrimaryMoveAnalysisEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51056func (srhree StatelessReplicaHealthReportExpiredEvent) AsPartitionPrimaryMoveAnalysisEvent() (*PartitionPrimaryMoveAnalysisEvent, bool) {
51057	return nil, false
51058}
51059
51060// AsServiceCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51061func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceCreatedEvent() (*ServiceCreatedEvent, bool) {
51062	return nil, false
51063}
51064
51065// AsServiceDeletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51066func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceDeletedEvent() (*ServiceDeletedEvent, bool) {
51067	return nil, false
51068}
51069
51070// AsServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51071func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportCreatedEvent() (*ServiceHealthReportCreatedEvent, bool) {
51072	return nil, false
51073}
51074
51075// AsServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51076func (srhree StatelessReplicaHealthReportExpiredEvent) AsServiceHealthReportExpiredEvent() (*ServiceHealthReportExpiredEvent, bool) {
51077	return nil, false
51078}
51079
51080// AsDeployedServiceHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51081func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportCreatedEvent() (*DeployedServiceHealthReportCreatedEvent, bool) {
51082	return nil, false
51083}
51084
51085// AsDeployedServiceHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51086func (srhree StatelessReplicaHealthReportExpiredEvent) AsDeployedServiceHealthReportExpiredEvent() (*DeployedServiceHealthReportExpiredEvent, bool) {
51087	return nil, false
51088}
51089
51090// AsStatefulReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51091func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportCreatedEvent() (*StatefulReplicaHealthReportCreatedEvent, bool) {
51092	return nil, false
51093}
51094
51095// AsStatefulReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51096func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatefulReplicaHealthReportExpiredEvent() (*StatefulReplicaHealthReportExpiredEvent, bool) {
51097	return nil, false
51098}
51099
51100// AsStatelessReplicaHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51101func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportCreatedEvent() (*StatelessReplicaHealthReportCreatedEvent, bool) {
51102	return nil, false
51103}
51104
51105// AsStatelessReplicaHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51106func (srhree StatelessReplicaHealthReportExpiredEvent) AsStatelessReplicaHealthReportExpiredEvent() (*StatelessReplicaHealthReportExpiredEvent, bool) {
51107	return &srhree, true
51108}
51109
51110// AsClusterHealthReportCreatedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51111func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportCreatedEvent() (*ClusterHealthReportCreatedEvent, bool) {
51112	return nil, false
51113}
51114
51115// AsClusterHealthReportExpiredEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51116func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterHealthReportExpiredEvent() (*ClusterHealthReportExpiredEvent, bool) {
51117	return nil, false
51118}
51119
51120// AsClusterUpgradeCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51121func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeCompleteEvent() (*ClusterUpgradeCompleteEvent, bool) {
51122	return nil, false
51123}
51124
51125// AsClusterUpgradeDomainCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51126func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeDomainCompleteEvent() (*ClusterUpgradeDomainCompleteEvent, bool) {
51127	return nil, false
51128}
51129
51130// AsClusterUpgradeRollbackCompleteEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51131func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackCompleteEvent() (*ClusterUpgradeRollbackCompleteEvent, bool) {
51132	return nil, false
51133}
51134
51135// AsClusterUpgradeRollbackStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51136func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeRollbackStartEvent() (*ClusterUpgradeRollbackStartEvent, bool) {
51137	return nil, false
51138}
51139
51140// AsClusterUpgradeStartEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51141func (srhree StatelessReplicaHealthReportExpiredEvent) AsClusterUpgradeStartEvent() (*ClusterUpgradeStartEvent, bool) {
51142	return nil, false
51143}
51144
51145// AsChaosStoppedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51146func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStoppedEvent() (*ChaosStoppedEvent, bool) {
51147	return nil, false
51148}
51149
51150// AsChaosStartedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51151func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosStartedEvent() (*ChaosStartedEvent, bool) {
51152	return nil, false
51153}
51154
51155// AsChaosRestartNodeFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51156func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultCompletedEvent() (*ChaosRestartNodeFaultCompletedEvent, bool) {
51157	return nil, false
51158}
51159
51160// AsChaosRestartCodePackageFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51161func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultScheduledEvent() (*ChaosRestartCodePackageFaultScheduledEvent, bool) {
51162	return nil, false
51163}
51164
51165// AsChaosRestartCodePackageFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51166func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartCodePackageFaultCompletedEvent() (*ChaosRestartCodePackageFaultCompletedEvent, bool) {
51167	return nil, false
51168}
51169
51170// AsChaosRemoveReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51171func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultScheduledEvent() (*ChaosRemoveReplicaFaultScheduledEvent, bool) {
51172	return nil, false
51173}
51174
51175// AsChaosRemoveReplicaFaultCompletedEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51176func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRemoveReplicaFaultCompletedEvent() (*ChaosRemoveReplicaFaultCompletedEvent, bool) {
51177	return nil, false
51178}
51179
51180// AsChaosMoveSecondaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51181func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMoveSecondaryFaultScheduledEvent() (*ChaosMoveSecondaryFaultScheduledEvent, bool) {
51182	return nil, false
51183}
51184
51185// AsChaosMovePrimaryFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51186func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosMovePrimaryFaultScheduledEvent() (*ChaosMovePrimaryFaultScheduledEvent, bool) {
51187	return nil, false
51188}
51189
51190// AsChaosRestartReplicaFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51191func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartReplicaFaultScheduledEvent() (*ChaosRestartReplicaFaultScheduledEvent, bool) {
51192	return nil, false
51193}
51194
51195// AsChaosRestartNodeFaultScheduledEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51196func (srhree StatelessReplicaHealthReportExpiredEvent) AsChaosRestartNodeFaultScheduledEvent() (*ChaosRestartNodeFaultScheduledEvent, bool) {
51197	return nil, false
51198}
51199
51200// AsFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51201func (srhree StatelessReplicaHealthReportExpiredEvent) AsFabricEvent() (*FabricEvent, bool) {
51202	return nil, false
51203}
51204
51205// AsBasicFabricEvent is the BasicFabricEvent implementation for StatelessReplicaHealthReportExpiredEvent.
51206func (srhree StatelessReplicaHealthReportExpiredEvent) AsBasicFabricEvent() (BasicFabricEvent, bool) {
51207	return &srhree, true
51208}
51209
51210// StatelessServiceDescription describes a stateless service.
51211type StatelessServiceDescription struct {
51212	// InstanceCount - The instance count.
51213	InstanceCount *int32 `json:"InstanceCount,omitempty"`
51214	// ApplicationName - The name of the application, including the 'fabric:' URI scheme.
51215	ApplicationName *string `json:"ApplicationName,omitempty"`
51216	// ServiceName - The full name of the service with 'fabric:' URI scheme.
51217	ServiceName *string `json:"ServiceName,omitempty"`
51218	// ServiceTypeName - Name of the service type as specified in the service manifest.
51219	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
51220	// InitializationData - The initialization data as an array of bytes. Initialization data is passed to service instances or replicas when they are created.
51221	InitializationData *[]int32 `json:"InitializationData,omitempty"`
51222	// PartitionDescription - The partition description as an object.
51223	PartitionDescription BasicPartitionSchemeDescription `json:"PartitionDescription,omitempty"`
51224	// 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)".
51225	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
51226	// CorrelationScheme - The correlation scheme.
51227	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
51228	// ServiceLoadMetrics - The service load metrics.
51229	ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"ServiceLoadMetrics,omitempty"`
51230	// ServicePlacementPolicies - The service placement policies.
51231	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
51232	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
51233	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
51234	// IsDefaultMoveCostSpecified - Indicates if the DefaultMoveCost property is specified.
51235	IsDefaultMoveCostSpecified *bool `json:"IsDefaultMoveCostSpecified,omitempty"`
51236	// ServicePackageActivationMode - The activation mode of service package to be used for a service. Possible values include: 'SharedProcess', 'ExclusiveProcess'
51237	ServicePackageActivationMode ServicePackageActivationMode `json:"ServicePackageActivationMode,omitempty"`
51238	// ServiceDNSName - The DNS name of the service. It requires the DNS system service to be enabled in Service Fabric cluster.
51239	ServiceDNSName *string `json:"ServiceDnsName,omitempty"`
51240	// ScalingPolicies - Scaling policies for this service.
51241	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
51242	// ServiceKind - Possible values include: 'ServiceKindBasicServiceDescriptionServiceKindServiceDescription', 'ServiceKindBasicServiceDescriptionServiceKindStateful', 'ServiceKindBasicServiceDescriptionServiceKindStateless'
51243	ServiceKind ServiceKindBasicServiceDescription `json:"ServiceKind,omitempty"`
51244}
51245
51246// MarshalJSON is the custom marshaler for StatelessServiceDescription.
51247func (ssd StatelessServiceDescription) MarshalJSON() ([]byte, error) {
51248	ssd.ServiceKind = ServiceKindBasicServiceDescriptionServiceKindStateless
51249	objectMap := make(map[string]interface{})
51250	if ssd.InstanceCount != nil {
51251		objectMap["InstanceCount"] = ssd.InstanceCount
51252	}
51253	if ssd.ApplicationName != nil {
51254		objectMap["ApplicationName"] = ssd.ApplicationName
51255	}
51256	if ssd.ServiceName != nil {
51257		objectMap["ServiceName"] = ssd.ServiceName
51258	}
51259	if ssd.ServiceTypeName != nil {
51260		objectMap["ServiceTypeName"] = ssd.ServiceTypeName
51261	}
51262	if ssd.InitializationData != nil {
51263		objectMap["InitializationData"] = ssd.InitializationData
51264	}
51265	objectMap["PartitionDescription"] = ssd.PartitionDescription
51266	if ssd.PlacementConstraints != nil {
51267		objectMap["PlacementConstraints"] = ssd.PlacementConstraints
51268	}
51269	if ssd.CorrelationScheme != nil {
51270		objectMap["CorrelationScheme"] = ssd.CorrelationScheme
51271	}
51272	if ssd.ServiceLoadMetrics != nil {
51273		objectMap["ServiceLoadMetrics"] = ssd.ServiceLoadMetrics
51274	}
51275	if ssd.ServicePlacementPolicies != nil {
51276		objectMap["ServicePlacementPolicies"] = ssd.ServicePlacementPolicies
51277	}
51278	if ssd.DefaultMoveCost != "" {
51279		objectMap["DefaultMoveCost"] = ssd.DefaultMoveCost
51280	}
51281	if ssd.IsDefaultMoveCostSpecified != nil {
51282		objectMap["IsDefaultMoveCostSpecified"] = ssd.IsDefaultMoveCostSpecified
51283	}
51284	if ssd.ServicePackageActivationMode != "" {
51285		objectMap["ServicePackageActivationMode"] = ssd.ServicePackageActivationMode
51286	}
51287	if ssd.ServiceDNSName != nil {
51288		objectMap["ServiceDnsName"] = ssd.ServiceDNSName
51289	}
51290	if ssd.ScalingPolicies != nil {
51291		objectMap["ScalingPolicies"] = ssd.ScalingPolicies
51292	}
51293	if ssd.ServiceKind != "" {
51294		objectMap["ServiceKind"] = ssd.ServiceKind
51295	}
51296	return json.Marshal(objectMap)
51297}
51298
51299// AsStatefulServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
51300func (ssd StatelessServiceDescription) AsStatefulServiceDescription() (*StatefulServiceDescription, bool) {
51301	return nil, false
51302}
51303
51304// AsStatelessServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
51305func (ssd StatelessServiceDescription) AsStatelessServiceDescription() (*StatelessServiceDescription, bool) {
51306	return &ssd, true
51307}
51308
51309// AsServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
51310func (ssd StatelessServiceDescription) AsServiceDescription() (*ServiceDescription, bool) {
51311	return nil, false
51312}
51313
51314// AsBasicServiceDescription is the BasicServiceDescription implementation for StatelessServiceDescription.
51315func (ssd StatelessServiceDescription) AsBasicServiceDescription() (BasicServiceDescription, bool) {
51316	return &ssd, true
51317}
51318
51319// UnmarshalJSON is the custom unmarshaler for StatelessServiceDescription struct.
51320func (ssd *StatelessServiceDescription) UnmarshalJSON(body []byte) error {
51321	var m map[string]*json.RawMessage
51322	err := json.Unmarshal(body, &m)
51323	if err != nil {
51324		return err
51325	}
51326	for k, v := range m {
51327		switch k {
51328		case "InstanceCount":
51329			if v != nil {
51330				var instanceCount int32
51331				err = json.Unmarshal(*v, &instanceCount)
51332				if err != nil {
51333					return err
51334				}
51335				ssd.InstanceCount = &instanceCount
51336			}
51337		case "ApplicationName":
51338			if v != nil {
51339				var applicationName string
51340				err = json.Unmarshal(*v, &applicationName)
51341				if err != nil {
51342					return err
51343				}
51344				ssd.ApplicationName = &applicationName
51345			}
51346		case "ServiceName":
51347			if v != nil {
51348				var serviceName string
51349				err = json.Unmarshal(*v, &serviceName)
51350				if err != nil {
51351					return err
51352				}
51353				ssd.ServiceName = &serviceName
51354			}
51355		case "ServiceTypeName":
51356			if v != nil {
51357				var serviceTypeName string
51358				err = json.Unmarshal(*v, &serviceTypeName)
51359				if err != nil {
51360					return err
51361				}
51362				ssd.ServiceTypeName = &serviceTypeName
51363			}
51364		case "InitializationData":
51365			if v != nil {
51366				var initializationData []int32
51367				err = json.Unmarshal(*v, &initializationData)
51368				if err != nil {
51369					return err
51370				}
51371				ssd.InitializationData = &initializationData
51372			}
51373		case "PartitionDescription":
51374			if v != nil {
51375				partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v)
51376				if err != nil {
51377					return err
51378				}
51379				ssd.PartitionDescription = partitionDescription
51380			}
51381		case "PlacementConstraints":
51382			if v != nil {
51383				var placementConstraints string
51384				err = json.Unmarshal(*v, &placementConstraints)
51385				if err != nil {
51386					return err
51387				}
51388				ssd.PlacementConstraints = &placementConstraints
51389			}
51390		case "CorrelationScheme":
51391			if v != nil {
51392				var correlationScheme []ServiceCorrelationDescription
51393				err = json.Unmarshal(*v, &correlationScheme)
51394				if err != nil {
51395					return err
51396				}
51397				ssd.CorrelationScheme = &correlationScheme
51398			}
51399		case "ServiceLoadMetrics":
51400			if v != nil {
51401				var serviceLoadMetrics []ServiceLoadMetricDescription
51402				err = json.Unmarshal(*v, &serviceLoadMetrics)
51403				if err != nil {
51404					return err
51405				}
51406				ssd.ServiceLoadMetrics = &serviceLoadMetrics
51407			}
51408		case "ServicePlacementPolicies":
51409			if v != nil {
51410				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
51411				if err != nil {
51412					return err
51413				}
51414				ssd.ServicePlacementPolicies = &servicePlacementPolicies
51415			}
51416		case "DefaultMoveCost":
51417			if v != nil {
51418				var defaultMoveCost MoveCost
51419				err = json.Unmarshal(*v, &defaultMoveCost)
51420				if err != nil {
51421					return err
51422				}
51423				ssd.DefaultMoveCost = defaultMoveCost
51424			}
51425		case "IsDefaultMoveCostSpecified":
51426			if v != nil {
51427				var isDefaultMoveCostSpecified bool
51428				err = json.Unmarshal(*v, &isDefaultMoveCostSpecified)
51429				if err != nil {
51430					return err
51431				}
51432				ssd.IsDefaultMoveCostSpecified = &isDefaultMoveCostSpecified
51433			}
51434		case "ServicePackageActivationMode":
51435			if v != nil {
51436				var servicePackageActivationMode ServicePackageActivationMode
51437				err = json.Unmarshal(*v, &servicePackageActivationMode)
51438				if err != nil {
51439					return err
51440				}
51441				ssd.ServicePackageActivationMode = servicePackageActivationMode
51442			}
51443		case "ServiceDnsName":
51444			if v != nil {
51445				var serviceDNSName string
51446				err = json.Unmarshal(*v, &serviceDNSName)
51447				if err != nil {
51448					return err
51449				}
51450				ssd.ServiceDNSName = &serviceDNSName
51451			}
51452		case "ScalingPolicies":
51453			if v != nil {
51454				var scalingPolicies []ScalingPolicyDescription
51455				err = json.Unmarshal(*v, &scalingPolicies)
51456				if err != nil {
51457					return err
51458				}
51459				ssd.ScalingPolicies = &scalingPolicies
51460			}
51461		case "ServiceKind":
51462			if v != nil {
51463				var serviceKind ServiceKindBasicServiceDescription
51464				err = json.Unmarshal(*v, &serviceKind)
51465				if err != nil {
51466					return err
51467				}
51468				ssd.ServiceKind = serviceKind
51469			}
51470		}
51471	}
51472
51473	return nil
51474}
51475
51476// StatelessServiceInfo information about a stateless Service Fabric service.
51477type StatelessServiceInfo struct {
51478	// ID - The identity of the service. This ID is an encoded representation of the service name. This is used in the REST APIs to identify the service resource.
51479	// Starting in version 6.0, hierarchical names are delimited with the "\~" character. For example, if the service name is "fabric:/myapp/app1/svc1",
51480	// the service identity would be "myapp~app1\~svc1" in 6.0+ and "myapp/app1/svc1" in previous versions.
51481	ID *string `json:"Id,omitempty"`
51482	// Name - The full name of the service with 'fabric:' URI scheme.
51483	Name *string `json:"Name,omitempty"`
51484	// TypeName - Name of the service type as specified in the service manifest.
51485	TypeName *string `json:"TypeName,omitempty"`
51486	// ManifestVersion - The version of the service manifest.
51487	ManifestVersion *string `json:"ManifestVersion,omitempty"`
51488	// 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'
51489	HealthState HealthState `json:"HealthState,omitempty"`
51490	// ServiceStatus - The status of the application. Possible values include: 'ServiceStatusUnknown', 'ServiceStatusActive', 'ServiceStatusUpgrading', 'ServiceStatusDeleting', 'ServiceStatusCreating', 'ServiceStatusFailed'
51491	ServiceStatus ServiceStatus `json:"ServiceStatus,omitempty"`
51492	// IsServiceGroup - Whether the service is in a service group.
51493	IsServiceGroup *bool `json:"IsServiceGroup,omitempty"`
51494	// ServiceKind - Possible values include: 'ServiceKindBasicServiceInfoServiceKindServiceInfo', 'ServiceKindBasicServiceInfoServiceKindStateful', 'ServiceKindBasicServiceInfoServiceKindStateless'
51495	ServiceKind ServiceKindBasicServiceInfo `json:"ServiceKind,omitempty"`
51496}
51497
51498// MarshalJSON is the custom marshaler for StatelessServiceInfo.
51499func (ssi StatelessServiceInfo) MarshalJSON() ([]byte, error) {
51500	ssi.ServiceKind = ServiceKindBasicServiceInfoServiceKindStateless
51501	objectMap := make(map[string]interface{})
51502	if ssi.ID != nil {
51503		objectMap["Id"] = ssi.ID
51504	}
51505	if ssi.Name != nil {
51506		objectMap["Name"] = ssi.Name
51507	}
51508	if ssi.TypeName != nil {
51509		objectMap["TypeName"] = ssi.TypeName
51510	}
51511	if ssi.ManifestVersion != nil {
51512		objectMap["ManifestVersion"] = ssi.ManifestVersion
51513	}
51514	if ssi.HealthState != "" {
51515		objectMap["HealthState"] = ssi.HealthState
51516	}
51517	if ssi.ServiceStatus != "" {
51518		objectMap["ServiceStatus"] = ssi.ServiceStatus
51519	}
51520	if ssi.IsServiceGroup != nil {
51521		objectMap["IsServiceGroup"] = ssi.IsServiceGroup
51522	}
51523	if ssi.ServiceKind != "" {
51524		objectMap["ServiceKind"] = ssi.ServiceKind
51525	}
51526	return json.Marshal(objectMap)
51527}
51528
51529// AsStatefulServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
51530func (ssi StatelessServiceInfo) AsStatefulServiceInfo() (*StatefulServiceInfo, bool) {
51531	return nil, false
51532}
51533
51534// AsStatelessServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
51535func (ssi StatelessServiceInfo) AsStatelessServiceInfo() (*StatelessServiceInfo, bool) {
51536	return &ssi, true
51537}
51538
51539// AsServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
51540func (ssi StatelessServiceInfo) AsServiceInfo() (*ServiceInfo, bool) {
51541	return nil, false
51542}
51543
51544// AsBasicServiceInfo is the BasicServiceInfo implementation for StatelessServiceInfo.
51545func (ssi StatelessServiceInfo) AsBasicServiceInfo() (BasicServiceInfo, bool) {
51546	return &ssi, true
51547}
51548
51549// StatelessServiceInstanceHealth represents the health of the stateless service instance.
51550// Contains the instance aggregated health state, the health events and the unhealthy evaluations.
51551type StatelessServiceInstanceHealth struct {
51552	// 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.
51553	InstanceID *string `json:"InstanceId,omitempty"`
51554	// PartitionID - Id of the partition to which this replica belongs.
51555	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
51556	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthServiceKindReplicaHealth', 'ServiceKindBasicReplicaHealthServiceKindStateful', 'ServiceKindBasicReplicaHealthServiceKindStateless'
51557	ServiceKind ServiceKindBasicReplicaHealth `json:"ServiceKind,omitempty"`
51558	// AggregatedHealthState - The HealthState representing the aggregated health state of the entity computed by Health Manager.
51559	// The health evaluation of the entity reflects all events reported on the entity and its children (if any).
51560	// The aggregation is done by applying the desired health policy. Possible values include: 'HealthStateInvalid', 'HealthStateOk', 'HealthStateWarning', 'HealthStateError', 'HealthStateUnknown'
51561	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
51562	// HealthEvents - The list of health events reported on the entity.
51563	HealthEvents *[]HealthEvent `json:"HealthEvents,omitempty"`
51564	// UnhealthyEvaluations - The unhealthy evaluations that show why the current aggregated health state was returned by Health Manager.
51565	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
51566	// HealthStatistics - Shows the health statistics for all children types of the queried entity.
51567	HealthStatistics *HealthStatistics `json:"HealthStatistics,omitempty"`
51568}
51569
51570// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealth.
51571func (ssih StatelessServiceInstanceHealth) MarshalJSON() ([]byte, error) {
51572	ssih.ServiceKind = ServiceKindBasicReplicaHealthServiceKindStateless
51573	objectMap := make(map[string]interface{})
51574	if ssih.InstanceID != nil {
51575		objectMap["InstanceId"] = ssih.InstanceID
51576	}
51577	if ssih.PartitionID != nil {
51578		objectMap["PartitionId"] = ssih.PartitionID
51579	}
51580	if ssih.ServiceKind != "" {
51581		objectMap["ServiceKind"] = ssih.ServiceKind
51582	}
51583	if ssih.AggregatedHealthState != "" {
51584		objectMap["AggregatedHealthState"] = ssih.AggregatedHealthState
51585	}
51586	if ssih.HealthEvents != nil {
51587		objectMap["HealthEvents"] = ssih.HealthEvents
51588	}
51589	if ssih.UnhealthyEvaluations != nil {
51590		objectMap["UnhealthyEvaluations"] = ssih.UnhealthyEvaluations
51591	}
51592	if ssih.HealthStatistics != nil {
51593		objectMap["HealthStatistics"] = ssih.HealthStatistics
51594	}
51595	return json.Marshal(objectMap)
51596}
51597
51598// AsStatefulServiceReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
51599func (ssih StatelessServiceInstanceHealth) AsStatefulServiceReplicaHealth() (*StatefulServiceReplicaHealth, bool) {
51600	return nil, false
51601}
51602
51603// AsStatelessServiceInstanceHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
51604func (ssih StatelessServiceInstanceHealth) AsStatelessServiceInstanceHealth() (*StatelessServiceInstanceHealth, bool) {
51605	return &ssih, true
51606}
51607
51608// AsReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
51609func (ssih StatelessServiceInstanceHealth) AsReplicaHealth() (*ReplicaHealth, bool) {
51610	return nil, false
51611}
51612
51613// AsBasicReplicaHealth is the BasicReplicaHealth implementation for StatelessServiceInstanceHealth.
51614func (ssih StatelessServiceInstanceHealth) AsBasicReplicaHealth() (BasicReplicaHealth, bool) {
51615	return &ssih, true
51616}
51617
51618// StatelessServiceInstanceHealthState represents the health state of the stateless service instance, which
51619// contains the instance ID and the aggregated health state.
51620type StatelessServiceInstanceHealthState struct {
51621	// ReplicaID - Id of the stateless service instance on the wire this field is called ReplicaId.
51622	ReplicaID *string `json:"ReplicaId,omitempty"`
51623	// PartitionID - The ID of the partition to which this replica belongs.
51624	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
51625	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaHealthStateServiceKindReplicaHealthState', 'ServiceKindBasicReplicaHealthStateServiceKindStateful', 'ServiceKindBasicReplicaHealthStateServiceKindStateless'
51626	ServiceKind ServiceKindBasicReplicaHealthState `json:"ServiceKind,omitempty"`
51627	// 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'
51628	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
51629}
51630
51631// MarshalJSON is the custom marshaler for StatelessServiceInstanceHealthState.
51632func (ssihs StatelessServiceInstanceHealthState) MarshalJSON() ([]byte, error) {
51633	ssihs.ServiceKind = ServiceKindBasicReplicaHealthStateServiceKindStateless
51634	objectMap := make(map[string]interface{})
51635	if ssihs.ReplicaID != nil {
51636		objectMap["ReplicaId"] = ssihs.ReplicaID
51637	}
51638	if ssihs.PartitionID != nil {
51639		objectMap["PartitionId"] = ssihs.PartitionID
51640	}
51641	if ssihs.ServiceKind != "" {
51642		objectMap["ServiceKind"] = ssihs.ServiceKind
51643	}
51644	if ssihs.AggregatedHealthState != "" {
51645		objectMap["AggregatedHealthState"] = ssihs.AggregatedHealthState
51646	}
51647	return json.Marshal(objectMap)
51648}
51649
51650// AsStatefulServiceReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51651func (ssihs StatelessServiceInstanceHealthState) AsStatefulServiceReplicaHealthState() (*StatefulServiceReplicaHealthState, bool) {
51652	return nil, false
51653}
51654
51655// AsStatelessServiceInstanceHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51656func (ssihs StatelessServiceInstanceHealthState) AsStatelessServiceInstanceHealthState() (*StatelessServiceInstanceHealthState, bool) {
51657	return &ssihs, true
51658}
51659
51660// AsReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51661func (ssihs StatelessServiceInstanceHealthState) AsReplicaHealthState() (*ReplicaHealthState, bool) {
51662	return nil, false
51663}
51664
51665// AsBasicReplicaHealthState is the BasicReplicaHealthState implementation for StatelessServiceInstanceHealthState.
51666func (ssihs StatelessServiceInstanceHealthState) AsBasicReplicaHealthState() (BasicReplicaHealthState, bool) {
51667	return &ssihs, true
51668}
51669
51670// StatelessServiceInstanceInfo represents a stateless service instance. This includes information about
51671// the identity, status, health, node name, uptime, and other details about the instance.
51672type StatelessServiceInstanceInfo struct {
51673	// 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.
51674	InstanceID *string `json:"InstanceId,omitempty"`
51675	// ReplicaStatus - The status of a replica of a service. Possible values include: 'ReplicaStatusInvalid', 'ReplicaStatusInBuild', 'ReplicaStatusStandby', 'ReplicaStatusReady', 'ReplicaStatusDown', 'ReplicaStatusDropped'
51676	ReplicaStatus ReplicaStatus `json:"ReplicaStatus,omitempty"`
51677	// 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'
51678	HealthState HealthState `json:"HealthState,omitempty"`
51679	// NodeName - The name of a Service Fabric node.
51680	NodeName *string `json:"NodeName,omitempty"`
51681	// Address - The address the replica is listening on.
51682	Address *string `json:"Address,omitempty"`
51683	// LastInBuildDurationInSeconds - The last in build duration of the replica in seconds.
51684	LastInBuildDurationInSeconds *string `json:"LastInBuildDurationInSeconds,omitempty"`
51685	// ServiceKind - Possible values include: 'ServiceKindBasicReplicaInfoServiceKindReplicaInfo', 'ServiceKindBasicReplicaInfoServiceKindStateful', 'ServiceKindBasicReplicaInfoServiceKindStateless'
51686	ServiceKind ServiceKindBasicReplicaInfo `json:"ServiceKind,omitempty"`
51687}
51688
51689// MarshalJSON is the custom marshaler for StatelessServiceInstanceInfo.
51690func (ssii StatelessServiceInstanceInfo) MarshalJSON() ([]byte, error) {
51691	ssii.ServiceKind = ServiceKindBasicReplicaInfoServiceKindStateless
51692	objectMap := make(map[string]interface{})
51693	if ssii.InstanceID != nil {
51694		objectMap["InstanceId"] = ssii.InstanceID
51695	}
51696	if ssii.ReplicaStatus != "" {
51697		objectMap["ReplicaStatus"] = ssii.ReplicaStatus
51698	}
51699	if ssii.HealthState != "" {
51700		objectMap["HealthState"] = ssii.HealthState
51701	}
51702	if ssii.NodeName != nil {
51703		objectMap["NodeName"] = ssii.NodeName
51704	}
51705	if ssii.Address != nil {
51706		objectMap["Address"] = ssii.Address
51707	}
51708	if ssii.LastInBuildDurationInSeconds != nil {
51709		objectMap["LastInBuildDurationInSeconds"] = ssii.LastInBuildDurationInSeconds
51710	}
51711	if ssii.ServiceKind != "" {
51712		objectMap["ServiceKind"] = ssii.ServiceKind
51713	}
51714	return json.Marshal(objectMap)
51715}
51716
51717// AsStatefulServiceReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51718func (ssii StatelessServiceInstanceInfo) AsStatefulServiceReplicaInfo() (*StatefulServiceReplicaInfo, bool) {
51719	return nil, false
51720}
51721
51722// AsStatelessServiceInstanceInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51723func (ssii StatelessServiceInstanceInfo) AsStatelessServiceInstanceInfo() (*StatelessServiceInstanceInfo, bool) {
51724	return &ssii, true
51725}
51726
51727// AsReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51728func (ssii StatelessServiceInstanceInfo) AsReplicaInfo() (*ReplicaInfo, bool) {
51729	return nil, false
51730}
51731
51732// AsBasicReplicaInfo is the BasicReplicaInfo implementation for StatelessServiceInstanceInfo.
51733func (ssii StatelessServiceInstanceInfo) AsBasicReplicaInfo() (BasicReplicaInfo, bool) {
51734	return &ssii, true
51735}
51736
51737// StatelessServicePartitionInfo information about a partition of a stateless Service Fabric service.
51738type StatelessServicePartitionInfo struct {
51739	// InstanceCount - Number of instances of this partition.
51740	InstanceCount *int64 `json:"InstanceCount,omitempty"`
51741	// 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'
51742	HealthState HealthState `json:"HealthState,omitempty"`
51743	// PartitionStatus - The status of the service fabric service partition. Possible values include: 'ServicePartitionStatusInvalid', 'ServicePartitionStatusReady', 'ServicePartitionStatusNotReady', 'ServicePartitionStatusInQuorumLoss', 'ServicePartitionStatusReconfiguring', 'ServicePartitionStatusDeleting'
51744	PartitionStatus ServicePartitionStatus `json:"PartitionStatus,omitempty"`
51745	// PartitionInformation - Information about the partition identity, partitioning scheme and keys supported by it.
51746	PartitionInformation BasicPartitionInformation `json:"PartitionInformation,omitempty"`
51747	// ServiceKind - Possible values include: 'ServiceKindBasicServicePartitionInfoServiceKindServicePartitionInfo', 'ServiceKindBasicServicePartitionInfoServiceKindStateful', 'ServiceKindBasicServicePartitionInfoServiceKindStateless'
51748	ServiceKind ServiceKindBasicServicePartitionInfo `json:"ServiceKind,omitempty"`
51749}
51750
51751// MarshalJSON is the custom marshaler for StatelessServicePartitionInfo.
51752func (sspi StatelessServicePartitionInfo) MarshalJSON() ([]byte, error) {
51753	sspi.ServiceKind = ServiceKindBasicServicePartitionInfoServiceKindStateless
51754	objectMap := make(map[string]interface{})
51755	if sspi.InstanceCount != nil {
51756		objectMap["InstanceCount"] = sspi.InstanceCount
51757	}
51758	if sspi.HealthState != "" {
51759		objectMap["HealthState"] = sspi.HealthState
51760	}
51761	if sspi.PartitionStatus != "" {
51762		objectMap["PartitionStatus"] = sspi.PartitionStatus
51763	}
51764	objectMap["PartitionInformation"] = sspi.PartitionInformation
51765	if sspi.ServiceKind != "" {
51766		objectMap["ServiceKind"] = sspi.ServiceKind
51767	}
51768	return json.Marshal(objectMap)
51769}
51770
51771// AsStatefulServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51772func (sspi StatelessServicePartitionInfo) AsStatefulServicePartitionInfo() (*StatefulServicePartitionInfo, bool) {
51773	return nil, false
51774}
51775
51776// AsStatelessServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51777func (sspi StatelessServicePartitionInfo) AsStatelessServicePartitionInfo() (*StatelessServicePartitionInfo, bool) {
51778	return &sspi, true
51779}
51780
51781// AsServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51782func (sspi StatelessServicePartitionInfo) AsServicePartitionInfo() (*ServicePartitionInfo, bool) {
51783	return nil, false
51784}
51785
51786// AsBasicServicePartitionInfo is the BasicServicePartitionInfo implementation for StatelessServicePartitionInfo.
51787func (sspi StatelessServicePartitionInfo) AsBasicServicePartitionInfo() (BasicServicePartitionInfo, bool) {
51788	return &sspi, true
51789}
51790
51791// UnmarshalJSON is the custom unmarshaler for StatelessServicePartitionInfo struct.
51792func (sspi *StatelessServicePartitionInfo) UnmarshalJSON(body []byte) error {
51793	var m map[string]*json.RawMessage
51794	err := json.Unmarshal(body, &m)
51795	if err != nil {
51796		return err
51797	}
51798	for k, v := range m {
51799		switch k {
51800		case "InstanceCount":
51801			if v != nil {
51802				var instanceCount int64
51803				err = json.Unmarshal(*v, &instanceCount)
51804				if err != nil {
51805					return err
51806				}
51807				sspi.InstanceCount = &instanceCount
51808			}
51809		case "HealthState":
51810			if v != nil {
51811				var healthState HealthState
51812				err = json.Unmarshal(*v, &healthState)
51813				if err != nil {
51814					return err
51815				}
51816				sspi.HealthState = healthState
51817			}
51818		case "PartitionStatus":
51819			if v != nil {
51820				var partitionStatus ServicePartitionStatus
51821				err = json.Unmarshal(*v, &partitionStatus)
51822				if err != nil {
51823					return err
51824				}
51825				sspi.PartitionStatus = partitionStatus
51826			}
51827		case "PartitionInformation":
51828			if v != nil {
51829				partitionInformation, err := unmarshalBasicPartitionInformation(*v)
51830				if err != nil {
51831					return err
51832				}
51833				sspi.PartitionInformation = partitionInformation
51834			}
51835		case "ServiceKind":
51836			if v != nil {
51837				var serviceKind ServiceKindBasicServicePartitionInfo
51838				err = json.Unmarshal(*v, &serviceKind)
51839				if err != nil {
51840					return err
51841				}
51842				sspi.ServiceKind = serviceKind
51843			}
51844		}
51845	}
51846
51847	return nil
51848}
51849
51850// StatelessServiceTypeDescription describes a stateless service type defined in the service manifest of a
51851// provisioned application type.
51852type StatelessServiceTypeDescription struct {
51853	// 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.
51854	UseImplicitHost *bool `json:"UseImplicitHost,omitempty"`
51855	// 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.
51856	IsStateful *bool `json:"IsStateful,omitempty"`
51857	// ServiceTypeName - Name of the service type as specified in the service manifest.
51858	ServiceTypeName *string `json:"ServiceTypeName,omitempty"`
51859	// PlacementConstraints - The placement constraint to be used when instantiating this service in a Service Fabric cluster.
51860	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
51861	// LoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects.
51862	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
51863	// ServicePlacementPolicies - List of service placement policy descriptions.
51864	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
51865	// Extensions - List of service type extensions.
51866	Extensions *[]ServiceTypeExtensionDescription `json:"Extensions,omitempty"`
51867	// Kind - Possible values include: 'KindServiceTypeDescription', 'KindStateful', 'KindStateless'
51868	Kind KindBasicServiceTypeDescription `json:"Kind,omitempty"`
51869}
51870
51871// MarshalJSON is the custom marshaler for StatelessServiceTypeDescription.
51872func (sstd StatelessServiceTypeDescription) MarshalJSON() ([]byte, error) {
51873	sstd.Kind = KindStateless
51874	objectMap := make(map[string]interface{})
51875	if sstd.UseImplicitHost != nil {
51876		objectMap["UseImplicitHost"] = sstd.UseImplicitHost
51877	}
51878	if sstd.IsStateful != nil {
51879		objectMap["IsStateful"] = sstd.IsStateful
51880	}
51881	if sstd.ServiceTypeName != nil {
51882		objectMap["ServiceTypeName"] = sstd.ServiceTypeName
51883	}
51884	if sstd.PlacementConstraints != nil {
51885		objectMap["PlacementConstraints"] = sstd.PlacementConstraints
51886	}
51887	if sstd.LoadMetrics != nil {
51888		objectMap["LoadMetrics"] = sstd.LoadMetrics
51889	}
51890	if sstd.ServicePlacementPolicies != nil {
51891		objectMap["ServicePlacementPolicies"] = sstd.ServicePlacementPolicies
51892	}
51893	if sstd.Extensions != nil {
51894		objectMap["Extensions"] = sstd.Extensions
51895	}
51896	if sstd.Kind != "" {
51897		objectMap["Kind"] = sstd.Kind
51898	}
51899	return json.Marshal(objectMap)
51900}
51901
51902// AsStatefulServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51903func (sstd StatelessServiceTypeDescription) AsStatefulServiceTypeDescription() (*StatefulServiceTypeDescription, bool) {
51904	return nil, false
51905}
51906
51907// AsStatelessServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51908func (sstd StatelessServiceTypeDescription) AsStatelessServiceTypeDescription() (*StatelessServiceTypeDescription, bool) {
51909	return &sstd, true
51910}
51911
51912// AsServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51913func (sstd StatelessServiceTypeDescription) AsServiceTypeDescription() (*ServiceTypeDescription, bool) {
51914	return nil, false
51915}
51916
51917// AsBasicServiceTypeDescription is the BasicServiceTypeDescription implementation for StatelessServiceTypeDescription.
51918func (sstd StatelessServiceTypeDescription) AsBasicServiceTypeDescription() (BasicServiceTypeDescription, bool) {
51919	return &sstd, true
51920}
51921
51922// UnmarshalJSON is the custom unmarshaler for StatelessServiceTypeDescription struct.
51923func (sstd *StatelessServiceTypeDescription) UnmarshalJSON(body []byte) error {
51924	var m map[string]*json.RawMessage
51925	err := json.Unmarshal(body, &m)
51926	if err != nil {
51927		return err
51928	}
51929	for k, v := range m {
51930		switch k {
51931		case "UseImplicitHost":
51932			if v != nil {
51933				var useImplicitHost bool
51934				err = json.Unmarshal(*v, &useImplicitHost)
51935				if err != nil {
51936					return err
51937				}
51938				sstd.UseImplicitHost = &useImplicitHost
51939			}
51940		case "IsStateful":
51941			if v != nil {
51942				var isStateful bool
51943				err = json.Unmarshal(*v, &isStateful)
51944				if err != nil {
51945					return err
51946				}
51947				sstd.IsStateful = &isStateful
51948			}
51949		case "ServiceTypeName":
51950			if v != nil {
51951				var serviceTypeName string
51952				err = json.Unmarshal(*v, &serviceTypeName)
51953				if err != nil {
51954					return err
51955				}
51956				sstd.ServiceTypeName = &serviceTypeName
51957			}
51958		case "PlacementConstraints":
51959			if v != nil {
51960				var placementConstraints string
51961				err = json.Unmarshal(*v, &placementConstraints)
51962				if err != nil {
51963					return err
51964				}
51965				sstd.PlacementConstraints = &placementConstraints
51966			}
51967		case "LoadMetrics":
51968			if v != nil {
51969				var loadMetrics []ServiceLoadMetricDescription
51970				err = json.Unmarshal(*v, &loadMetrics)
51971				if err != nil {
51972					return err
51973				}
51974				sstd.LoadMetrics = &loadMetrics
51975			}
51976		case "ServicePlacementPolicies":
51977			if v != nil {
51978				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
51979				if err != nil {
51980					return err
51981				}
51982				sstd.ServicePlacementPolicies = &servicePlacementPolicies
51983			}
51984		case "Extensions":
51985			if v != nil {
51986				var extensions []ServiceTypeExtensionDescription
51987				err = json.Unmarshal(*v, &extensions)
51988				if err != nil {
51989					return err
51990				}
51991				sstd.Extensions = &extensions
51992			}
51993		case "Kind":
51994			if v != nil {
51995				var kind KindBasicServiceTypeDescription
51996				err = json.Unmarshal(*v, &kind)
51997				if err != nil {
51998					return err
51999				}
52000				sstd.Kind = kind
52001			}
52002		}
52003	}
52004
52005	return nil
52006}
52007
52008// StatelessServiceUpdateDescription describes an update for a stateless service.
52009type StatelessServiceUpdateDescription struct {
52010	// InstanceCount - The instance count.
52011	InstanceCount *int32 `json:"InstanceCount,omitempty"`
52012	// 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.
52013	// This property can be a combination of those flags obtained using bitwise 'OR' operator.
52014	// For example, if the provided value is 6 then the flags for ReplicaRestartWaitDuration (2) and QuorumLossWaitDuration (4) are set.
52015	// - None - Does not indicate any other properties are set. The value is zero.
52016	// - TargetReplicaSetSize/InstanceCount - Indicates whether the TargetReplicaSetSize property (for Stateful services) or the InstanceCount property (for Stateless services) is set. The value is 1.
52017	// - ReplicaRestartWaitDuration - Indicates the ReplicaRestartWaitDuration property is set. The value is  2.
52018	// - QuorumLossWaitDuration - Indicates the QuorumLossWaitDuration property is set. The value is 4.
52019	// - StandByReplicaKeepDuration - Indicates the StandByReplicaKeepDuration property is set. The value is 8.
52020	// - MinReplicaSetSize - Indicates the MinReplicaSetSize property is set. The value is 16.
52021	// - PlacementConstraints - Indicates the PlacementConstraints property is set. The value is 32.
52022	// - PlacementPolicyList - Indicates the ServicePlacementPolicies property is set. The value is 64.
52023	// - Correlation - Indicates the CorrelationScheme property is set. The value is 128.
52024	// - Metrics - Indicates the ServiceLoadMetrics property is set. The value is 256.
52025	// - DefaultMoveCost - Indicates the DefaultMoveCost property is set. The value is 512.
52026	// - ScalingPolicy - Indicates the ScalingPolicies property is set. The value is 1024.
52027	Flags *string `json:"Flags,omitempty"`
52028	// 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)".
52029	PlacementConstraints *string `json:"PlacementConstraints,omitempty"`
52030	// CorrelationScheme - The correlation scheme.
52031	CorrelationScheme *[]ServiceCorrelationDescription `json:"CorrelationScheme,omitempty"`
52032	// LoadMetrics - The service load metrics.
52033	LoadMetrics *[]ServiceLoadMetricDescription `json:"LoadMetrics,omitempty"`
52034	// ServicePlacementPolicies - The service placement policies.
52035	ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"ServicePlacementPolicies,omitempty"`
52036	// DefaultMoveCost - The move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High'
52037	DefaultMoveCost MoveCost `json:"DefaultMoveCost,omitempty"`
52038	// ScalingPolicies - Scaling policies for this service.
52039	ScalingPolicies *[]ScalingPolicyDescription `json:"ScalingPolicies,omitempty"`
52040	// ServiceKind - Possible values include: 'ServiceKindBasicServiceUpdateDescriptionServiceKindServiceUpdateDescription', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateful', 'ServiceKindBasicServiceUpdateDescriptionServiceKindStateless'
52041	ServiceKind ServiceKindBasicServiceUpdateDescription `json:"ServiceKind,omitempty"`
52042}
52043
52044// MarshalJSON is the custom marshaler for StatelessServiceUpdateDescription.
52045func (ssud StatelessServiceUpdateDescription) MarshalJSON() ([]byte, error) {
52046	ssud.ServiceKind = ServiceKindBasicServiceUpdateDescriptionServiceKindStateless
52047	objectMap := make(map[string]interface{})
52048	if ssud.InstanceCount != nil {
52049		objectMap["InstanceCount"] = ssud.InstanceCount
52050	}
52051	if ssud.Flags != nil {
52052		objectMap["Flags"] = ssud.Flags
52053	}
52054	if ssud.PlacementConstraints != nil {
52055		objectMap["PlacementConstraints"] = ssud.PlacementConstraints
52056	}
52057	if ssud.CorrelationScheme != nil {
52058		objectMap["CorrelationScheme"] = ssud.CorrelationScheme
52059	}
52060	if ssud.LoadMetrics != nil {
52061		objectMap["LoadMetrics"] = ssud.LoadMetrics
52062	}
52063	if ssud.ServicePlacementPolicies != nil {
52064		objectMap["ServicePlacementPolicies"] = ssud.ServicePlacementPolicies
52065	}
52066	if ssud.DefaultMoveCost != "" {
52067		objectMap["DefaultMoveCost"] = ssud.DefaultMoveCost
52068	}
52069	if ssud.ScalingPolicies != nil {
52070		objectMap["ScalingPolicies"] = ssud.ScalingPolicies
52071	}
52072	if ssud.ServiceKind != "" {
52073		objectMap["ServiceKind"] = ssud.ServiceKind
52074	}
52075	return json.Marshal(objectMap)
52076}
52077
52078// AsStatefulServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
52079func (ssud StatelessServiceUpdateDescription) AsStatefulServiceUpdateDescription() (*StatefulServiceUpdateDescription, bool) {
52080	return nil, false
52081}
52082
52083// AsStatelessServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
52084func (ssud StatelessServiceUpdateDescription) AsStatelessServiceUpdateDescription() (*StatelessServiceUpdateDescription, bool) {
52085	return &ssud, true
52086}
52087
52088// AsServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
52089func (ssud StatelessServiceUpdateDescription) AsServiceUpdateDescription() (*ServiceUpdateDescription, bool) {
52090	return nil, false
52091}
52092
52093// AsBasicServiceUpdateDescription is the BasicServiceUpdateDescription implementation for StatelessServiceUpdateDescription.
52094func (ssud StatelessServiceUpdateDescription) AsBasicServiceUpdateDescription() (BasicServiceUpdateDescription, bool) {
52095	return &ssud, true
52096}
52097
52098// UnmarshalJSON is the custom unmarshaler for StatelessServiceUpdateDescription struct.
52099func (ssud *StatelessServiceUpdateDescription) UnmarshalJSON(body []byte) error {
52100	var m map[string]*json.RawMessage
52101	err := json.Unmarshal(body, &m)
52102	if err != nil {
52103		return err
52104	}
52105	for k, v := range m {
52106		switch k {
52107		case "InstanceCount":
52108			if v != nil {
52109				var instanceCount int32
52110				err = json.Unmarshal(*v, &instanceCount)
52111				if err != nil {
52112					return err
52113				}
52114				ssud.InstanceCount = &instanceCount
52115			}
52116		case "Flags":
52117			if v != nil {
52118				var flags string
52119				err = json.Unmarshal(*v, &flags)
52120				if err != nil {
52121					return err
52122				}
52123				ssud.Flags = &flags
52124			}
52125		case "PlacementConstraints":
52126			if v != nil {
52127				var placementConstraints string
52128				err = json.Unmarshal(*v, &placementConstraints)
52129				if err != nil {
52130					return err
52131				}
52132				ssud.PlacementConstraints = &placementConstraints
52133			}
52134		case "CorrelationScheme":
52135			if v != nil {
52136				var correlationScheme []ServiceCorrelationDescription
52137				err = json.Unmarshal(*v, &correlationScheme)
52138				if err != nil {
52139					return err
52140				}
52141				ssud.CorrelationScheme = &correlationScheme
52142			}
52143		case "LoadMetrics":
52144			if v != nil {
52145				var loadMetrics []ServiceLoadMetricDescription
52146				err = json.Unmarshal(*v, &loadMetrics)
52147				if err != nil {
52148					return err
52149				}
52150				ssud.LoadMetrics = &loadMetrics
52151			}
52152		case "ServicePlacementPolicies":
52153			if v != nil {
52154				servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v)
52155				if err != nil {
52156					return err
52157				}
52158				ssud.ServicePlacementPolicies = &servicePlacementPolicies
52159			}
52160		case "DefaultMoveCost":
52161			if v != nil {
52162				var defaultMoveCost MoveCost
52163				err = json.Unmarshal(*v, &defaultMoveCost)
52164				if err != nil {
52165					return err
52166				}
52167				ssud.DefaultMoveCost = defaultMoveCost
52168			}
52169		case "ScalingPolicies":
52170			if v != nil {
52171				var scalingPolicies []ScalingPolicyDescription
52172				err = json.Unmarshal(*v, &scalingPolicies)
52173				if err != nil {
52174					return err
52175				}
52176				ssud.ScalingPolicies = &scalingPolicies
52177			}
52178		case "ServiceKind":
52179			if v != nil {
52180				var serviceKind ServiceKindBasicServiceUpdateDescription
52181				err = json.Unmarshal(*v, &serviceKind)
52182				if err != nil {
52183					return err
52184				}
52185				ssud.ServiceKind = serviceKind
52186			}
52187		}
52188	}
52189
52190	return nil
52191}
52192
52193// StoppedChaosEvent describes a Chaos event that gets generated when Chaos stops because either the user
52194// issued a stop or the time to run was up.
52195type StoppedChaosEvent struct {
52196	// Reason - Describes why Chaos stopped. Chaos can stop because of StopChaos API call or the timeToRun provided in ChaosParameters is over.
52197	Reason *string `json:"Reason,omitempty"`
52198	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
52199	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
52200	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
52201	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
52202}
52203
52204// MarshalJSON is the custom marshaler for StoppedChaosEvent.
52205func (sce StoppedChaosEvent) MarshalJSON() ([]byte, error) {
52206	sce.Kind = KindStopped
52207	objectMap := make(map[string]interface{})
52208	if sce.Reason != nil {
52209		objectMap["Reason"] = sce.Reason
52210	}
52211	if sce.TimeStampUtc != nil {
52212		objectMap["TimeStampUtc"] = sce.TimeStampUtc
52213	}
52214	if sce.Kind != "" {
52215		objectMap["Kind"] = sce.Kind
52216	}
52217	return json.Marshal(objectMap)
52218}
52219
52220// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52221func (sce StoppedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
52222	return nil, false
52223}
52224
52225// AsStartedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52226func (sce StoppedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
52227	return nil, false
52228}
52229
52230// AsStoppedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52231func (sce StoppedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
52232	return &sce, true
52233}
52234
52235// AsTestErrorChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52236func (sce StoppedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
52237	return nil, false
52238}
52239
52240// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52241func (sce StoppedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
52242	return nil, false
52243}
52244
52245// AsWaitingChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52246func (sce StoppedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
52247	return nil, false
52248}
52249
52250// AsChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52251func (sce StoppedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
52252	return nil, false
52253}
52254
52255// AsBasicChaosEvent is the BasicChaosEvent implementation for StoppedChaosEvent.
52256func (sce StoppedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
52257	return &sce, true
52258}
52259
52260// String ...
52261type String struct {
52262	autorest.Response `json:"-"`
52263	Value             *string `json:"value,omitempty"`
52264}
52265
52266// StringPropertyValue describes a Service Fabric property value of type String.
52267type StringPropertyValue struct {
52268	// Data - The data of the property value.
52269	Data *string `json:"Data,omitempty"`
52270	// Kind - Possible values include: 'KindPropertyValue', 'KindBinary', 'KindInt64', 'KindDouble', 'KindString', 'KindGUID'
52271	Kind KindBasicPropertyValue `json:"Kind,omitempty"`
52272}
52273
52274// MarshalJSON is the custom marshaler for StringPropertyValue.
52275func (spv StringPropertyValue) MarshalJSON() ([]byte, error) {
52276	spv.Kind = KindString
52277	objectMap := make(map[string]interface{})
52278	if spv.Data != nil {
52279		objectMap["Data"] = spv.Data
52280	}
52281	if spv.Kind != "" {
52282		objectMap["Kind"] = spv.Kind
52283	}
52284	return json.Marshal(objectMap)
52285}
52286
52287// AsBinaryPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
52288func (spv StringPropertyValue) AsBinaryPropertyValue() (*BinaryPropertyValue, bool) {
52289	return nil, false
52290}
52291
52292// AsInt64PropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
52293func (spv StringPropertyValue) AsInt64PropertyValue() (*Int64PropertyValue, bool) {
52294	return nil, false
52295}
52296
52297// AsDoublePropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
52298func (spv StringPropertyValue) AsDoublePropertyValue() (*DoublePropertyValue, bool) {
52299	return nil, false
52300}
52301
52302// AsStringPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
52303func (spv StringPropertyValue) AsStringPropertyValue() (*StringPropertyValue, bool) {
52304	return &spv, true
52305}
52306
52307// AsGUIDPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
52308func (spv StringPropertyValue) AsGUIDPropertyValue() (*GUIDPropertyValue, bool) {
52309	return nil, false
52310}
52311
52312// AsPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
52313func (spv StringPropertyValue) AsPropertyValue() (*PropertyValue, bool) {
52314	return nil, false
52315}
52316
52317// AsBasicPropertyValue is the BasicPropertyValue implementation for StringPropertyValue.
52318func (spv StringPropertyValue) AsBasicPropertyValue() (BasicPropertyValue, bool) {
52319	return &spv, true
52320}
52321
52322// SuccessfulPropertyBatchInfo derived from PropertyBatchInfo. Represents the property batch succeeding.
52323// Contains the results of any "Get" operations in the batch.
52324type SuccessfulPropertyBatchInfo struct {
52325	// 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.
52326	Properties map[string]*PropertyInfo `json:"Properties"`
52327	// Kind - Possible values include: 'KindPropertyBatchInfo', 'KindSuccessful', 'KindFailed'
52328	Kind KindBasicPropertyBatchInfo `json:"Kind,omitempty"`
52329}
52330
52331// MarshalJSON is the custom marshaler for SuccessfulPropertyBatchInfo.
52332func (spbi SuccessfulPropertyBatchInfo) MarshalJSON() ([]byte, error) {
52333	spbi.Kind = KindSuccessful
52334	objectMap := make(map[string]interface{})
52335	if spbi.Properties != nil {
52336		objectMap["Properties"] = spbi.Properties
52337	}
52338	if spbi.Kind != "" {
52339		objectMap["Kind"] = spbi.Kind
52340	}
52341	return json.Marshal(objectMap)
52342}
52343
52344// AsSuccessfulPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
52345func (spbi SuccessfulPropertyBatchInfo) AsSuccessfulPropertyBatchInfo() (*SuccessfulPropertyBatchInfo, bool) {
52346	return &spbi, true
52347}
52348
52349// AsFailedPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
52350func (spbi SuccessfulPropertyBatchInfo) AsFailedPropertyBatchInfo() (*FailedPropertyBatchInfo, bool) {
52351	return nil, false
52352}
52353
52354// AsPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
52355func (spbi SuccessfulPropertyBatchInfo) AsPropertyBatchInfo() (*PropertyBatchInfo, bool) {
52356	return nil, false
52357}
52358
52359// AsBasicPropertyBatchInfo is the BasicPropertyBatchInfo implementation for SuccessfulPropertyBatchInfo.
52360func (spbi SuccessfulPropertyBatchInfo) AsBasicPropertyBatchInfo() (BasicPropertyBatchInfo, bool) {
52361	return &spbi, true
52362}
52363
52364// SystemApplicationHealthEvaluation represents health evaluation for the fabric:/System application,
52365// containing information about the data and the algorithm used by health store to evaluate health. The
52366// evaluation is returned only when the aggregated health state of the cluster is either Error or Warning.
52367type SystemApplicationHealthEvaluation struct {
52368	// 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.
52369	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
52370	// 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'
52371	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
52372	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
52373	Description *string `json:"Description,omitempty"`
52374	// 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'
52375	Kind Kind `json:"Kind,omitempty"`
52376}
52377
52378// MarshalJSON is the custom marshaler for SystemApplicationHealthEvaluation.
52379func (sahe SystemApplicationHealthEvaluation) MarshalJSON() ([]byte, error) {
52380	sahe.Kind = KindSystemApplication
52381	objectMap := make(map[string]interface{})
52382	if sahe.UnhealthyEvaluations != nil {
52383		objectMap["UnhealthyEvaluations"] = sahe.UnhealthyEvaluations
52384	}
52385	if sahe.AggregatedHealthState != "" {
52386		objectMap["AggregatedHealthState"] = sahe.AggregatedHealthState
52387	}
52388	if sahe.Description != nil {
52389		objectMap["Description"] = sahe.Description
52390	}
52391	if sahe.Kind != "" {
52392		objectMap["Kind"] = sahe.Kind
52393	}
52394	return json.Marshal(objectMap)
52395}
52396
52397// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52398func (sahe SystemApplicationHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
52399	return nil, false
52400}
52401
52402// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52403func (sahe SystemApplicationHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
52404	return nil, false
52405}
52406
52407// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52408func (sahe SystemApplicationHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
52409	return nil, false
52410}
52411
52412// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52413func (sahe SystemApplicationHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
52414	return nil, false
52415}
52416
52417// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52418func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
52419	return nil, false
52420}
52421
52422// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52423func (sahe SystemApplicationHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
52424	return nil, false
52425}
52426
52427// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52428func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
52429	return nil, false
52430}
52431
52432// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52433func (sahe SystemApplicationHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
52434	return nil, false
52435}
52436
52437// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52438func (sahe SystemApplicationHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
52439	return nil, false
52440}
52441
52442// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52443func (sahe SystemApplicationHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
52444	return nil, false
52445}
52446
52447// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52448func (sahe SystemApplicationHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
52449	return nil, false
52450}
52451
52452// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52453func (sahe SystemApplicationHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
52454	return nil, false
52455}
52456
52457// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52458func (sahe SystemApplicationHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
52459	return nil, false
52460}
52461
52462// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52463func (sahe SystemApplicationHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
52464	return nil, false
52465}
52466
52467// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52468func (sahe SystemApplicationHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
52469	return nil, false
52470}
52471
52472// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52473func (sahe SystemApplicationHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
52474	return nil, false
52475}
52476
52477// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52478func (sahe SystemApplicationHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
52479	return nil, false
52480}
52481
52482// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52483func (sahe SystemApplicationHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
52484	return &sahe, true
52485}
52486
52487// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52488func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
52489	return nil, false
52490}
52491
52492// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52493func (sahe SystemApplicationHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
52494	return nil, false
52495}
52496
52497// AsHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52498func (sahe SystemApplicationHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
52499	return nil, false
52500}
52501
52502// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for SystemApplicationHealthEvaluation.
52503func (sahe SystemApplicationHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
52504	return &sahe, true
52505}
52506
52507// TestErrorChaosEvent describes a Chaos event that gets generated when an unexpected event occurs in the
52508// Chaos engine.
52509// For example, due to the cluster snapshot being inconsistent, while faulting an entity, Chaos found that
52510// the entity was already faulted -- which would be an unexpected event.
52511type TestErrorChaosEvent struct {
52512	// 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.
52513	Reason *string `json:"Reason,omitempty"`
52514	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
52515	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
52516	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
52517	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
52518}
52519
52520// MarshalJSON is the custom marshaler for TestErrorChaosEvent.
52521func (tece TestErrorChaosEvent) MarshalJSON() ([]byte, error) {
52522	tece.Kind = KindTestError
52523	objectMap := make(map[string]interface{})
52524	if tece.Reason != nil {
52525		objectMap["Reason"] = tece.Reason
52526	}
52527	if tece.TimeStampUtc != nil {
52528		objectMap["TimeStampUtc"] = tece.TimeStampUtc
52529	}
52530	if tece.Kind != "" {
52531		objectMap["Kind"] = tece.Kind
52532	}
52533	return json.Marshal(objectMap)
52534}
52535
52536// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52537func (tece TestErrorChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
52538	return nil, false
52539}
52540
52541// AsStartedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52542func (tece TestErrorChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
52543	return nil, false
52544}
52545
52546// AsStoppedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52547func (tece TestErrorChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
52548	return nil, false
52549}
52550
52551// AsTestErrorChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52552func (tece TestErrorChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
52553	return &tece, true
52554}
52555
52556// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52557func (tece TestErrorChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
52558	return nil, false
52559}
52560
52561// AsWaitingChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52562func (tece TestErrorChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
52563	return nil, false
52564}
52565
52566// AsChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52567func (tece TestErrorChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
52568	return nil, false
52569}
52570
52571// AsBasicChaosEvent is the BasicChaosEvent implementation for TestErrorChaosEvent.
52572func (tece TestErrorChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
52573	return &tece, true
52574}
52575
52576// TimeBasedBackupScheduleDescription describes the time based backup schedule.
52577type TimeBasedBackupScheduleDescription struct {
52578	// ScheduleFrequencyType - Describes the frequency with which to run the time based backup schedule. Possible values include: 'BackupScheduleFrequencyTypeInvalid', 'BackupScheduleFrequencyTypeDaily', 'BackupScheduleFrequencyTypeWeekly'
52579	ScheduleFrequencyType BackupScheduleFrequencyType `json:"ScheduleFrequencyType,omitempty"`
52580	// 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.
52581	RunDays *[]DayOfWeek `json:"RunDays,omitempty"`
52582	// 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.
52583	RunTimes *[]date.Time `json:"RunTimes,omitempty"`
52584	// ScheduleKind - Possible values include: 'ScheduleKindBackupScheduleDescription', 'ScheduleKindFrequencyBased', 'ScheduleKindTimeBased'
52585	ScheduleKind ScheduleKind `json:"ScheduleKind,omitempty"`
52586}
52587
52588// MarshalJSON is the custom marshaler for TimeBasedBackupScheduleDescription.
52589func (tbbsd TimeBasedBackupScheduleDescription) MarshalJSON() ([]byte, error) {
52590	tbbsd.ScheduleKind = ScheduleKindTimeBased
52591	objectMap := make(map[string]interface{})
52592	if tbbsd.ScheduleFrequencyType != "" {
52593		objectMap["ScheduleFrequencyType"] = tbbsd.ScheduleFrequencyType
52594	}
52595	if tbbsd.RunDays != nil {
52596		objectMap["RunDays"] = tbbsd.RunDays
52597	}
52598	if tbbsd.RunTimes != nil {
52599		objectMap["RunTimes"] = tbbsd.RunTimes
52600	}
52601	if tbbsd.ScheduleKind != "" {
52602		objectMap["ScheduleKind"] = tbbsd.ScheduleKind
52603	}
52604	return json.Marshal(objectMap)
52605}
52606
52607// AsFrequencyBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
52608func (tbbsd TimeBasedBackupScheduleDescription) AsFrequencyBasedBackupScheduleDescription() (*FrequencyBasedBackupScheduleDescription, bool) {
52609	return nil, false
52610}
52611
52612// AsTimeBasedBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
52613func (tbbsd TimeBasedBackupScheduleDescription) AsTimeBasedBackupScheduleDescription() (*TimeBasedBackupScheduleDescription, bool) {
52614	return &tbbsd, true
52615}
52616
52617// AsBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
52618func (tbbsd TimeBasedBackupScheduleDescription) AsBackupScheduleDescription() (*BackupScheduleDescription, bool) {
52619	return nil, false
52620}
52621
52622// AsBasicBackupScheduleDescription is the BasicBackupScheduleDescription implementation for TimeBasedBackupScheduleDescription.
52623func (tbbsd TimeBasedBackupScheduleDescription) AsBasicBackupScheduleDescription() (BasicBackupScheduleDescription, bool) {
52624	return &tbbsd, true
52625}
52626
52627// TimeOfDay defines an hour and minute of the day specified in 24 hour time.
52628type TimeOfDay struct {
52629	// Hour - Represents the hour of the day. Value must be between 0 and 23 inclusive.
52630	Hour *int32 `json:"Hour,omitempty"`
52631	// Minute - Represents the minute of the hour. Value must be between 0 to 59 inclusive.
52632	Minute *int32 `json:"Minute,omitempty"`
52633}
52634
52635// TimeRange defines a time range in a 24 hour day specified by a start and end time.
52636type TimeRange struct {
52637	// StartTime - Defines an hour and minute of the day specified in 24 hour time.
52638	StartTime *TimeOfDay `json:"StartTime,omitempty"`
52639	// EndTime - Defines an hour and minute of the day specified in 24 hour time.
52640	EndTime *TimeOfDay `json:"EndTime,omitempty"`
52641}
52642
52643// UniformInt64RangePartitionSchemeDescription describes a partitioning scheme where an integer range is
52644// allocated evenly across a number of partitions.
52645type UniformInt64RangePartitionSchemeDescription struct {
52646	// Count - The number of partitions.
52647	Count *int32 `json:"Count,omitempty"`
52648	// LowKey - String indicating the lower bound of the partition key range that
52649	// should be split between the partitions.
52650	LowKey *string `json:"LowKey,omitempty"`
52651	// HighKey - String indicating the upper bound of the partition key range that
52652	// should be split between the partitions.
52653	HighKey *string `json:"HighKey,omitempty"`
52654	// PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed1', 'PartitionSchemeSingleton1', 'PartitionSchemeUniformInt64Range1'
52655	PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"`
52656}
52657
52658// MarshalJSON is the custom marshaler for UniformInt64RangePartitionSchemeDescription.
52659func (ui6rpsd UniformInt64RangePartitionSchemeDescription) MarshalJSON() ([]byte, error) {
52660	ui6rpsd.PartitionScheme = PartitionSchemeUniformInt64Range1
52661	objectMap := make(map[string]interface{})
52662	if ui6rpsd.Count != nil {
52663		objectMap["Count"] = ui6rpsd.Count
52664	}
52665	if ui6rpsd.LowKey != nil {
52666		objectMap["LowKey"] = ui6rpsd.LowKey
52667	}
52668	if ui6rpsd.HighKey != nil {
52669		objectMap["HighKey"] = ui6rpsd.HighKey
52670	}
52671	if ui6rpsd.PartitionScheme != "" {
52672		objectMap["PartitionScheme"] = ui6rpsd.PartitionScheme
52673	}
52674	return json.Marshal(objectMap)
52675}
52676
52677// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52678func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) {
52679	return nil, false
52680}
52681
52682// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52683func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) {
52684	return nil, false
52685}
52686
52687// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52688func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) {
52689	return &ui6rpsd, true
52690}
52691
52692// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52693func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) {
52694	return nil, false
52695}
52696
52697// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription.
52698func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) {
52699	return &ui6rpsd, true
52700}
52701
52702// UnprovisionApplicationTypeDescriptionInfo describes the operation to unregister or unprovision an
52703// application type and its version that was registered with the Service Fabric.
52704type UnprovisionApplicationTypeDescriptionInfo struct {
52705	// ApplicationTypeVersion - The version of the application type as defined in the application manifest.
52706	ApplicationTypeVersion *string `json:"ApplicationTypeVersion,omitempty"`
52707	// Async - The flag indicating whether or not unprovision should occur asynchronously. When set to true, the unprovision operation returns when the request is accepted by the system, and the unprovision operation continues without any timeout limit. The default value is false. However, we recommend setting it to true for large application packages that were provisioned.
52708	Async *bool `json:"Async,omitempty"`
52709}
52710
52711// UnprovisionFabricDescription describes the parameters for unprovisioning a cluster.
52712type UnprovisionFabricDescription struct {
52713	// CodeVersion - The cluster code package version.
52714	CodeVersion *string `json:"CodeVersion,omitempty"`
52715	// ConfigVersion - The cluster manifest version.
52716	ConfigVersion *string `json:"ConfigVersion,omitempty"`
52717}
52718
52719// UpdateClusterUpgradeDescription parameters for updating a cluster upgrade.
52720type UpdateClusterUpgradeDescription struct {
52721	// UpgradeKind - The type of upgrade out of the following possible values. Possible values include: 'UpgradeTypeInvalid', 'UpgradeTypeRolling', 'UpgradeTypeRollingForceRestart'
52722	UpgradeKind UpgradeType `json:"UpgradeKind,omitempty"`
52723	// UpdateDescription - Describes the parameters for updating a rolling upgrade of application or cluster.
52724	UpdateDescription *RollingUpgradeUpdateDescription `json:"UpdateDescription,omitempty"`
52725	// ClusterHealthPolicy - Defines a health policy used to evaluate the health of the cluster or of a cluster node.
52726	ClusterHealthPolicy *ClusterHealthPolicy `json:"ClusterHealthPolicy,omitempty"`
52727	// EnableDeltaHealthEvaluation - When true, enables delta health evaluation rather than absolute health evaluation after completion of each upgrade domain.
52728	EnableDeltaHealthEvaluation *bool `json:"EnableDeltaHealthEvaluation,omitempty"`
52729	// ClusterUpgradeHealthPolicy - Defines a health policy used to evaluate the health of the cluster during a cluster upgrade.
52730	ClusterUpgradeHealthPolicy *ClusterUpgradeHealthPolicyObject `json:"ClusterUpgradeHealthPolicy,omitempty"`
52731	// ApplicationHealthPolicyMap - Defines the application health policy map used to evaluate the health of an application or one of its children entities.
52732	ApplicationHealthPolicyMap *ApplicationHealthPolicies `json:"ApplicationHealthPolicyMap,omitempty"`
52733}
52734
52735// UpgradeDomainDeltaNodesCheckHealthEvaluation represents health evaluation for delta unhealthy cluster
52736// nodes in an upgrade domain, containing health evaluations for each unhealthy node that impacted current
52737// aggregated health state.
52738// Can be returned during cluster upgrade when cluster aggregated health state is Warning or Error.
52739type UpgradeDomainDeltaNodesCheckHealthEvaluation struct {
52740	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
52741	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
52742	// BaselineErrorCount - Number of upgrade domain nodes with aggregated heath state Error in the health store at the beginning of the cluster upgrade.
52743	BaselineErrorCount *int64 `json:"BaselineErrorCount,omitempty"`
52744	// BaselineTotalCount - Total number of upgrade domain nodes in the health store at the beginning of the cluster upgrade.
52745	BaselineTotalCount *int64 `json:"BaselineTotalCount,omitempty"`
52746	// MaxPercentDeltaUnhealthyNodes - Maximum allowed percentage of upgrade domain delta unhealthy nodes from the ClusterUpgradeHealthPolicy.
52747	MaxPercentDeltaUnhealthyNodes *int32 `json:"MaxPercentDeltaUnhealthyNodes,omitempty"`
52748	// TotalCount - Total number of upgrade domain nodes in the health store.
52749	TotalCount *int64 `json:"TotalCount,omitempty"`
52750	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
52751	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
52752	// 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'
52753	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
52754	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
52755	Description *string `json:"Description,omitempty"`
52756	// 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'
52757	Kind Kind `json:"Kind,omitempty"`
52758}
52759
52760// MarshalJSON is the custom marshaler for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52761func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) MarshalJSON() ([]byte, error) {
52762	uddnche.Kind = KindUpgradeDomainDeltaNodesCheck
52763	objectMap := make(map[string]interface{})
52764	if uddnche.UpgradeDomainName != nil {
52765		objectMap["UpgradeDomainName"] = uddnche.UpgradeDomainName
52766	}
52767	if uddnche.BaselineErrorCount != nil {
52768		objectMap["BaselineErrorCount"] = uddnche.BaselineErrorCount
52769	}
52770	if uddnche.BaselineTotalCount != nil {
52771		objectMap["BaselineTotalCount"] = uddnche.BaselineTotalCount
52772	}
52773	if uddnche.MaxPercentDeltaUnhealthyNodes != nil {
52774		objectMap["MaxPercentDeltaUnhealthyNodes"] = uddnche.MaxPercentDeltaUnhealthyNodes
52775	}
52776	if uddnche.TotalCount != nil {
52777		objectMap["TotalCount"] = uddnche.TotalCount
52778	}
52779	if uddnche.UnhealthyEvaluations != nil {
52780		objectMap["UnhealthyEvaluations"] = uddnche.UnhealthyEvaluations
52781	}
52782	if uddnche.AggregatedHealthState != "" {
52783		objectMap["AggregatedHealthState"] = uddnche.AggregatedHealthState
52784	}
52785	if uddnche.Description != nil {
52786		objectMap["Description"] = uddnche.Description
52787	}
52788	if uddnche.Kind != "" {
52789		objectMap["Kind"] = uddnche.Kind
52790	}
52791	return json.Marshal(objectMap)
52792}
52793
52794// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52795func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
52796	return nil, false
52797}
52798
52799// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52800func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
52801	return nil, false
52802}
52803
52804// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52805func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
52806	return nil, false
52807}
52808
52809// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52810func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
52811	return nil, false
52812}
52813
52814// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52815func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
52816	return nil, false
52817}
52818
52819// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52820func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
52821	return nil, false
52822}
52823
52824// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52825func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
52826	return nil, false
52827}
52828
52829// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52830func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
52831	return nil, false
52832}
52833
52834// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52835func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
52836	return nil, false
52837}
52838
52839// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52840func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
52841	return nil, false
52842}
52843
52844// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52845func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
52846	return nil, false
52847}
52848
52849// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52850func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
52851	return nil, false
52852}
52853
52854// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52855func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
52856	return nil, false
52857}
52858
52859// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52860func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
52861	return nil, false
52862}
52863
52864// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52865func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
52866	return nil, false
52867}
52868
52869// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52870func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
52871	return nil, false
52872}
52873
52874// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52875func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
52876	return nil, false
52877}
52878
52879// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52880func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
52881	return nil, false
52882}
52883
52884// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52885func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
52886	return &uddnche, true
52887}
52888
52889// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52890func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
52891	return nil, false
52892}
52893
52894// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52895func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
52896	return nil, false
52897}
52898
52899// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainDeltaNodesCheckHealthEvaluation.
52900func (uddnche UpgradeDomainDeltaNodesCheckHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
52901	return &uddnche, true
52902}
52903
52904// UpgradeDomainInfo information about an upgrade domain.
52905type UpgradeDomainInfo struct {
52906	// Name - The name of the upgrade domain
52907	Name *string `json:"Name,omitempty"`
52908	// State - The state of the upgrade domain. Possible values include: 'UpgradeDomainStateInvalid', 'UpgradeDomainStatePending', 'UpgradeDomainStateInProgress', 'UpgradeDomainStateCompleted'
52909	State UpgradeDomainState `json:"State,omitempty"`
52910}
52911
52912// UpgradeDomainNodesHealthEvaluation represents health evaluation for cluster nodes in an upgrade domain,
52913// containing health evaluations for each unhealthy node that impacted current aggregated health state. Can
52914// be returned when evaluating cluster health during cluster upgrade and the aggregated health state is
52915// either Error or Warning.
52916type UpgradeDomainNodesHealthEvaluation struct {
52917	// UpgradeDomainName - Name of the upgrade domain where nodes health is currently evaluated.
52918	UpgradeDomainName *string `json:"UpgradeDomainName,omitempty"`
52919	// MaxPercentUnhealthyNodes - Maximum allowed percentage of unhealthy nodes from the ClusterHealthPolicy.
52920	MaxPercentUnhealthyNodes *int32 `json:"MaxPercentUnhealthyNodes,omitempty"`
52921	// TotalCount - Total number of nodes in the current upgrade domain.
52922	TotalCount *int64 `json:"TotalCount,omitempty"`
52923	// UnhealthyEvaluations - List of unhealthy evaluations that led to the aggregated health state. Includes all the unhealthy NodeHealthEvaluation that impacted the aggregated health.
52924	UnhealthyEvaluations *[]HealthEvaluationWrapper `json:"UnhealthyEvaluations,omitempty"`
52925	// 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'
52926	AggregatedHealthState HealthState `json:"AggregatedHealthState,omitempty"`
52927	// Description - Description of the health evaluation, which represents a summary of the evaluation process.
52928	Description *string `json:"Description,omitempty"`
52929	// 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'
52930	Kind Kind `json:"Kind,omitempty"`
52931}
52932
52933// MarshalJSON is the custom marshaler for UpgradeDomainNodesHealthEvaluation.
52934func (udnhe UpgradeDomainNodesHealthEvaluation) MarshalJSON() ([]byte, error) {
52935	udnhe.Kind = KindUpgradeDomainNodes
52936	objectMap := make(map[string]interface{})
52937	if udnhe.UpgradeDomainName != nil {
52938		objectMap["UpgradeDomainName"] = udnhe.UpgradeDomainName
52939	}
52940	if udnhe.MaxPercentUnhealthyNodes != nil {
52941		objectMap["MaxPercentUnhealthyNodes"] = udnhe.MaxPercentUnhealthyNodes
52942	}
52943	if udnhe.TotalCount != nil {
52944		objectMap["TotalCount"] = udnhe.TotalCount
52945	}
52946	if udnhe.UnhealthyEvaluations != nil {
52947		objectMap["UnhealthyEvaluations"] = udnhe.UnhealthyEvaluations
52948	}
52949	if udnhe.AggregatedHealthState != "" {
52950		objectMap["AggregatedHealthState"] = udnhe.AggregatedHealthState
52951	}
52952	if udnhe.Description != nil {
52953		objectMap["Description"] = udnhe.Description
52954	}
52955	if udnhe.Kind != "" {
52956		objectMap["Kind"] = udnhe.Kind
52957	}
52958	return json.Marshal(objectMap)
52959}
52960
52961// AsApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52962func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationHealthEvaluation() (*ApplicationHealthEvaluation, bool) {
52963	return nil, false
52964}
52965
52966// AsApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52967func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationsHealthEvaluation() (*ApplicationsHealthEvaluation, bool) {
52968	return nil, false
52969}
52970
52971// AsApplicationTypeApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52972func (udnhe UpgradeDomainNodesHealthEvaluation) AsApplicationTypeApplicationsHealthEvaluation() (*ApplicationTypeApplicationsHealthEvaluation, bool) {
52973	return nil, false
52974}
52975
52976// AsDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52977func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeltaNodesCheckHealthEvaluation() (*DeltaNodesCheckHealthEvaluation, bool) {
52978	return nil, false
52979}
52980
52981// AsDeployedApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52982func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationHealthEvaluation() (*DeployedApplicationHealthEvaluation, bool) {
52983	return nil, false
52984}
52985
52986// AsDeployedApplicationsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52987func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedApplicationsHealthEvaluation() (*DeployedApplicationsHealthEvaluation, bool) {
52988	return nil, false
52989}
52990
52991// AsDeployedServicePackageHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52992func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackageHealthEvaluation() (*DeployedServicePackageHealthEvaluation, bool) {
52993	return nil, false
52994}
52995
52996// AsDeployedServicePackagesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
52997func (udnhe UpgradeDomainNodesHealthEvaluation) AsDeployedServicePackagesHealthEvaluation() (*DeployedServicePackagesHealthEvaluation, bool) {
52998	return nil, false
52999}
53000
53001// AsEventHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53002func (udnhe UpgradeDomainNodesHealthEvaluation) AsEventHealthEvaluation() (*EventHealthEvaluation, bool) {
53003	return nil, false
53004}
53005
53006// AsNodeHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53007func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodeHealthEvaluation() (*NodeHealthEvaluation, bool) {
53008	return nil, false
53009}
53010
53011// AsNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53012func (udnhe UpgradeDomainNodesHealthEvaluation) AsNodesHealthEvaluation() (*NodesHealthEvaluation, bool) {
53013	return nil, false
53014}
53015
53016// AsPartitionHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53017func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionHealthEvaluation() (*PartitionHealthEvaluation, bool) {
53018	return nil, false
53019}
53020
53021// AsPartitionsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53022func (udnhe UpgradeDomainNodesHealthEvaluation) AsPartitionsHealthEvaluation() (*PartitionsHealthEvaluation, bool) {
53023	return nil, false
53024}
53025
53026// AsReplicaHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53027func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicaHealthEvaluation() (*ReplicaHealthEvaluation, bool) {
53028	return nil, false
53029}
53030
53031// AsReplicasHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53032func (udnhe UpgradeDomainNodesHealthEvaluation) AsReplicasHealthEvaluation() (*ReplicasHealthEvaluation, bool) {
53033	return nil, false
53034}
53035
53036// AsServiceHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53037func (udnhe UpgradeDomainNodesHealthEvaluation) AsServiceHealthEvaluation() (*ServiceHealthEvaluation, bool) {
53038	return nil, false
53039}
53040
53041// AsServicesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53042func (udnhe UpgradeDomainNodesHealthEvaluation) AsServicesHealthEvaluation() (*ServicesHealthEvaluation, bool) {
53043	return nil, false
53044}
53045
53046// AsSystemApplicationHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53047func (udnhe UpgradeDomainNodesHealthEvaluation) AsSystemApplicationHealthEvaluation() (*SystemApplicationHealthEvaluation, bool) {
53048	return nil, false
53049}
53050
53051// AsUpgradeDomainDeltaNodesCheckHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53052func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainDeltaNodesCheckHealthEvaluation() (*UpgradeDomainDeltaNodesCheckHealthEvaluation, bool) {
53053	return nil, false
53054}
53055
53056// AsUpgradeDomainNodesHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53057func (udnhe UpgradeDomainNodesHealthEvaluation) AsUpgradeDomainNodesHealthEvaluation() (*UpgradeDomainNodesHealthEvaluation, bool) {
53058	return &udnhe, true
53059}
53060
53061// AsHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53062func (udnhe UpgradeDomainNodesHealthEvaluation) AsHealthEvaluation() (*HealthEvaluation, bool) {
53063	return nil, false
53064}
53065
53066// AsBasicHealthEvaluation is the BasicHealthEvaluation implementation for UpgradeDomainNodesHealthEvaluation.
53067func (udnhe UpgradeDomainNodesHealthEvaluation) AsBasicHealthEvaluation() (BasicHealthEvaluation, bool) {
53068	return &udnhe, true
53069}
53070
53071// UpgradeOrchestrationServiceState service state of Service Fabric Upgrade Orchestration Service.
53072type UpgradeOrchestrationServiceState struct {
53073	autorest.Response `json:"-"`
53074	// ServiceState - The state of Service Fabric Upgrade Orchestration Service.
53075	ServiceState *string `json:"ServiceState,omitempty"`
53076}
53077
53078// UpgradeOrchestrationServiceStateSummary service state summary of Service Fabric Upgrade Orchestration
53079// Service.
53080type UpgradeOrchestrationServiceStateSummary struct {
53081	autorest.Response `json:"-"`
53082	// CurrentCodeVersion - The current code version of the cluster.
53083	CurrentCodeVersion *string `json:"CurrentCodeVersion,omitempty"`
53084	// CurrentManifestVersion - The current manifest version of the cluster.
53085	CurrentManifestVersion *string `json:"CurrentManifestVersion,omitempty"`
53086	// TargetCodeVersion - The target code version of  the cluster.
53087	TargetCodeVersion *string `json:"TargetCodeVersion,omitempty"`
53088	// TargetManifestVersion - The target manifest version of the cluster.
53089	TargetManifestVersion *string `json:"TargetManifestVersion,omitempty"`
53090	// PendingUpgradeType - The type of the pending upgrade of the cluster.
53091	PendingUpgradeType *string `json:"PendingUpgradeType,omitempty"`
53092}
53093
53094// UploadChunkRange information about which portion of the file to upload.
53095type UploadChunkRange struct {
53096	// StartPosition - The start position of the portion of the file. It's represented by the number of bytes.
53097	StartPosition *string `json:"StartPosition,omitempty"`
53098	// EndPosition - The end position of the portion of the file. It's represented by the number of bytes.
53099	EndPosition *string `json:"EndPosition,omitempty"`
53100}
53101
53102// UploadSession information about a image store upload session
53103type UploadSession struct {
53104	autorest.Response `json:"-"`
53105	// 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.
53106	UploadSessions *[]UploadSessionInfo `json:"UploadSessions,omitempty"`
53107}
53108
53109// UploadSessionInfo information about an image store upload session. A session is associated with a
53110// relative path in the image store.
53111type UploadSessionInfo struct {
53112	// StoreRelativePath - The remote location within image store. This path is relative to the image store root.
53113	StoreRelativePath *string `json:"StoreRelativePath,omitempty"`
53114	// SessionID - A unique ID of the upload session. A session ID can be reused only if the session was committed or removed.
53115	SessionID *uuid.UUID `json:"SessionId,omitempty"`
53116	// ModifiedDate - The date and time when the upload session was last modified.
53117	ModifiedDate *date.Time `json:"ModifiedDate,omitempty"`
53118	// FileSize - The size in bytes of the uploading file.
53119	FileSize *string `json:"FileSize,omitempty"`
53120	// ExpectedRanges - List of chunk ranges that image store has not received yet.
53121	ExpectedRanges *[]UploadChunkRange `json:"ExpectedRanges,omitempty"`
53122}
53123
53124// ValidationFailedChaosEvent chaos event corresponding to a failure during validation.
53125type ValidationFailedChaosEvent struct {
53126	// 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.
53127	Reason *string `json:"Reason,omitempty"`
53128	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
53129	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
53130	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
53131	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
53132}
53133
53134// MarshalJSON is the custom marshaler for ValidationFailedChaosEvent.
53135func (vfce ValidationFailedChaosEvent) MarshalJSON() ([]byte, error) {
53136	vfce.Kind = KindValidationFailed
53137	objectMap := make(map[string]interface{})
53138	if vfce.Reason != nil {
53139		objectMap["Reason"] = vfce.Reason
53140	}
53141	if vfce.TimeStampUtc != nil {
53142		objectMap["TimeStampUtc"] = vfce.TimeStampUtc
53143	}
53144	if vfce.Kind != "" {
53145		objectMap["Kind"] = vfce.Kind
53146	}
53147	return json.Marshal(objectMap)
53148}
53149
53150// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53151func (vfce ValidationFailedChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
53152	return nil, false
53153}
53154
53155// AsStartedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53156func (vfce ValidationFailedChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
53157	return nil, false
53158}
53159
53160// AsStoppedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53161func (vfce ValidationFailedChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
53162	return nil, false
53163}
53164
53165// AsTestErrorChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53166func (vfce ValidationFailedChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
53167	return nil, false
53168}
53169
53170// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53171func (vfce ValidationFailedChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
53172	return &vfce, true
53173}
53174
53175// AsWaitingChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53176func (vfce ValidationFailedChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
53177	return nil, false
53178}
53179
53180// AsChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53181func (vfce ValidationFailedChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
53182	return nil, false
53183}
53184
53185// AsBasicChaosEvent is the BasicChaosEvent implementation for ValidationFailedChaosEvent.
53186func (vfce ValidationFailedChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
53187	return &vfce, true
53188}
53189
53190// VolumeProperties this type describes properties of a volume resource.
53191type VolumeProperties struct {
53192	// Description - User readable description of the volume.
53193	Description *string `json:"description,omitempty"`
53194	// Provider - Provider of the volume.
53195	Provider *string `json:"provider,omitempty"`
53196	// AzureFileParameters - This type describes a volume provided by an Azure Files file share.
53197	AzureFileParameters *VolumeProviderParametersAzureFile `json:"azureFileParameters,omitempty"`
53198}
53199
53200// VolumeProviderParametersAzureFile this type describes a volume provided by an Azure Files file share.
53201type VolumeProviderParametersAzureFile struct {
53202	// AccountName - Name of the Azure storage account for the File Share.
53203	AccountName *string `json:"accountName,omitempty"`
53204	// AccountKey - Access key of the Azure storage account for the File Share.
53205	AccountKey *string `json:"accountKey,omitempty"`
53206	// ShareName - Name of the Azure Files file share that provides storage for the volume.
53207	ShareName *string `json:"shareName,omitempty"`
53208}
53209
53210// VolumeResourceDescription describes a service fabric volume resource.
53211type VolumeResourceDescription struct {
53212	autorest.Response `json:"-"`
53213	// VolumeProperties - This type describes properties of a volume resource.
53214	*VolumeProperties `json:"properties,omitempty"`
53215	// Name - Volume resource name.
53216	Name *string `json:"name,omitempty"`
53217}
53218
53219// MarshalJSON is the custom marshaler for VolumeResourceDescription.
53220func (vrd VolumeResourceDescription) MarshalJSON() ([]byte, error) {
53221	objectMap := make(map[string]interface{})
53222	if vrd.VolumeProperties != nil {
53223		objectMap["properties"] = vrd.VolumeProperties
53224	}
53225	if vrd.Name != nil {
53226		objectMap["name"] = vrd.Name
53227	}
53228	return json.Marshal(objectMap)
53229}
53230
53231// UnmarshalJSON is the custom unmarshaler for VolumeResourceDescription struct.
53232func (vrd *VolumeResourceDescription) UnmarshalJSON(body []byte) error {
53233	var m map[string]*json.RawMessage
53234	err := json.Unmarshal(body, &m)
53235	if err != nil {
53236		return err
53237	}
53238	for k, v := range m {
53239		switch k {
53240		case "properties":
53241			if v != nil {
53242				var volumeProperties VolumeProperties
53243				err = json.Unmarshal(*v, &volumeProperties)
53244				if err != nil {
53245					return err
53246				}
53247				vrd.VolumeProperties = &volumeProperties
53248			}
53249		case "name":
53250			if v != nil {
53251				var name string
53252				err = json.Unmarshal(*v, &name)
53253				if err != nil {
53254					return err
53255				}
53256				vrd.Name = &name
53257			}
53258		}
53259	}
53260
53261	return nil
53262}
53263
53264// WaitForInbuildReplicaSafetyCheck safety check that waits for the replica build operation to finish. This
53265// indicates that there is a replica that is going through the copy or is providing data for building
53266// another replica. Bring the node down will abort this copy operation which are typically expensive
53267// involving data movements.
53268type WaitForInbuildReplicaSafetyCheck struct {
53269	// PartitionID - Id of the partition which is undergoing the safety check.
53270	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
53271	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
53272	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
53273}
53274
53275// MarshalJSON is the custom marshaler for WaitForInbuildReplicaSafetyCheck.
53276func (wfirsc WaitForInbuildReplicaSafetyCheck) MarshalJSON() ([]byte, error) {
53277	wfirsc.Kind = KindWaitForInbuildReplica
53278	objectMap := make(map[string]interface{})
53279	if wfirsc.PartitionID != nil {
53280		objectMap["PartitionId"] = wfirsc.PartitionID
53281	}
53282	if wfirsc.Kind != "" {
53283		objectMap["Kind"] = wfirsc.Kind
53284	}
53285	return json.Marshal(objectMap)
53286}
53287
53288// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53289func (wfirsc WaitForInbuildReplicaSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
53290	return nil, false
53291}
53292
53293// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53294func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
53295	return &wfirsc, true
53296}
53297
53298// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53299func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
53300	return nil, false
53301}
53302
53303// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53304func (wfirsc WaitForInbuildReplicaSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
53305	return nil, false
53306}
53307
53308// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53309func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
53310	return nil, false
53311}
53312
53313// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53314func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
53315	return &wfirsc, true
53316}
53317
53318// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53319func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
53320	return nil, false
53321}
53322
53323// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53324func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
53325	return nil, false
53326}
53327
53328// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53329func (wfirsc WaitForInbuildReplicaSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
53330	return nil, false
53331}
53332
53333// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53334func (wfirsc WaitForInbuildReplicaSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
53335	return nil, false
53336}
53337
53338// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForInbuildReplicaSafetyCheck.
53339func (wfirsc WaitForInbuildReplicaSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
53340	return &wfirsc, true
53341}
53342
53343// WaitForPrimaryPlacementSafetyCheck safety check that waits for the primary replica that was moved out of
53344// the node due to upgrade to be placed back again on that node.
53345type WaitForPrimaryPlacementSafetyCheck struct {
53346	// PartitionID - Id of the partition which is undergoing the safety check.
53347	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
53348	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
53349	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
53350}
53351
53352// MarshalJSON is the custom marshaler for WaitForPrimaryPlacementSafetyCheck.
53353func (wfppsc WaitForPrimaryPlacementSafetyCheck) MarshalJSON() ([]byte, error) {
53354	wfppsc.Kind = KindWaitForPrimaryPlacement
53355	objectMap := make(map[string]interface{})
53356	if wfppsc.PartitionID != nil {
53357		objectMap["PartitionId"] = wfppsc.PartitionID
53358	}
53359	if wfppsc.Kind != "" {
53360		objectMap["Kind"] = wfppsc.Kind
53361	}
53362	return json.Marshal(objectMap)
53363}
53364
53365// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53366func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
53367	return nil, false
53368}
53369
53370// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53371func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
53372	return &wfppsc, true
53373}
53374
53375// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53376func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
53377	return nil, false
53378}
53379
53380// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53381func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
53382	return nil, false
53383}
53384
53385// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53386func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
53387	return nil, false
53388}
53389
53390// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53391func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
53392	return nil, false
53393}
53394
53395// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53396func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
53397	return &wfppsc, true
53398}
53399
53400// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53401func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
53402	return nil, false
53403}
53404
53405// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53406func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
53407	return nil, false
53408}
53409
53410// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53411func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
53412	return nil, false
53413}
53414
53415// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimaryPlacementSafetyCheck.
53416func (wfppsc WaitForPrimaryPlacementSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
53417	return &wfppsc, true
53418}
53419
53420// WaitForPrimarySwapSafetyCheck safety check that waits for the primary replica to be moved out of the
53421// node before starting an upgrade to ensure the availability of the primary replica for the partition.
53422type WaitForPrimarySwapSafetyCheck struct {
53423	// PartitionID - Id of the partition which is undergoing the safety check.
53424	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
53425	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
53426	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
53427}
53428
53429// MarshalJSON is the custom marshaler for WaitForPrimarySwapSafetyCheck.
53430func (wfpssc WaitForPrimarySwapSafetyCheck) MarshalJSON() ([]byte, error) {
53431	wfpssc.Kind = KindWaitForPrimarySwap
53432	objectMap := make(map[string]interface{})
53433	if wfpssc.PartitionID != nil {
53434		objectMap["PartitionId"] = wfpssc.PartitionID
53435	}
53436	if wfpssc.Kind != "" {
53437		objectMap["Kind"] = wfpssc.Kind
53438	}
53439	return json.Marshal(objectMap)
53440}
53441
53442// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53443func (wfpssc WaitForPrimarySwapSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
53444	return nil, false
53445}
53446
53447// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53448func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
53449	return &wfpssc, true
53450}
53451
53452// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53453func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
53454	return nil, false
53455}
53456
53457// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53458func (wfpssc WaitForPrimarySwapSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
53459	return nil, false
53460}
53461
53462// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53463func (wfpssc WaitForPrimarySwapSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
53464	return nil, false
53465}
53466
53467// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53468func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
53469	return nil, false
53470}
53471
53472// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53473func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
53474	return nil, false
53475}
53476
53477// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53478func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
53479	return &wfpssc, true
53480}
53481
53482// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53483func (wfpssc WaitForPrimarySwapSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
53484	return nil, false
53485}
53486
53487// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53488func (wfpssc WaitForPrimarySwapSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
53489	return nil, false
53490}
53491
53492// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForPrimarySwapSafetyCheck.
53493func (wfpssc WaitForPrimarySwapSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
53494	return &wfpssc, true
53495}
53496
53497// WaitForReconfigurationSafetyCheck safety check that waits for the current reconfiguration of the
53498// partition to be completed before starting an upgrade.
53499type WaitForReconfigurationSafetyCheck struct {
53500	// PartitionID - Id of the partition which is undergoing the safety check.
53501	PartitionID *uuid.UUID `json:"PartitionId,omitempty"`
53502	// Kind - Possible values include: 'KindSafetyCheck', 'KindPartitionSafetyCheck', 'KindEnsureAvailability', 'KindEnsurePartitionQuorum', 'KindEnsureSeedNodeQuorum', 'KindWaitForInbuildReplica', 'KindWaitForPrimaryPlacement', 'KindWaitForPrimarySwap', 'KindWaitForReconfiguration'
53503	Kind KindBasicSafetyCheck `json:"Kind,omitempty"`
53504}
53505
53506// MarshalJSON is the custom marshaler for WaitForReconfigurationSafetyCheck.
53507func (wfrsc WaitForReconfigurationSafetyCheck) MarshalJSON() ([]byte, error) {
53508	wfrsc.Kind = KindWaitForReconfiguration
53509	objectMap := make(map[string]interface{})
53510	if wfrsc.PartitionID != nil {
53511		objectMap["PartitionId"] = wfrsc.PartitionID
53512	}
53513	if wfrsc.Kind != "" {
53514		objectMap["Kind"] = wfrsc.Kind
53515	}
53516	return json.Marshal(objectMap)
53517}
53518
53519// AsPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53520func (wfrsc WaitForReconfigurationSafetyCheck) AsPartitionSafetyCheck() (*PartitionSafetyCheck, bool) {
53521	return nil, false
53522}
53523
53524// AsBasicPartitionSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53525func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicPartitionSafetyCheck() (BasicPartitionSafetyCheck, bool) {
53526	return &wfrsc, true
53527}
53528
53529// AsEnsureAvailabilitySafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53530func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsureAvailabilitySafetyCheck() (*EnsureAvailabilitySafetyCheck, bool) {
53531	return nil, false
53532}
53533
53534// AsEnsurePartitionQurumSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53535func (wfrsc WaitForReconfigurationSafetyCheck) AsEnsurePartitionQurumSafetyCheck() (*EnsurePartitionQurumSafetyCheck, bool) {
53536	return nil, false
53537}
53538
53539// AsSeedNodeSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53540func (wfrsc WaitForReconfigurationSafetyCheck) AsSeedNodeSafetyCheck() (*SeedNodeSafetyCheck, bool) {
53541	return nil, false
53542}
53543
53544// AsWaitForInbuildReplicaSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53545func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForInbuildReplicaSafetyCheck() (*WaitForInbuildReplicaSafetyCheck, bool) {
53546	return nil, false
53547}
53548
53549// AsWaitForPrimaryPlacementSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53550func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimaryPlacementSafetyCheck() (*WaitForPrimaryPlacementSafetyCheck, bool) {
53551	return nil, false
53552}
53553
53554// AsWaitForPrimarySwapSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53555func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForPrimarySwapSafetyCheck() (*WaitForPrimarySwapSafetyCheck, bool) {
53556	return nil, false
53557}
53558
53559// AsWaitForReconfigurationSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53560func (wfrsc WaitForReconfigurationSafetyCheck) AsWaitForReconfigurationSafetyCheck() (*WaitForReconfigurationSafetyCheck, bool) {
53561	return &wfrsc, true
53562}
53563
53564// AsSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53565func (wfrsc WaitForReconfigurationSafetyCheck) AsSafetyCheck() (*SafetyCheck, bool) {
53566	return nil, false
53567}
53568
53569// AsBasicSafetyCheck is the BasicSafetyCheck implementation for WaitForReconfigurationSafetyCheck.
53570func (wfrsc WaitForReconfigurationSafetyCheck) AsBasicSafetyCheck() (BasicSafetyCheck, bool) {
53571	return &wfrsc, true
53572}
53573
53574// WaitingChaosEvent describes a Chaos event that gets generated when Chaos is waiting for the cluster to
53575// become ready for faulting, for example, Chaos may be waiting for the on-going upgrade to finish.
53576type WaitingChaosEvent struct {
53577	// Reason - Describes why the WaitingChaosEvent was generated, for example, due to a cluster upgrade.
53578	Reason *string `json:"Reason,omitempty"`
53579	// TimeStampUtc - The UTC timestamp when this Chaos event was generated.
53580	TimeStampUtc *date.Time `json:"TimeStampUtc,omitempty"`
53581	// Kind - Possible values include: 'KindChaosEvent', 'KindExecutingFaults', 'KindStarted', 'KindStopped', 'KindTestError', 'KindValidationFailed', 'KindWaiting'
53582	Kind KindBasicChaosEvent `json:"Kind,omitempty"`
53583}
53584
53585// MarshalJSON is the custom marshaler for WaitingChaosEvent.
53586func (wce WaitingChaosEvent) MarshalJSON() ([]byte, error) {
53587	wce.Kind = KindWaiting
53588	objectMap := make(map[string]interface{})
53589	if wce.Reason != nil {
53590		objectMap["Reason"] = wce.Reason
53591	}
53592	if wce.TimeStampUtc != nil {
53593		objectMap["TimeStampUtc"] = wce.TimeStampUtc
53594	}
53595	if wce.Kind != "" {
53596		objectMap["Kind"] = wce.Kind
53597	}
53598	return json.Marshal(objectMap)
53599}
53600
53601// AsExecutingFaultsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53602func (wce WaitingChaosEvent) AsExecutingFaultsChaosEvent() (*ExecutingFaultsChaosEvent, bool) {
53603	return nil, false
53604}
53605
53606// AsStartedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53607func (wce WaitingChaosEvent) AsStartedChaosEvent() (*StartedChaosEvent, bool) {
53608	return nil, false
53609}
53610
53611// AsStoppedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53612func (wce WaitingChaosEvent) AsStoppedChaosEvent() (*StoppedChaosEvent, bool) {
53613	return nil, false
53614}
53615
53616// AsTestErrorChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53617func (wce WaitingChaosEvent) AsTestErrorChaosEvent() (*TestErrorChaosEvent, bool) {
53618	return nil, false
53619}
53620
53621// AsValidationFailedChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53622func (wce WaitingChaosEvent) AsValidationFailedChaosEvent() (*ValidationFailedChaosEvent, bool) {
53623	return nil, false
53624}
53625
53626// AsWaitingChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53627func (wce WaitingChaosEvent) AsWaitingChaosEvent() (*WaitingChaosEvent, bool) {
53628	return &wce, true
53629}
53630
53631// AsChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53632func (wce WaitingChaosEvent) AsChaosEvent() (*ChaosEvent, bool) {
53633	return nil, false
53634}
53635
53636// AsBasicChaosEvent is the BasicChaosEvent implementation for WaitingChaosEvent.
53637func (wce WaitingChaosEvent) AsBasicChaosEvent() (BasicChaosEvent, bool) {
53638	return &wce, true
53639}
53640