package entity

// ComponentName is the name of the component
type ComponentName string

const (
	PD      ComponentName = "pd"      // Placement Driver
	TiKV    ComponentName = "tikv"    // TiKV
	TiDB    ComponentName = "tidb"    // TiDB
	TiFlash ComponentName = "tiflash" // TiFlash
	TiCDC   ComponentName = "ticdc"   // TiCDC
)

// ReplicationType is the type of the replication
type ReplicationType string

const (
	ReplicationTypeCdc ReplicationType = "cdc"
)

// ReplicationStatus is the status of the replication
type ReplicationStatus string

const (
	ReplicationStatusCreating    ReplicationStatus = "creating"
	ReplicationStatusReplicating ReplicationStatus = "replicating"
	ReplicationStatusDetaching   ReplicationStatus = "detaching"
	ReplicationStatusDetached    ReplicationStatus = "detached"
	ReplicationStatusFailed      ReplicationStatus = "failed"
	ReplicationStatusPause       ReplicationStatus = "pause"
)

// TiCDCClusterStatus is the status of the cdc cluster
type TiCDCClusterStatus string

const (
	TiCDCClusterStatusCreating  TiCDCClusterStatus = "creating"
	TiCDCClusterStatusRunning   TiCDCClusterStatus = "running"
	TiCDCClusterStatusDeleting  TiCDCClusterStatus = "deleting"
	TiCDCClusterStatusDeleted   TiCDCClusterStatus = "deleted"
	TiCDCClusterStatusScaling   TiCDCClusterStatus = "scaling"
	TiCDCClusterStatusUpgrading TiCDCClusterStatus = "upgrading"
)

type TiCDCChangefeedDownStreamType string

const (
	TiCDCDownStreamTypeMySQL            TiCDCChangefeedDownStreamType = "mysql"
	TiCDCDownStreamTypeKafka            TiCDCChangefeedDownStreamType = "kafka"
	TiCDCDownStreamTypeS3               TiCDCChangefeedDownStreamType = "s3"
	TiCDCDownStreamTypeGCS              TiCDCChangefeedDownStreamType = "gcs"
	TiCDCDownStreamTypeAzureBlobStorage TiCDCChangefeedDownStreamType = "azblob"
	TiCDCDownStreamTypeServerless       TiCDCChangefeedDownStreamType = "serverless_tidb"
	TiCDCDownStreamTypePulsar           TiCDCChangefeedDownStreamType = "pulsar"
)

// TiCDCChangefeedKernelStatus describes whether the kernel-side changefeed has
// been confirmed created. The DAG-driven creation flow persists the row with
// status=pending before talking to regional, then flips to active only after
// the kernel acknowledges the changefeed exists. Existing rows default to
// 'active' so the new field is backwards-compatible without a backfill.
type TiCDCChangefeedKernelStatus string

const (
	TiCDCChangefeedKernelStatusPending TiCDCChangefeedKernelStatus = "pending"
	TiCDCChangefeedKernelStatusActive  TiCDCChangefeedKernelStatus = "active"
)

// TiCDCClusterStatus is the status of the cdc cluster
type TiCDCClusterActionType string

const (
	TiCDCClusterActionCreate TiCDCClusterActionType = "create"
	TiCDCClusterActionDelete TiCDCClusterActionType = "delete"
	TiCDCClusterActionScale  TiCDCClusterActionType = "scale"
)

// DetachType is the type of the detach
type DetachType string

const (
	DetachTypePlanned DetachType = "planned"
	DetachTypeForce   DetachType = "force"
	DetachTypeNone    DetachType = "none"
)

// BackupCleanPolicy is the policy of the backup clean
type BackupCleanPolicy string

const (
	BackupCleanPolicyDelete BackupCleanPolicy = "delete"
	BackupCleanPolicyRetain BackupCleanPolicy = "retain"
)

// BackupStatus is the status of the backup
type BackupStatus string

const (
	BackupStatusUnspecified BackupStatus = "unspecified"
	BackupStatusPending     BackupStatus = "pending"
	BackupStatusRunning     BackupStatus = "running"
	BackupStatusFailed      BackupStatus = "failed"
	BackupStatusSuccess     BackupStatus = "success"
	BackupStatusSkipped     BackupStatus = "skipped"
	BackupStatusTerminated  BackupStatus = "terminated"
)

var UnsuccessfulBackupStatuses = []BackupStatus{
	BackupStatusFailed,
	BackupStatusSkipped,
	BackupStatusTerminated,
}

var FinalBackupStatuses = []BackupStatus{
	BackupStatusFailed,
	BackupStatusSkipped,
	BackupStatusSuccess,
	BackupStatusTerminated,
}

type BackupExportStatus string

const (
	BackupExportStatusUnspecified BackupExportStatus = "unspecified"
	BackupExportStatusPending     BackupExportStatus = "pending"
	BackupExportStatusRunning     BackupExportStatus = "running"
	BackupExportStatusFailed      BackupExportStatus = "failed"
	BackupExportStatusSuccess     BackupExportStatus = "success"
	BackupExportStatusCanceled    BackupExportStatus = "canceled"
)

var FinalBackupExportStatuses = []BackupExportStatus{
	BackupExportStatusFailed,
	BackupExportStatusSuccess,
	BackupExportStatusCanceled,
}

type TiDBClusterGCSwitchBusinessType string

const (
	TiDBClusterGCSwitchBusinessTypeRg        TiDBClusterGCSwitchBusinessType = "recovery_group"
	TiDBClusterGCSwitchBusinessTypePiTBackup TiDBClusterGCSwitchBusinessType = "pit_backup"
)

type TiDBClusterGCSwitchStatus string

const (
	TiDBClusterGCSwitchStatusEnabled  TiDBClusterGCSwitchStatus = "enabled"
	TiDBClusterGCSwitchStatusDisabled TiDBClusterGCSwitchStatus = "disabled"
)

type AWSBucketReplicationStatus string

const (
	AWSBucketReplicationStatusCreating AWSBucketReplicationStatus = "creating"
	AWSBucketReplicationStatusCreated  AWSBucketReplicationStatus = "created"
	AWSBucketReplicationStatusDeleting AWSBucketReplicationStatus = "deleting"
	AWSBucketReplicationStatusDeleted  AWSBucketReplicationStatus = "deleted"
)

type LogBackupStatus string

const (
	LogBackupStatusScheduled LogBackupStatus = "scheduled"
	LogBackupStatusPending   LogBackupStatus = "pending"
	LogBackupStatusRunning   LogBackupStatus = "running"
	LogBackupStatusStopping  LogBackupStatus = "stopping"
	LogBackupStatusStopped   LogBackupStatus = "stopped"
	LogBackupStatusPausing   LogBackupStatus = "pausing"
	LogBackupStatusPaused    LogBackupStatus = "paused"
	LogBackupStatusResuming  LogBackupStatus = "resuming"
	LogBackupStatusFailed    LogBackupStatus = "failed"
)

func (s LogBackupStatus) IsFinishedStatus() bool {
	return s == LogBackupStatusStopped || s == LogBackupStatusFailed
}

type LogBackupTruncateStatus string

const (
	LogBackupTruncateStatusPending LogBackupTruncateStatus = "pending"
	LogBackupTruncateStatusRunning LogBackupTruncateStatus = "running"
	LogBackupTruncateStatusSuccess LogBackupTruncateStatus = "success"
	LogBackupTruncateStatusFailed  LogBackupTruncateStatus = "failed"
)

type CompactBackupStatus string

const (
	CompactBackupStatusPending  CompactBackupStatus = "pending"
	CompactBackupStatusRunning  CompactBackupStatus = "running"
	CompactBackupStatusSuccess  CompactBackupStatus = "success"
	CompactBackupStatusFailed   CompactBackupStatus = "failed"
	CompactBackupStatusDeleting CompactBackupStatus = "deleting"
	CompactBackupStatusDeleted  CompactBackupStatus = "deleted"
)

func (s CompactBackupStatus) IsFinishedStatus() bool {
	return s == CompactBackupStatusSuccess ||
		s == CompactBackupStatusFailed ||
		s == CompactBackupStatusDeleted
}

type PitBackupSwitchStatus string

const (
	PitBackupStatusDisabled             PitBackupSwitchStatus = "disabled"
	PitBackupStatusWaitingForEnabling   PitBackupSwitchStatus = "waiting_for_enabling"
	PitBackupStatusEnabling             PitBackupSwitchStatus = "enabling"
	PitBackupStatusEnabled              PitBackupSwitchStatus = "enabled"
	PitBackupStatusDisabling            PitBackupSwitchStatus = "disabling"
	PitBackupStatusWaitingForRestarting PitBackupSwitchStatus = "waiting_for_restarting"
	PitBackupStatusRestarting           PitBackupSwitchStatus = "restarting"
)

type PitBackupSwitchActionType string

const (
	PitBackupSwitchActionEnable   PitBackupSwitchActionType = "enable"
	PitBackupSwitchActionDoEnable PitBackupSwitchActionType = "do_enable"
	PitBackupSwitchActionDisable  PitBackupSwitchActionType = "disable"

	PitBackupSwitchActionRestart       PitBackupSwitchActionType = "restart"
	PitBackupSwitchActionDoRestart     PitBackupSwitchActionType = "do_restart"
	PitBackupSwitchActionCancelRestart PitBackupSwitchActionType = "cancel_restart"
)

// BackupType is the type of the backup
type BackupType string

const (
	BackupTypeAll    BackupType = "all"
	BackupTypeAuto   BackupType = "auto"
	BackupTypeManual BackupType = "manual"
)

// BackupClusterType is the type of the backup deploy
type BackupClusterType string

const (
	BackupClusterTypeDedicated  BackupClusterType = "dedicated"
	BackupClusterTypeServerless BackupClusterType = "serverless"
)

// BackupMethod is the method of the backup
type BackupMethod string

const (
	BackupMethodFull        BackupMethod = "full"
	BackupMethodIncremental BackupMethod = "incremental"
)

// BackupCycle is the method of the backup
type BackupCycle string

const (
	BackupCycleDaily  BackupCycle = "daily"
	BackupCycleWeekly BackupCycle = "weekly"
)

type ServerlessUserClusterBackupStatus string

const (
	ServerlessUserClusterBackupStatusUnspecified ServerlessUserClusterBackupStatus = "unspecified"
	ServerlessUserClusterBackupStatusRunning     ServerlessUserClusterBackupStatus = "running"
	ServerlessUserClusterBackupStatusSuccess     ServerlessUserClusterBackupStatus = "success"
)

// RestoreMode is the method of the restore
type RestoreMode string

const (
	RestoreModeUnspecified    RestoreMode = "unspecified"
	RestoreModeSnapshot       RestoreMode = "snapshot"
	RestoreModePiTR           RestoreMode = "pitr"
	RestoreModeVolumeSnapshot RestoreMode = "volume-snapshot"
)

// RestoreStatus is the status of the restore
type RestoreStatus string

const (
	RestoreStatusUnspecified RestoreStatus = "unspecified"
	RestoreStatusPENDING     RestoreStatus = "pending"
	RestoreStatusRUNNING     RestoreStatus = "running"
	RestoreStatusFAILED      RestoreStatus = "failed"
	RestoreStatusSUCCESS     RestoreStatus = "success"
	RestoreStatusFinished    RestoreStatus = "finished"
	RestoreStatusDeleting    RestoreStatus = "deleting"
	RestoreStatusDeleted     RestoreStatus = "deleted"
)

type RestoreActionType string

const (
	RestoreActionTypeCreate RestoreActionType = "create"
	RestoreActionTypeDelete RestoreActionType = "delete"
)

type ServerlessRestoreStatus string

const (
	ServerlessRestoreStatusUnspecified ServerlessRestoreStatus = "unspecified"
	ServerlessRestoreStatusRunning     ServerlessRestoreStatus = "running"
	ServerlessRestoreStatusSuccess     ServerlessRestoreStatus = "success"
	ServerlessRestoreStatusFailed      ServerlessRestoreStatus = "failed"
)

// BucketStatus is the status of the bucket
type BucketStatus string

const (
	BucketStatusCreating BucketStatus = "creating"
	BucketStatusCreated  BucketStatus = "created"
	BucketStatusDeleting BucketStatus = "deleting"
	BucketStatusDeleted  BucketStatus = "deleted"
	BucketStatusEditing  BucketStatus = "editing"
)

// BucketType is the type of the bucket
type BucketExtensionType string

const (
	BucketExtensionTypeDualRegion BucketExtensionType = "dual-region"
)

// BucketScope is the scope of the bucket
type BucketScope string

const (
	BucketScopeCluster BucketScope = "cluster"
	BucketScopeProject BucketScope = "project"
)

// CDCDownStreamType is the type of the CDC downstream
type CDCDownStreamType string

const (
	CDCDownStreamTypeMysql          CDCDownStreamType = "mysql"
	CDCDownStreamTypeKafka          CDCDownStreamType = "kafka"
	CDCDownStreamTypeServerlessTiDB CDCDownStreamType = "serverless_tidb"
	CDCDownStreamTypeS3             CDCDownStreamType = "s3"
	CDCDownStreamTypeGCS            CDCDownStreamType = "gcs"
	CDCDownStreamTypeAll            CDCDownStreamType = "all"
)

// CDCStatus is the status of the CDC
type CDCStatus string

const (
	CDCStatusCreating CDCStatus = "creating"
	CDCStatusNormal   CDCStatus = "normal"
	CDCStatusDeleting CDCStatus = "deleting"
	CDCStatusDeleted  CDCStatus = "deleted"
	CDCStatusError    CDCStatus = "error"
	CDCStatusFailed   CDCStatus = "failed"
	CDCStatusStarting CDCStatus = "starting"
	CDCStatusStopping CDCStatus = "stopping"
	CDCStatusStopped  CDCStatus = "stopped"
	CDCStatusEditing  CDCStatus = "editing"
	CDCStatusScaling  CDCStatus = "scaling"
)

var (
	DeletedCdcStatus  []CDCStatus = []CDCStatus{CDCStatusDeleted}
	CreatingCdcStatus []CDCStatus = []CDCStatus{CDCStatusCreating}
)

type CDCMeteringStatus string

const (
	CDCMeteringStatusInit   CDCMeteringStatus = "init"
	CDCMeteringStatusDone   CDCMeteringStatus = "done"
	CDCMeteringStatusFailed CDCMeteringStatus = "failed"
)

// BizKafkaPrivateLinkEndpoint phases
type PLEndpointPhase string

const (
	// PLEndpointPhaseCreating as initial phase
	PLEndpointPhaseCreating PLEndpointPhase = "creating"
	// PLEndpointPhaseNew means all cloud resource creation requests sent
	PLEndpointPhaseNew PLEndpointPhase = "new"

	// phases are synchronized from cloud resources
	PLEndpointPhasePending           PLEndpointPhase = "pending"
	PLEndpointPhasePendingAcceptance PLEndpointPhase = "pending-acceptance"
	PLEndpointPhaseAvailable         PLEndpointPhase = "available" // can be rejected again in AWS
	PLEndpointPhaseRejected          PLEndpointPhase = "rejected"  // can be accepted again in AWS
	PLEndpointPhaseFailed            PLEndpointPhase = "failed"
	PLEndpointPhaseClosed            PLEndpointPhase = "closed"

	// this two phases are set by data endpoint GC process
	PLEndpointPhaseDeleting PLEndpointPhase = "deleting"
	PLEndpointPhaseDeleted  PLEndpointPhase = "deleted"
)

var (
	PLEndpointProvisioningOrActivePhases = []PLEndpointPhase{
		PLEndpointPhaseCreating, PLEndpointPhaseNew, PLEndpointPhasePending, PLEndpointPhasePendingAcceptance,
		PLEndpointPhaseAvailable,
		PLEndpointPhaseRejected, // can be accepted again
	}
	PLEndpointPhasesInGC       = []PLEndpointPhase{PLEndpointPhaseDeleting, PLEndpointPhaseDeleted}
	PLEndpointPhasesNeedNoSync = []PLEndpointPhase{
		PLEndpointPhaseCreating,                         // cloud resource creation request not sent
		PLEndpointPhaseDeleting, PLEndpointPhaseDeleted, // in GC process
		PLEndpointPhaseFailed, PLEndpointPhaseClosed, // terminal status, no need to sync
	}
)

type ImportStatus string

const (
	ImportStatusUnknown   ImportStatus = "unknown"
	ImportStatusPreparing ImportStatus = "preparing"
	ImportStatusImporting ImportStatus = "importing"
	ImportStatusCompleted ImportStatus = "completed"
	ImportStatusFailed    ImportStatus = "failed"
	ImportStatusCanceling ImportStatus = "canceling"
	ImportStatusCanceled  ImportStatus = "canceled"
)

type (
	DataFormat        uint32
	DataSource        uint32
	ImportTableResult string
)

const (
	ImportTableResultSuccess ImportTableResult = "success"
	ImportTableResultWarning ImportTableResult = "warning"
	ImportTableResultError   ImportTableResult = "error"

	//nolint:lll
	// keep compatible with https://github.com/tidbcloud/dataflow-service/blob/166daf6f3e72284538e93dc1bea94a78c88f0daf/idl/idl/dataflow/dataflow/service.proto#L79-L82
	ImportDataFormatUnknown        DataFormat = 0
	ImportDataFormatSql            DataFormat = 1
	ImportDataFormatAuroraSnapshot DataFormat = 2
	ImportDataFormatCsv            DataFormat = 3
	ImportDataFormatParquet        DataFormat = 4

	ImportDataSourceUnknown DataSource = 0
	ImportDataSourceS3      DataSource = 1
	ImportDataSourceGcs     DataSource = 2
)

type AWSBucketPolicyEffectType string

const AWSBucketPolicyEffectTypeAllow AWSBucketPolicyEffectType = "Allow"

type BackupSettingStatus string

const (
	BackupSettingStatusCreating      BackupSettingStatus = "creating"
	BackupSettingStatusEditingRegion BackupSettingStatus = "editing_region"
	BackupSettingStatusEditingPitr   BackupSettingStatus = "editing_pitr"
	BackupSettingStatusNormal        BackupSettingStatus = "normal"
	BackupSettingStatusDeleted       BackupSettingStatus = "deleted"
)

type BackupSettingActionType string

const (
	BackupSettingActionCreate       BackupSettingActionType = "create"
	BackupSettingActionDelete       BackupSettingActionType = "delete"
	BackupSettingActionModifyRegion BackupSettingActionType = "modify_region"
	BackupSettingActionModifyPitR   BackupSettingActionType = "modify_pitr"
)

const (
	InfraProviderTypeEKS   string = "eks"
	InfraProviderTypeGKE   string = "gke"
	InfraProviderTypeAKS   string = "aks"
	InfraProviderTypeAWS   string = "aws"
	InfraProviderTypeGCP   string = "gcp"
	InfraProviderTypeAzure string = "azure"
)

type RestoreKernelStatus string

const (
	RestoreKernelStatusPending RestoreKernelStatus = "pending"
	RestoreKernelStatusRunning RestoreKernelStatus = "running"
	RestoreKernelStatusFailed  RestoreKernelStatus = "failed"
	RestoreKernelStatusSuccess RestoreKernelStatus = "success"
)

type CloudProviderType string

const (
	CloudProviderTypeAWS   CloudProviderType = "aws"
	CloudProviderTypeGCP   CloudProviderType = "gcp"
	CloudProviderTypeAzure CloudProviderType = "azure"
)

type ChangefeedKernelStatus string

const (
	ChangefeedKernelStatusNormal  ChangefeedKernelStatus = "normal"
	ChangefeedKernelStatusError   ChangefeedKernelStatus = "error"
	ChangefeedKernelStatusWarning ChangefeedKernelStatus = "warning"
	ChangefeedKernelStatusFailed  ChangefeedKernelStatus = "failed"
	ChangefeedKernelStatusStopped ChangefeedKernelStatus = "stopped"
)

type TiCDCClusterBizType string

const (
	TiCDCClusterBizTypeRecoveryGroup TiCDCClusterBizType = "recovery_group"
	TiCDCClusterBizTypeChangefeed    TiCDCClusterBizType = "changefeed"
)

type KernelTrafficBizType string

const (
	KernelTrafficBizType_RecoveryGroup KernelTrafficBizType = "recovery_group"
	KernelTrafficBizType_PrivateLink   KernelTrafficBizType = "private_link"
)

type BizChangefeedOperationStatus string

const (
	BizChangefeedOperationStatusCreating BizChangefeedOperationStatus = "creating"
	BizChangefeedOperationStatusNormal   BizChangefeedOperationStatus = "normal"
	BizChangefeedOperationStatusScaling  BizChangefeedOperationStatus = "scaling"
	BizChangefeedOperationStatusPaused   BizChangefeedOperationStatus = "paused"
	BizChangefeedOperationStatusDeleting BizChangefeedOperationStatus = "deleting"
	BizChangefeedOperationStatusDeleted  BizChangefeedOperationStatus = "deleted"
	BizChangefeedOperationStatusFailed   BizChangefeedOperationStatus = "failed" // create kernel changefeed failed
)

type TiCDCClusterDeployType string

const (
	TiCDCClusterDeployTypeDedicated TiCDCClusterDeployType = "dedicated"
	TiCDCClusterDeployTypeShared    TiCDCClusterDeployType = "shared"
)

type ChangefeedDownstreamNetworkType string

const (
	ChangefeedDownstreamNetworkTypeUnknown               ChangefeedDownstreamNetworkType = "unknown"
	ChangefeedDownstreamNetworkTypeInternet              ChangefeedDownstreamNetworkType = "internet"
	ChangefeedDownstreamNetworkTypeVPCPeering            ChangefeedDownstreamNetworkType = "vpc_peering"
	ChangefeedDownstreamNetworkTypePrivateLink           ChangefeedDownstreamNetworkType = "private_link"
	ChangefeedDownstreamNetworkTypePrivateServiceConnect ChangefeedDownstreamNetworkType = "private_service_connect"
	DownstreamNetworkTypeManuallyPrivateLink             ChangefeedDownstreamNetworkType = "manually_private_link"

	DownstreamNetworkTypeManuallyPrivateServiceConnect ChangefeedDownstreamNetworkType = "manually_private_service_connect"
)

type PrivateLinkBizType string

const (
	PrivateLinkBizTypeKafka PrivateLinkBizType = "kafka"
)

type DNSZoneBizType string

const (
	DNSZoneBizTypePrivateLink DNSZoneBizType = "private-link"
)

type ReplayDesiredState string

const (
	ReplayDesiredStateDeploy ReplayDesiredState = "DEPLOY"
	ReplayDesiredStateActive ReplayDesiredState = "ACTIVE"
	ReplayDesiredStatePause  ReplayDesiredState = "PAUSE"
	ReplayDesiredStateDelete ReplayDesiredState = "DELETE"
)

type ReplayCurrentState string

const (
	ReplayCurrentStatePending   ReplayCurrentState = "PENDING"
	ReplayCurrentStateDeploying ReplayCurrentState = "DEPLOYING"
	ReplayCurrentStateDeployed  ReplayCurrentState = "DEPLOYED"
	ReplayCurrentStateStarting  ReplayCurrentState = "STARTING"
	ReplayCurrentStateRunning   ReplayCurrentState = "RUNNING"
	ReplayCurrentStatePausing   ReplayCurrentState = "PAUSING"
	ReplayCurrentStatePaused    ReplayCurrentState = "PAUSED"
	ReplayCurrentStateDeleting  ReplayCurrentState = "DELETING"
	ReplayCurrentStateDeleted   ReplayCurrentState = "DELETED"
)

// Deprecated: Use ReplayDesiredState instead
type ReplayState string

const (
	ReplayStateUnspecified ReplayState = "UNSPECIFIED"
	ReplayStateDeploy      ReplayState = "DEPLOY"
	ReplayStateActive      ReplayState = "ACTIVE"
	ReplayStatePause       ReplayState = "PAUSE"
	ReplayStateDelete      ReplayState = "DELETE"
)

type ReplayPhase string

const (
	ReplayPhaseUnspecified ReplayPhase = "UNSPECIFIED"
	ReplayPhasePending     ReplayPhase = "PENDING"
	ReplayPhaseCreating    ReplayPhase = "CREATING"
	ReplayPhaseRunning     ReplayPhase = "RUNNING"
	ReplayPhaseStopped     ReplayPhase = "STOPPED"
	ReplayPhaseDeleting    ReplayPhase = "DELETING"
)

type ReplayTaskPhase string

const (
	ReplayTaskPhaseUnspecified ReplayTaskPhase = "UNSPECIFIED"
	ReplayTaskPhasePending     ReplayTaskPhase = "PENDING"
	ReplayTaskPhaseRunning     ReplayTaskPhase = "RUNNING"
	ReplayTaskPhaseStopped     ReplayTaskPhase = "STOPPED"
	ReplayTaskPhaseDeleted     ReplayTaskPhase = "DELETED"
)

type ReplayActionType string

const (
	ReplayActionDeploy   ReplayActionType = "deploy"
	ReplayActionActivate ReplayActionType = "activate"
	ReplayActionPause    ReplayActionType = "pause"
	ReplayActionDelete   ReplayActionType = "delete"
)
